JAWS Scripts For Skype For Business 2016
Doug Lee
Last Revised February, 2020

This document describes the scripts for Skype for Business 2016 (SfB) and provides tips for using this application with JAWS. This document can be opened from within SfB via a double press of JAWSKey+F1 (or Insert+F1).

This document is laid out for easy navigation using JAWS HTML heading navigation commands: H will move through all headings, 2 through major sections, and 3 and 4 through any subsections or subsubsections.

These scripts were made possible in part by funding and resources provided by Level Access while it was known as SSB BART Group, for which this author is most grateful.

Table of Contents

Supported Software

These scripts are written for Skype for Business 2016, the actual application name for which is lync.exe. For simplicity, this document will refer to this application simply as "SfB." These scripts will not work with older SFB / Lync / Microsoft Communicator versions and should not be used with newer SFB versions such as those that come with Office 365. For links to all script sets for other SFB/Lync versions, visit the main Skype For Business script page.

These scripts work in JAWS 16 and later. They will not work with older JAWS versions. Earlier JAWS versions do not include sufficient support for UI Automation (UIA), which is required for scripting this application.

Note: The official names for these Microsoft products are Skype for Business (SFB) and, the older name, Microsoft Lync. These are not to be confused with the consumer-grade Skype products now also owned by Microsoft (Skype 8 for Windows Desktop and Skype UWP for Windows 10). These scripts and this document refer exclusively to the Skype for Business (SfB) that is the rebranded Microsoft Lync. For scripts and documentation pertaining to Skype, refer to the JAWS Scripts For Skype page.

Script Features In Brief

Note: SFB itself provides many commands and features for blind users. Refer to the following Microsoft documents for further information:

These scripts provide the following commands beyond those available in SfB itself. Note that the word "Command" below, when appearing as part of a keystroke sequence, refers to the prefix key for all script command key sequences. By default, this is the left bracket ([) key. See the "Key Sequence Help section for more details on key sequences, including how to change the command key if necessary.

These scripts also provide the following features beyond those provided by SfB itself:

Script Installation Instructions

To install these scripts on a new system:

  1. Load JAWS if this has not already been done. This will require administrative privileges on the computer.
  2. Run JAWS as the user for whom the scripts are to be installed. This and the following steps must be performed for each user of the computer who will be using JAWS with these scripts.
  3. Download and run, or run directly, the installer for these scripts; and follow the on-screen directions. Be sure to install the scripts in the currently running JAWS version if a JAWS version list is presented. Note that there is also an older (revision 376) script version from February 26, 2019 in case the current version does not work with some older versions of the application.
  4. Run the script installer and follow its instructions.
  5. To verify successful installation, type Ins+Q from within the application. Part of the JAWS spoken response should be a revision number. If you do not hear a revision number, the scripts are not correctly loaded.

SfB Configuration For Optimal Use With JAWS

The following SfB option settings may improve SfB's usability via JAWS. These items are located in the Tools/Options dialog (Alt+T O). Switch among pages by arrowing through the treeView of page names. All of the following suggestions are optional.

Tips For Using Skype For Business With These Scripts

To focus the main SFB screen, type Ctrl+Alt+Shift+3 (a native SFB keystroke).

To hear any notifications, such as notice of missed conversations or voicemails, type Ins+T from the main SFB screen. The scripts will make JAWS include these notifications after the screen title and, when applicable, the names of any active tabs on the screen.

To switch quickly among tabs on the main screen, use Ctrl with numbers; for example, Ctrl+1 switches to the Contacts tab. These keystrokes are native to SFB itself and will work with or without the scripts being loaded.

In a tabbed conversation window, use Ctrl+Tab and Ctrl+Shift+Tab to move among conversations. You can also move to the list of conversations by typing Shift+Tab a few times, then use up and down arrows to review conversation names and Space to switch to a particular conversation.

In some lists, such as Contact lists, the JAWS SayLine command, normally Ins+Up, may announce more information than is automatically announced on arrowing among list items or when tabbing into the list. Technically, arrowing among items and tabbing into the list will announce the Name of the item, whereas the SayLine command uses more script logic to determine what to announce. As SFB evolves, the precise content of these announcements may change based on the structure of accessibility information provided by Microsoft for the list items.

Key Sequence Help

These scripts incorporate several commands that consist of sequences of keystrokes, all beginning with a common prefix, or "command key." By default, the command key is the left bracket ([) key; see below for how to change it if necessary.

In addition to the commands documented elsewhere, the following commands are also available, at any level:

If you need to change the command key, type the current command key followed by either JAWSKey+C or Ins+C. An edit box will appear into which you may type your desired command key. The current key will initially appear in the box. Then Type or spell out your desired command key and press Enter to apply the change. If the keystroke requires modifiers like Shift or Ctrl, spell those out; do not simply type, for example, A when you mean shift+a. Example keystrokes exactly as they should be typed:

Warning: If you accidentally set the command key to something you cannot type, you will currently need to edit it in these scripts' .jcf file in the JAWS user directory under the MKCSOptions section.

Known Issues and Workarounds

This script set does not implement the normal chat management command set (Alt with numbers, arrows, Home, End, and NumPad5). SFB does not provide a means, even via scripting, to implement this navigation system. These scripts do provide Alt+1 to read the timestamp of the last received message in a chat window.

In some SFB versions, arrowing or tabbing to a contact in the contact list may announce different information than would be spoken by the JAWS SayLine command, Ins+Up. This is because of variations among accessibility properties provided by SFB itself. Arrows and tabs use just the Name property of the newly focused list item, whereas the SayLine command uses much more involved script logic to determine what to speak. As SFB evolves, the precise content of these announcements may change based on the structure of accessibility information provided by Microsoft for the list items.

As a special case of the above issue, tab and arrows may report outdated information as compared to SayLine; for example, arrowing to a contact may say "Away 5 mins," whereas SayLine might say "away 30 mins." Future versions of SFB will likely be better at keeping these list item names up to date.

Sometimes, pressing Tab from a message in the chat history list will encounter one or more extra tab stops before reaching the chat input box. These may say nothing, "Rich edit control," or the name of a chat participant. It may be more efficient to use Command i to jump directly to the chat input box in such cases. Sufficiently new SFB versions also provide Ctrl+Shift+M as a native keystroke for this purpose.

Arrowing among messages in a chat history list can encounter silent spots, where an up or down arrow appears to do nothing. Continue to arrow past such spots. No information is skipped; it just appears as if arrows now and then fail to leave the current item and move to the next one. This is considered a bug in some older SFB versions but appears to have been fixed in newer versions.

Revision History

This is the revision history of these scripts, most recent revision first.

Revision 385, released February 8, 2020

Revision 376, released February 26, 2019, tested against SFB version 16.0.11231.20174 and about 13 earlier versions released after August, 2018

Revision 365, released August 23, 2018, tested against SFB versions 16.0.10325.20082 and 16.0.10325.20118

Revision 358, released August 15, 2018, tested against SFB version 16.0.10325.20082

Revision 346, released May 22, 2018

This is the first release of this script version. See the menus at the top of this page for access to previous scripts intended for Lync 2013, Skype For Business 2015, and early versions of Skype For Business 2016. These are the changes since the June 13, 2017 release of those scripts (revision 325):