JAWS Scripts For Skype - Explanation of the JAWS 7.0 (and earlier) Keyboard Help Issue

This page describes in detail an issue with keyboard help for users of JAWS 7.0 and older.

The Problem

Users of the Skype scripts, starting around revision 504, who also use JAWS 7.0 or older may notice that typing Alt or Ctrl + a number in Keyboard Help mode will not give the right help information. Instead, JAWS will say something about reading the contents of a frame. The commands themselves work fine; it's just the help that's wrong.

The Cause

I recently made it possible to get a chat line into a JAWS virtual buffer by typing an Alt+number twice in quick succession. This feature is already available for some other chat programs. I first tried to do this by writing one script and making all Alt+number keys call the same script. This worked fine unless a person tried to read two lines very quickly, which caused a virtual buffer to open even though it was not wanted. JAWS could not tell that Alt+1 and Alt+2 were not the same key because they invoked the same script.

My revised approach involved including a number in parentheses after each script call for each Alt+number key. This works beautifully in JAWS 7.10 and 8.0, and it works fine in JAWS 7.0 and older, except ...

JAWS 7.0 and older versions assume that any key attached to a script call that includes something in parentheses after it is a command to read the contents of a JAWS frame. JAWS 7.0 and older, on seeing the parenthesized numbers I used, don't look up the help text for the key at all. Instead, these versions will just say something like, "Says the contents of the frame" plus whatever I put in parentheses after the script name. Thus, Alt+3, since its script call is "SayAChatLine(-3)," will say something like, "Says the contents of the frame -3."

The Solution or, Why There Isn't One

I see no way to make the current strategy work, including correct keyboard help, in JAWS 7.0 and older. The obvious workaround is to create a special script for each key and attach specific help to each of these. At this point, that would be 18 new scripts and 18 new copies of help text. I confess I really don't like this approach because of its verbosity. People translating the scripts into other languages would also be annoyed by this extra work I'm sure.

Conclusion

Because this problem is

I am not likely to fix this help issue. I'm writing this explanation page though so people understand why it happened in the first place.