JAWS Scripts For Skype 4.x

Revision 41d

This is the third full public release of scripts for Skype 4.1. This release is for Skype 4.1.0.136 and newer, not older Skype versions like 4.0, or 3.8, or even older Skype 4.1 betas before 4.1.0.136. It is expected to work with Skype 4.x versions beyond 4.1, though of course this is not tested yet since they don't yet exist. A JAWSKey+Ctrl+V should tell you your current Skype version number.

Updates and New Features

Download: Revision 41d executable installer | Revision 41d source and JAWS 7-10 binaries

Revision 41c

This is the second full public release of scripts for Skype 4.1. This release is for Skype 4.1.0.136 and newer, not older Skype versions like 4.0, or 3.8, or even older Skype 4.1 betas before 4.1.0.136. It is expected to work with Skype 4.x versions beyond 4.1, though of course this is not tested yet since they don't yet exist. A JAWSKey+Ctrl+V should tell you your current Skype version number.

Updates and New Features

Download: Revision 41c executable installer | Revision 41c source and JAWS 7-10 binaries

Revision 41b

This is the first full public release of scripts for Skype 4.1. Skype posted the first Skype 4.1 version on June 30, 2009.

Very important note: This script set is for the public Skype 4.1 releases only. Do not use this version with any older Skypes, not even 4.1 beta versions. The specific Skype version numbers for which these scripts are valid are 4.1.0.136 and 4.1.0.166. A JAWSKey+Ctrl+V should tell you the version number, as will the Help/About box, though you'll have to pick the version number out of a lot of speech if you use that method, because the JAWS cursor will not find the text of that box in Skype 4.1.

There is also one word of warning below that I recommend everyone read before downloading and installing these scripts.

Updates and New Features

SkypeWatch works again as it did in Skype 3.8! Use the JAWS Verbosity Options "SkypeWatch Messages Enabled/Disabled" to turn on/off the whole feature, and use the Skype Options > Notification Settings checkboxes to pick which things will be reported. Every one of them should now work. The installation procedure for SkypeWatch, sorry to say, has not improved though.

Alt+numbers/arrows in a conversation will tell you when a message is new, not delivered, or edited.

F2 will work in the Contacts list to rename a contact instead of trying to toggle chat message time announcement.

Pressing Alt+Shift+F4 twice quickly will close Skype immediately, ending any active file transfers, calls, etc., without asking for further confirmation. This is to work around the Skype 4.1 public release's problem with letting us use the system tray icon and its context menu.

If you have unloaded and reloaded JAWS or loaded and unloaded another screen reader and managed to confuse Skype into thinking there is no screen reader running, the scripts will now detect this and tell you about it after trying to fix the problem behind the scenes. This alert will come in the form of a fairly conspicuous and unusual BEEP sound, followed by about a second or two's pause, followed by the display of a virtual buffer describing the problem and what to do about it, including a link to a lot more info on the issue.

Announcement of new conversation after Ctrl+Tab is more reliable. Sometimes it was silent before. It may now speak twice when it was silent before, but I figure this is better than silence.

JAWS is better able to recognize conversation windows right after a switch from Compact to Default view. This applies to Ctrl+Tab and other conversation-switching and listing commands.

Ctrl+Shift+L does what Command C Ctrl+L does, brings up a conversation list. This is for people that have a lot of conversations open at once.

There is now support for the Skype Extras Manager in the scripts. Once in the Skype Extras Manager, type JAWSKey+H for a summary of how to use it with JAWS and the scripts. The way to enter the Skype Extras Manager is

  1. Choose Extras from the Tools menu in the main Skype window. This is a submenu.
  2. Press Enter on "Get Extras" or "Organize Your Extras" in that submenu. This should land in a list of categories, from which you can arrow to a category and Tab to explore its contents.

A Word of Warning

This script set uses a feature that helps JAWS read the About box by virtualizing it. The feature is present in JAWS 7.0 through 10.0, but there is some question as to whether it will remain present in future. The feature has the unusual side effect of making all of your installed JAWS versions virtualize the About box if you have done it once in any one JAWS version on that computer. This shouldn't hurt anything and will probably help instead, but it is unusual enough to deserve mention. This feature will not work in, and will have no effect on, JAWS versions older than 7.0.

Known Issues

Fields in the Options dialog may not be named as well now. Skype actually included a lot more field names, but apparently something changed right before this Skype release in how group boxes are named, so that JAWS is not speaking the names even when they are there. I have to research this issue further, but again, I think this is an incompatibility between Skype 4.1 and the current scripts, not between Skype and JAWS itself. To get an idea what JAWS should say when things are working right, try JAWSKey+Tab on fields in the Options pages.

Download: Revision 41b executable installer | Revision 41b source and JAWS 7-10 binaries

Revision 41a

This is an update to the scripts for Skype 4.x, following from version 40c. This is the first script set written against Skype 4.1 though - Skype 4.1.0.130, a public beta released by Skype on May 27, 2009. These scripts will probably also work with Skype 4.0 versions, though this has not been well tested.

Note: A JAWS restart is recommended after installing these scripts, because the names of a number of global variables have changed, and the old ones can only be cleared out of memory by a JAWS restart..

User Visible Changes

A double JAWSKey+F1, the standard command for accessing JAWS script help documents, will take you to an online documentation page describing how to use Skype 4.1 with the scripts. This feature is long overdue, and though I'm sure the online documentation is in need of updating, it is at least a central starting point, better than having to fish for info among all the release notes for the various Skype script releases.

F2, typed from within a conversation, will turn on and off JAWS' announcement of timestamps with text messages, if you have enabled the display of timestamps in Skype itself. This is similar to how F2 works in AIM. The virtual display of text messages will also be affected.

Alt+Numpad5 will now say the position of the current message in addition to its contents.

Users that sometimes heard nothing when backspacing in a text message input box should now hear characters as usual. This script update fixes a few possible causes of that problem.

JAWS 9 no longer beeps on arrows, SayLine, etc., in the History list. The History list is also more appropriately named (perhaps not in Braille though).

JAWS auto-announces questions like the one about holding the current call to make a new one. Also, Ctrl+Shift+E deals with that window instead of the Accounts panel when it applies. Controls in such a box can now be reached with the Tab key, as Skype itself made this possible.

Double Ctrl+numbers no longer switch to the JAWS cursor and restrict it. A double Ctrl+6 focuses the profile area, and it also works in more windows.

If you leave the new Chrome menus in effect in Skype, the scripts will try to make them speak. Turning these off is still recommended though.

If you open the Help/About box and try to move to another window or application without first closing it, the scripts will close it for you to keep it from interfering with other windows and applications.

Any Braille display users who sometimes heard "Unknown function call to JCPBrailleHelper" should no longer hear that message.

Users of JAWSKey+V may have noticed that the clipboard could get overwritten with a funny-looking string of verbosity option info in certain situations. This is now fixed.

The script installer includes some attempts to fix a problem wherein some users are told they have no valid JAWS language folder.

Internal Changes

The following are internal changes, visible mostly to coders and curious souls who look at the code:

This script version officially ends my use of jsl files in public projects, which means fewer files in the script set. Any jsl files from previous scripts will not be deleted when you install this update, however.

The names of most functions and global variables used in the Skype scripts have been changed to make them unique enough not to collide with other scripts that one might have running alongside the Skype scripts. This was not a frequent problem but did happen to some people.

A number of functions from Skype 3 scripts no longer used in Skype 4 have been removed.

Known Issues In This Release

These are the known issues with this release, latest-found first:

06/05/2009: Under certain conditions, Skype can fail to realize that a screen reader is running. The result is severe disfunction with JAWS and the Skype scripts, such as inability to read the contact list, reading an entire list when you press an arrow key, Alt+numbers and Alt+arrows not working in chats, etc. Causes of this problem include

This issue is fully documented, along with ways of working around it, on a separate Screen Reader Not Detected page. In short though, Skype must be restarted, and if you used another screen reader, you should close all screen readers including Narrator, then restart JAWS, then restart Skype. Future Skype releases are expected to avoid this situation in most cases, although part of the cause of this problem is based in Windows itself.

05/28/2009: The spoken and Brailled item count and position for the Tools/Options page tree are wrong. Should do the following:

05/27/2009: The online documentation page should list PageUp and PageDown as keys that move among groups in the Tools/Options page tree.

05/28/2009: The script installer says the scripts are for Skype 4.0. Fixed for next release; now says 4.1.

05/28/2009: The "SkypeWatch Messages Enabled/Disabled" option in Verbosity Options is missing. Fixed for next release.

05/27/2009: JAWS repeats labels on several controls in the Tools/Options pages. Fixed for next release: Skype itself now labels many of those, so the script code to label them became redundant. The next script release will probably therefore be intended for Skype 4.1 only, not 4.0.

Download: Revision 41a executable installer | Revision 41a source and JAWS 7-10 binaries

Revision 40c

This is a minor update to the scripts for Skype 4.0 that makes SkypeWatch report incoming calls as in Skype 3. The rest of SkypeWatch remains inactive because there is insufficient information to implement everything in Skype 4.

The read-last-notification command, Alt+Shift+F9, will again work to repeat the caller's name. The Skype Command system will also let you examine previous incoming calls, as in Skype 3.

Note that SkypeWatch is not enabled by default; it must be activated as described on the Script Installation Instructions page on this site. Once done though, the activation should not be needed again for that JAWS version.

As part of this update, I am also making JAWS do a couple little things to ease interpretation of who is calling:

Download: Revision 40c executable installer | Revision 40c source and JAWS 7-10 binaries

Revision 40b

This is a minor update containing a number of small improvements. This page documents the updates in both revision 653a (for Skype 3.x) and revision 40b (for Skype 4.0).

Updates In Both 3.x and 4.x Scripts

ChangesIn Skype 3.x Scripts Only

Changes in the Skype 4.0 update only

A couple of warnings:

Thanks to Maya from Russia, Gordan Radic, and others who helped me with this update by creating the Skype emoticon dictionary, the emoticon list for the Ctrl+Shift+M command, and some code from which I drew to create the actual Ctrl+Shift+M command.

Download: Revision 40b executable installer | Revision 40b source and JAWS 7-10 binaries

Revision 40a

This is a minor update for Skype 4.0 containing a number of small improvements as follows:

Download: Revision 40a executable installer | Revision 40a source and JAWS 7-10 binaries

Revision 4b3b

This is a fairly significant update to the scripts for Skype 4 beta 3. This is also the first set of scripts intended for use with the official Skype 4.0 release. This script version should only be used with Skype 4 beta 3 and the Skype 4.0 release.

Included features and fixes:

Download: Revision 4b3b executable installer | Revision 4b3b source and JAWS 7-10 binaries

Revision 4b3a

This is a beta release of JAWS scripts for Skype 4.0 Beta3. Unlike previous beta scripts for Skype 4 beta, this release is specifically aimed at Skype 4.0 beta3, not any older Skype 4 beta version.

Table of Contents

Script Name Scheme Change

With this release, the naming scheme for Skype script releases is changing slightly. The previous release was called "4b4," implying that this release would be called "4b5." The "4" and "5" indicated how many beta script versions for Skype 4 had been released. The name of this release is "4b3a": The "4b3" means they're for Skype 4 beta3, and the "a" means this is the first release of scripts for that Skype version. If there is another script release for Skype 4 beta3, it will be called "4b3b."

Things That Don't Work Yet

I'm putting this section near the top of this document so potential users of Skype 4 beta will be aware of these items ahead of time.

The following items appear not to be accessible for screen reader users at this time:

The following items are not yet included in Skype 4, even for sighted users:

Configuring Skype For Use With JAWS

The following steps should be taken before Skype can work effectively with JAWS and these scripts:

  1. Change to Classic Windows format: JAWS will not see the menu bar if you use the default "Skype" window format instead of the old "Classic Windows" format. To change this:
    • Type Alt+T for the Tools menu, then O for the Options dialog. You should land on the General Settings page.
    • Tab a few times to find the option that says, "Visual style of the window." If this is set to "Skype," press DownArrow once to change it to "Classic Windows."
    • Save the change by pressing Enter, or if you're not running the scripts yet, Tab to "Save" and press Enter there.
  2. Enable accessibility features: Skype provides a couple of options to improve accessibility. To turn these on:
    • Type Alt+T for the Tools menu, then A for the Accessibility menu. You will land on "Extended Keyboard Navigation."
    • If this option or the "Simplified Graphics" option below it is not checked, press Enter on it to check it. This will also close the menus.
    • Repeat the previous two steps until both items are checked, then Esc out of the menus when this is done.
  3. Enable Compact view: Skype 3 users may want to turn on the Compact view, which puts chats, now called "conversations", into separate windows so they can be reached via Alt+Tab. These scripts also make Ctrl+Tab work in Compact view. To enable this view:
    • Type Alt+V for the View menu, then UpArrow to find the "Compact View" line. If you instead find "Default View," you are already using Compact view.
    • If you find "Compact view," press Enter to turn the view on. This will probably open a conversation window immediately. If so, you can use Esc to close it and return to the main Skype window.

JAWS Script Commands and Features That Work In Skype 4 Beta3

These commands and Features currently work well enough for use when the scripts are active:

How To Do Various Things In Skype 4 With the Scripts Running

Here are some quick tips on how to do specific things in Skype 4 when the scripts are running:

Open a new conversation (like a chat in Skype 3)
Press the Applications key on a contact entry in the Contact list, then choose Send IM. Ctrl+1 will focus the contact list.
Return to a conversation that's already open
Press Ctrl+2 for the Conversation list, find the conversation you want, press the Applications key, and choose Send IM.
Check the time at a contact's location
Select the contact in the Contact or Conversation list. If using Default view, type Ctrl+6 to read the profile area for the selected contact. If using Compact view, Alt+Tab to the conversation window you just opened when you selected the contact, then use Ctrl+6.
Call someone
From the Contact or Conversation list, arrow to the contact of interest, pop up the Context menu by pressing the Applications key, and select Call. This will put the conversation in the Live Conversations list rather than the Conversation list. By the way, when a call is active, that person's entry in your contact list will be gone; it literally moves from Contacts to the Live Conversations list.
Hang up a call
Use Ctrl+3 to move focus to the Live Conversations list, select the call, and use the Context menu to select End Call. The person's entry will migrate back to the Contacts list after a few seconds.
Play a voicemail
Find its entry in the chat message list for that person, double-press the corresponding Alt+number to virtualize the line, and press Enter on the "Play" link in that view.
Stop a playing voicemail
Same as above, but the link will be called "Stop" when the voicemail is already playing.
Accept an incoming file transfer
Use Ctrl+5 to get to the message list in the conversation of interest. Scroll to the line in that list that names the file being sent. RouteJAWSToPC and go down a line or so to find the "Save as" button. It will not say "button," but left-click it with the JAWS LeftMouseButton command. This procedure should improve when better accessibility is provided for file transfers.
Change your mood text
  • Use JAWSKey+F8 and press Enter on the line containing your current mood text, or containing something like "Add a message or video here for your friends to see" if you don't yet have a mood text message.
  • If you don't see that, press Enter on the line containing your name, then repeat the above step.
  • You should now be in the mood text edit box. Change the text to your liking and press Enter.

The following items in Skype 4 have not yet been evaluated sufficiently to establish a procedure for access:

New Since 3.x

This is a summary of things that will be new to seasoned Skype 3.x users. This is far from a complete list.

Obsolete Script Commands

The following features of the JAWS scripts for Skype 3 will not work in Skype 4 and may never be revived, at least in the same form, due either to being obsolete or to there being insufficient means to implement them again. Typing most of these commands will now pass the keystrokes to Skype, as these keystrokes are no longer assigned to JAWS scripts.

Known Issues With Skype 4 and Skype 4 Scripts

This is the master list of known issues to date. At present I am formatting this as a bullet list for easier reading with JAWS, though visually it would look better as a table. When an item says, "Referred to Skype for fixing," that means there is an official bug report for that issue on file at Skype that is already scheduled to be addressed.

Download: Revision 4b3a executable installer | Revision 4b3a source and JAWS 7-10 binaries