JAWS Scripts For Skype 4.1 User's Guide

This document explains how to use Skype 4.1 with the JAWS Scripts For Skype. This document applies specifically to the Skype 4.1 release of June 30, 2009 (Skype version 4.1.0.136), which contains more accessibility features than available in previous Skype 4 versions. The document is laid out such that major sections are level 2 headers and subsections are level 3 or higher headers. JAWS users can thus navigate quickly among sections with the h command and by typing header level numbers.

Table of Contents

Configuring Skype 4.1 For Use With JAWS

The following steps should be taken before Skype 4.1 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: Some Skype 4 versions provide one or two options to improve accessibility. To turn these on:
    • Type Alt+T for the Tools menu, then A for the Accessibility menu. If you do not find Accessibility in the Tools menu, look in the View menu, which can be opened with Alt+V. Some Skype 4 versions may not provide the Accessibility menu at all. If you don't find it, you probably have one of these Skype versions, and you can skip this change.
    • You will most likely 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. Some Skype 4 versions may not provide both options.
  3. Enable Compact view: Seasoned 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. 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 Features

The JAWS scripts provide the following features over what Skype itself provides:

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

Here are some quick tips on how to do specific things in Skype 4.1 when the scripts are running: These instructions are based on Skype 4.1 as released on June 30, 2009. JAWS users can jump from item to item using the letter i.

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. If you have configured Skype to open a conversation on Enter, rather than starting a call, Enter should work just as well here. Ctrl+1 will focus the contact list.
Return to a conversation that's already open
Use Ctrl+Tab from another Skype window to find it if you use Compact view. You can also press Ctrl+2 for the Conversation list, find the conversation you want, press the Applications key, and choose Send IM. Again, Enter can be configured to do this as well. If you are using Default view, where conversations appear in the main Skype window, you can press Space on a conversation list entry to display the conversation without leaving the conversation list. This makes Alt+numbers and Alt+arrows work without changing focus.
Check the time at a contact's location
Open or find the conversation as above, then use Ctrl+6 to read the profile area. The time is included there. Note that the time is not shown in the Contact list, even visually, as it was in Skype 3.x.
Call someone in your contact list
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. Enter can be configured to start a call or start a text conversation, so depending on your personal preference, Enter may work here as well.. Note that starting a call 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. It will move back when the call ends.
Call the person you're typing with in a conversation
Tab to the Call button and press Space.
Call a phone number that is not in your contact list
Choose "Call Phones" from the View menu. When the Call Phones page opens, type the number and press Enter.
Dial digits while in a call, such as to control an answering machine or voicemail service
Just press the desired digits. Skype 4.1 focuses the Dial Pad whenever you start a call with a telephone number. If this does not work, type Ctrl+Shift+D to focus the Dial Pad first.
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. If you have configured hot keys, a hot key such as Alt+PgDn can also be used to end a call.
Play a voicemail
Find the voicemail's entry in the conversation message list for that person, then Tab to the Play button and press Space.
Stop a playing voicemail
Same as above, but the button will be called "Stop" when the voicemail is already playing.
Accept or refuse an incoming file transfer
Find the file transfer's entry in the conversation message list for that person, then Tab to the Save or Cancel button and press Space.
Change your mood text
In the main Skype window, tab until you hear the words "mood message" and either your current mood text or a message like, "Add video or write a message here for your friends to see." Press Space there to open an edit box, even though JAWS may not have said "button" or "link." Type your message and press Enter to leave the edit box.
Use the Skype directory
Choose "Directory" from the View menu in the main Skype window to open the Directory page. I have not tested this area of Skype very thoroughly for accessibility however.
Use the "Shop" feature of Skype
Choose "Shop" from the View menu in the main Skype window to open the "Shop" page. You may then need to press Tab once to get JAWS to recognize the page as an HTML environment.

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.

Translating the Scripts Into Another Language

Translating the scripts, as of script version 4.1d, should only involve editing the jsm and jsd files, not the code (jss) files.

Script translation will involve two kinds of translation, described in the following two subsections.

JAWS output translation

This is translation of what JAWS will say to the user. This requires

Translating "msg" constants should be fairly self-explanatory. Where necessary, the jsm file should include comments above a constant explaining how and/or where it is used, to provide necessary context for the translation.

Translating a jsd file involves careful translation of only those parts of the file that are descriptive text that can be spoken to the user. Descriptive text appears on the following line types:

Upon completing this type of translation, whatever script code functions properly in the target language should speak in that language. However, another type of translation is often required to achieve correct script functionality in another language.

Skype text translation

This is translation of text that is contained in Skype and that the scripts need to check for. Translating this text is not merely a translation into appropriate text in the target language. Rather, the new text must precisely match what Skype itself will show or provide for the string being translated. Strings of this type will appear in jsm files as constants or messages and will usually begin with "sc."

As an example of why this type of translation is necessary, consider a hypothetical screen containing many fields, one of which is a "Home Phone" field. The "Home Phone" field contains a button which, when pressed, brings up a list of area codes and their countries. This button is not natively accessible though, so a hypothetical script is written to make F4 pop up the area code and country list, but only if pressed on the "Home Phone" field. In another language of the application, "Home Phone" will be written in that language. In order for the F4 script to work, it must know exactly what the application will use for the name of the "Home Phone" field in the target language. Translating "Home Phone" arbitrarily will not work, because the script code will look for the actual screen text shown by the application.

Some literal text sought in Skype by the scripts appears visibly on screen, but some text is drawn from MSAA properties that are not shown visibly. For this reason, it is not always possible to determine what text to use just by looking at screens.

Suggested steps for finding the text to use for this type of translation:

  1. Pick a string to translate and find it in Skype itself, while running with Skype in English. If the text does not appear on screen, note the area it should apply in, such as Conversation list items.
  2. Save a copy of Skype's English language file, then also a copy of Skype's language file for the target language. These can be saved from Tools > Change Skype Language > Edit Skype Language File. Use the "Save as" button to save a copy of the files.
  3. Find the string you are translating by searching for it (or part of it) in the English language file. There may be more than one match; use the string names at the left of each line, which tend to denote where the string is used or relevant, to figure out which string you want.
  4. Using the string's name from the English file, find the translation of that string in the target language's file.
  5. Replace the jsm English text as appropriate with the text you found in Skype's target language file.

If a particular string proves hard to understand or translate, describe the problem on the SkypeEnglish mailing list so someone there (possibly me) can help.