Using the JAWS Scripts For Skype for Windows Desktop 8 (Electron)
Last Revised July, 2019
This Guide provides tips for using Skype for Windows Desktop version 8 with JAWS For Windows and these scripts.
These scripts and this documentation apply to Skype for Windows Desktop 8 (an Electron app).
In this document, this Skype version will be referred to simply as Skype 8.
When the scripts are installed and Skype 8 is open and focused, this document can be
opened via a double press of JAWSKey+F1 (or Insert+F1).
Table of Contents
These scripts require
JAWS 17.0 or greater. (JAWS versions prior to 17.0 do not support web site specific scripts,
and Skype 8 runs inside a Google Chrome window.)
The current scripts are most carefully tested under JAWS 2019.
Note: As of August, 2019, running these scripts under JAWS versions older than the JAWS 2019 August update will require the companion Script Load Manager (slman) scripts
to manage Electron app script loading for your JAWS version.
To install these scripts on a new system:
- Load JAWS if this has not already been done. This will require
administrative privileges on the computer.
- 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.
- 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.
- To verify successful installation, type Ins+Q while
Skype 8 is in focus. 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.
If you are using an old JAWS version, it may be necessary to install or reinstall the Script Load Manager (slman) scripts to manage Electron app script loading for your JAWS version.
This section and its subsections provide tips for using Skype 8 with JAWS and these scripts.
Skype 8 provides several keyboard shortcuts. These work with or without JAWS or these scripts.
Microsoft maintains a list of the native shortcuts on
the "What are hotkeys and how do I use them in Skype?" page,
which also lists hotkeys for other Skype versions on Windows and other operating systems.
Be sure to select the correct tab ("Hotkeys in Skype for Windows Desktop") for this Skype version. Tabs are located under the hotkey table near the bottom of the page.
Most Skype 8 script commands are key sequences rather than multi-key combinations. This is to avoid collisions between script commands and
native application keystrokes.
All such key sequences start with a common prefix key, a left bracket ([) by default.
Users can change the prefix key if necessary by typing [ followed by JAWSKey+C or Ins+C. The change will
survive across script and JAWS updates.
In this document, the prefix key will be called Command; thus, by default, Command e means type [
followed by e.
As of September, 2018, and in coordination with JAWS 2018 and 2019 Skype scripts released by Freedom Scientific, some commands have duplicate keystrokes and/or sequences so that users of the built-in Skype scripts will not need
to learn different ways of accessing the same features.
In the below list, Ins refers to the Insert key. The CapLock key will also work in place of Ins when the Laptop keyboard layout is in effect.
The scripts provide the following commands:
- Command e moves focus to the chat input edit box for the displayed conversation, if there is one.
The JAWS command Ctrl+Ins+e and the JAWS sequence Ins+Space q e also work.
In sufficiently new revisions of Skype 8, Alt+Shift+e works natively as well.
- Command h moves focus to the displayed conversation's chat message history list.
The JAWS command Ctrl+Ins+y and the JAWS sequence Ins+Space q h also work.
- Alt+1 moves focus to the Conversations list (this is not actually a script command but a native Skype command.)
The JAWS command Ctrl+Ins+n and the JAWS sequence Ins+Space q c also work.
However, these scripts simply translate those commands into Alt+1, whereas the built-in JAWS Skype scripts implement these commands by directly setting focus to the Conversations list. The behavior of these commands
in these scripts versus in the built-in scripts may therefore differ from time to time.
- Command t announces who is typing in the displayed conversation.
- The standard JAWS Quick Settings command, JAWSKey+v, includes settings specific to these scripts:
- "Typing Sounder," checked by default, causes a sound to play while someone is typing in the current conversation.
- "Typing Announce" causes JAWS to announce who is typing each time this changes. This option is unchecked by default because Skype 8 natively says "Typing" whenever someone starts typing.
- Command w opens the home page for these scripts in the default web browser.
- Ins+F1, typed twice in quick succession, opens this document in the default browser.
The scripts also provide the following features:
- The JAWS virtual cursor is turned off each time Skype 8 takes focus, to simplify navigation.
The built-in JAWS Skype 8 scripts also do this as of this writing.
Use Ins+Z while in Skype if you want to turn the virtual cursor on or back off manually.
- JAWSKey+B, the standard JAWS command for reading a dialog in tab order, works with most if not all Skype 8 screens.
- JAWSKey+Q, along with announcing the active configuration name, will announce the revision number of these scripts.
- The JAWS
SayWindowTitle command, Ins+T, includes the number of unread messages when displayed, and also the name of the active conversation if there is one, or "Home" if not.
When a conversation is displayed and such information is available, the conversation contact's presence information and/or mood text is also included.
When a call arrives in Skype 8, signaled by the incoming call sound, focus Skype and then Tab to see caller information and buttons for handling the call.
This is made much easier by assigning a global Windows shortcut keystroke to launch the Skype window. To do this:
- Move to the Windows Desktop, such as with Win+m.
- Find the "Skype" icon using arrow keys, and type Alt+Enter to open the Properties page for the shortcut.
- Tab to the "Shortcut key" box, then type your preferred shortcut key combination, such as Ctrl+Alt+Shift+K.
- Press Enter to save the assignment. Now to focus Skype, just type the key combination you entered.
Use Alt+1 to focus the conversation list.
This was Alt+2 in the classic Skype for Windows Desktop.
Sometimes, such as after a Search via Ctrl+Shift+s, it may take two invocations of Alt+1 to focus the Conversations list. This is native Skype behavior.
Press Enter on a conversation in the Conversations list to display the conversation and place focus in the input edit box for it.
In the event focus does not land in the input box, use the scripted Command e sequence to move focus there.
Use Alt+2 to pop open the contact list. This was Alt+1 in the classic Skype for Windows Desktop client.
Since the contact list is searched by the "Search Skype" box (quickly reachable with Ctrl+Shift+s), it may rarely be necessary to
open the contact list directly.
A fast way to start a new conversation:
- Type Ctrl+Shift+s to focus the "Search Skype" box.
- Type the name or partial name of your intended contact, then Tab several times to reach the search results.
- Use Up and Down arrows to find your intended contact.
If at first you do not find the contact, go through the results again as the list may be updated over time as more matches are found.
- Press Enter to open a conversation and focus the input edit box.
If focus does not land in the input box, use the scripted Command e sequence to move focus there.
- To call the contact immediately once the conversation is displayed, type Ctrl+Shift+P for a voice call or Ctrl+Shift+K for a video call.
Warning: The Ctrl+Shift+P and Ctrl+Shift+K hotkeys for making voice and video calls will call the
displayed contact, not the contact whose entry is focused in the conversation list if that is a different contact. To be sure you are
calling the correct contact while navigating the conversation list, press Space
or Enter before making a call.
In a conversation history list, there may be an entry like "Conversation read up to this point by one person." Pressing Tab on this entry will focus a button with the same name. Pressing Enter (not
Space) on this button will bring up one or more buttons indicating who has read the conversation up to this point.
Arrows will move among buttons when more than one are present.
Pressing Enter on any button in this set will bring up the corresponding person's profile. Press Esc to close the set of buttons and return to the conversation history list.
Focus may actually land on the "Conversation has been read..." button, but arrows will again move through history entries.
Issues shown in this section may be fixed in future script and/or application
revisions but are not addressed as of this writing.
There is not the usual system in these scripts for navigating among chat messages. Historically this has been done with Alt with
numbers to read recent messages, and Alt with arrows, Home, End, and NumPad5 to read
sequentially while keeping track of a current position.
Early implementations of Skype 8's chat message list did not appear to afford this type of navigation.
Opening this document from within Skype 8 by typing Ins+F1 twice in quick succession may leave the JAWS virtual cursor inactive. Use Ins+Z to turn the virtual cursor back on if this occurs.
Arrowing through a chat participant list while constructing a group chat may occasionally become slow. Alt+Tab out of and back into Skype if this occurs.
This solution should work under JAWS 2019 but possibly not under any older JAWS version.
The cause of this issue is not known.
Under JAWS versions older than 2019,
leaving and returning to Skype via Alt+Tab or other means may, depending on the active screen, cause the scripts to unload and to be replaced with the scripts for Google Chrome. Much effort has gone into mittigating
this situation, but it still occurs due to differences in how various JAWS versions load scripts for Electron applications.
The following tricks may help:
- Use Insert+q at any time while in Skype to find out whether the scripts are loaded. If so, the response will begin with a revision number.
- Move to a different control in the screen, such as a button, and try again.
- Type Ctrl+Insert+Esc to reload all scripts and configurations, then Tab and see if the scripts load.
Braille support is not complete.
This is the revision history of these scripts, most recent revision first:
- Revision 137, December 16, 2019, tested against Skype 126.96.36.199
- Typing indicator sounds and announcements, when enabled by the user, work in Skype 8.55, where their structure in Skype itself changed slightly.
- Navigation in a conversation's chat message list will announce some material that was previously not spoken:
There may be other special message types that say more than before.
- For a voicemail, the amount already played.
- For a completely played voicemail, the correct length - though "0 seconds" still speaks first until Skype itself fixes that issue.
- For a finished call, the duration of the call.
- Revision 130, August 30, 2019, tested against Skype 188.8.131.52
- Fixed the command sequence for changing the scripts' Command key, by default [ JAWSKey+c, so it stores the result in the correct file. This bug was an unexpected interaction between the Script Load Manager
(SLMan) and the Skype scripts, and thus would only have affected users of JAWS versions older than the last August update to JAWS 2019.
- Revision 128, August 23, 2019, tested against Skype 184.108.40.206
- This script update no longer includes code to attempt self-loading into JAWS versions older than the August 2019 update. Use the companion Script Load Manager (slman) scripts
to make these scripts function in older JAWS versions.
If you are upgrading these Skype scripts, install the Skype script upgrade before installing the Script Load Manager.
- The JAWS
SayWindowTitle command, Insert+t, will announce contact online status and/or mood text when available in a split-out conversation window, just as for a conversation in the main Skype window.
This improves support for the Skype 8.51 split-view mode.
- Revision 123, July 24, 2019, tested against Skype 8.50
- Added protection against repeated, per-JAWS load restart requests to restart JAWS again.
These could occur in a rare circumstance, though at this writing no instances of this have been reported.
- Revision 121, July 10, 2019, tested against Skype 8.48 and 8.49
- JAWS again announces dates as you arrow past them in chat history.
- The scripts attempt to reconfigure their own loading strategy based on your JAWS version. This may cause you to be prompted to restart JAWS once on first using this updated script set; this is normal.
The purpose of this adjustment is to try to make the scripts load reliably in each of JAWS 17, 18, 2018, and 2019, despite differences among JAWS versions in how scripts are loaded for Electron apps.
- Revision 113, April 18, 2019, tested against Skype 8.43
- Very long chat messages should read completely on arrows and
SayLine rather than being truncated at approximately 1,000 characters.
- Spoken messages produced when a chat message is sent, with or without editing, should be normal in Skype 8.43 rather than being control names like "MessageComposer.MessageEditedLabel."
- Revision 102, February 12, 2019, tested against Skype 8.38
- The checkbox lists seen while creating group chats are supported. Note that, as currently implemented in Skype, Enter rather than Space toggles checkboxes in these lists.
Also beware that navigation in these lists may be very slow and require frequent
SayLine commands under JAWS versions older than 2019.
- By default, a sound plays while someone is typing into the current conversation.
JAWS can also announce who is typing each time this changes, though this feature is disabled by default to avoid duplicating the native "Typing" announcement made by Skype 8 itself.
Both of these new features can be turned on and off from Quick Settings (JAWSKey+v).
- The long documented Command t command for checking who is typing now works as intended.
skypeelectron.jcf is no longer overwritten during a script install or update. Instead, the installer makes sure that required settings exist in it. This prevents script updates from resetting user preferences.
skypeelectron.jsm, accidentally omitted in the previous release, is now included. This will be useful to script translators.
There is now also a
- There are further refinements to the support for JAWS 17, 18, and 2018 to try to make sure the scripts load as expected under those JAWS versions.
- This documentation is updated to reflect a change or two in native Skype keystrokes since Skype 8's initial release.
- Revision 86, February 6, 2019, tested against Skype 8.38
- Command h works in Skype 8.38. Tested in regular, private, and SMS message windows.
- JAWS versions starting with the January update to JAWS 2019 should not say "region" after every chat history entry.
- The scripts make an attempt to reconfigure their own means of loading in JAWS 18 and older, and in old versions of JAWS 2018.
- Source code to the scripts is no longer included. See my Script Distribution Policy document for details. As one side effect, this will cause installation to run much faster.
- Revision 73, November 29, 2018, tested against Skype 8.32 through 8.34
- Speech and Braille indicate chat history dividers like "Today" and "Yesterday" as they are jumped over during history navigation with arrows. This material is spoken in a lower voice to distinguish it from the newly
selected history entry.
- Documented how to find out who has finished reading messages in a conversation.
- Supported a few features of the built-in JAWS 2018 and 2019 Skype 8 scripts by borrowing code from them:
- Improved speech on Alt+Tab into Skype.
- Support for the native JAWS 2018 and 2019 keystrokes for moving to chat input box, chat history list, and Conversations list.
The Conversations list command though uses the native Skype Alt+1 command here instead of a UIA refocus algorithm as in the built-in JAWS scripts.
- Revision 60, August 31, 2018, tested against Skype 8.28
- Fixed a bug resulting from changes to support the August JAWS 2018 update: Changing the Command key from its default of [ to another key works again.
- Revision 59, August 22, 2018, tested against Skype 8.28
- Updates to improve support for the August update to JAWS 2018, and a few general improvements:
* These additions are adapted from the Skype 8 scripts that shipped with the August update to JAWS 2018.
- Fixed notification announcements like "Message sent" for the August JAWS 2018 update.
- Avoided double loading of scripts caused by a change in how JAWS 2018 loads scripts for Electron apps. This change may cause JAWS to say "Reloading" once after any update to these scripts is installed.
- Braille and the
SayLine command work in chat history lists.*
- JAWS does not say "region" on every chat history list entry as the user arrows among them.*
- Command h works in an active call when the chat area is shown.
- Revision 47, August 14, 2018, tested against Skype 8.27 and 8.28
- The standard JAWS command for reading dialogs in tab order, Ins+B, should work on most if not all Skype dialog screens.
- This Guide includes the script revision history.
- Revision 45, July 23, 2018, tested against Skype 8.25
- In addition to the conversation name when a conversation is shown, the JAWS
SayWindowTitle command, Ins+T, will say the active conversation contact's presence information and/or mood text when available.
- Arrows that were inappropriately silent during navigation with the virtual PC cursor should now speak normally.
- JAWS should no longer repeat "Skype Preview" and "file://Index.html" during navigation with Tab and Shift+Tab.
- A small typo in the script users guide that may have caused some text to be displayed in an unusual font is fixed.
There are also two typos fixed in commands in the "Useful Tips" section of the guide; thanks to Michele Barbi for catching those.
- Revision 39, July 17, 2018, tested against Skype 8.25
Skype 8 users should upgrade to Skype 8.25 if not already done before downloading this script update. Changes:
- Command h, the command to move to chat history, works in Skype 8.25.
- Alt+1 works properly and natively in Skype 8.25 and is therefore no longer scripted. The command now works with and without these scripts.
- Ins+T includes the displayed unread message count and also the name of the active conversation if there is one, or "Home" if not.
- The user guide for these scripts now calls this Skype version "Skype 8," as Microsoft seems to do, rather than "Skype Electron."
- Up and down arrows no longer say 'blank' sometimes before reading the next/previous entry in a chat history list.
SayAppVersion (Ctrl+JAWSKey+V) says the full Skype version including the build number.
- the installer will try drives D and E along with C for location of JAWS program when unable to read the registry.
(This was prompted by an actual event at a corporate work site.)
- Revision 28, April 20, 2018, tested against Skype 8.19
- The Alt+1 command for moving to the conversation list works in Skype 8.19, though a Tab is necessary after this command before arrows will navigate the list.
- Translators: Translate the
sutil___scConvList value in
skypeelectron.jsm into the name of the conversation list to make the above feature work. Be careful to preserve letter casing.
- Revision 21, February 26, 2018, tested against several Skype Electron versions up through 8.16
Fixed Ins+T's ability to name conversations in many cases.
- Revision 20, February 25, 2018, tested against several Skype Electron versions up through 8.16
This is the first release of these scripts.