Jam for Jaws: What is it?

The following info is taken from Doug Lee’s page. He writes several utilities and add-ons for JAWS and NVDA. I have reorganized it somewhat to make it more readable. If you feel like windows is giving you too many notifications and these notifications are taking too long to read, you will want to install this utility.

What is Jam?

The JAWS Alert Manager (JAM) is a set of JAWS scripts aimed at giving JAWS users control over the handling of Windows and application alert messages. This document describes JAM and how to use it.

Key Sequences

These scripts incorporate commands that consist of sequences of keystrokes, all beginning with a common prefix, or “command keystroke.” This approach allows many script commands without the risk of conflicting with application keystrokes. See the “Multi-Key Command Sequences” section of the “Common Script Elements” document for further details, including how to explore the available script commands (similar to exploring a menu system), and how to change the Command keystroke if necessary.

By default, the Command keystroke for these scripts is Jaws Key+/. This document may refer to this keystroke as Jaws Key+/ or Command; so, for example, Jaws Key+/ Tab and Command Tab both refer to typing the prefix keystroke, then separately the Tab key. Some sequences may consist of more than two keystrokes, or “levels”; for example, Jaws Key+/ d r would refer to typing Jaws Key+/, then d, then finally r.

Script Commands and Features

These scripts provide the following commands and features for users:

  • All detected notifications are stored in an alert history for later review. By default, the history keeps up to the most recent 1,000 alerts. Old alerts are automatically removed as necessary.
  • The alert history survives across JAWS and system restarts, though alerts will not be detected or added while JAWS and JAM are not running. The history is also independent of JAWS version, so that switching or upgrading between JAWS versions does not create copies or gaps.
  • Restarting JAWS will add a “JAM alert” indicating the event, so that users may have an idea of when the history was not being maintained immediately prior.
  • By default, UIA notifications are not handled by JAM; but this may be toggled on and off with the sequence Command U.
  • Many alerts are shortened and/or otherwise reformatted for efficiency:
    • The phrase “New notification from” is removed.
    • Phone numbers that appear without divisions are divided into segments for easier reading.
    • The extra announcement of the originating application name, such as “Skype,” at the end of the alert is removed in many cases.
    • Some application-specific further shortening may occur.
  • Duplicate alerts, when detected, are silenced. A small scissor-clip sound will be heard when this occurs. To qualify for silencing, an alert must duplicate the previously stored alert (i.e., there must be no other intervening alerts) and occur within 11 seconds of the original. (Unigram has been known to send duplicate chat message alerts eight or nine seconds after the original.)
  • Command S toggles whether all alerts will be heard or silenced. When all alerts are silenced, they will all generate the scissor-clip sound and will be stored in the alert history for review. This setting will persist until changed again, even across JAWS or system restarts. This can be especially handy during Zoom meetings and at other times when numerous alerts may be present and not wanted.
  • When JAM is handling UIA alerts, UIA notification alerts that ask to replace recent instances of themselves, such as rapid volume change alerts, will store only the last instance. The scripts define “recent” as “within five seconds ago.”
  • Alerts may be reviewed by typing the Command key followed by any number of these:
    • Home and End: Jump to and read the first and last stored alert. H and ; (semicolon) also work.
    • Left and Right arrows move to and read the previous and next alert. J and L are alternatives. If no alert has yet been read, these commands will move to and read the first and last alert, respectively. The position of the last-read alert is saved across JAWS and system restarts. These commands provide an easy way to discover alerts missed during an extended time away from a running computer.
    • NumPad 5 or K repeats the current alert (the last one moved to) and announces its position among stored alerts.
    • 1 through 9 and 0: Read the most recent ten alerts, with 1 reading the most recent, 2 the next most recent, etc. These commands do not update the current position used by arrows and do not honor any alert filtering; they are meant as a quick way to check recently arrived alerts while reading through older ones.

Press Esc to stop navigation and return to the active application.

  • On Windows versions that support this functionality, pressing the Del key while holding down Alt during an Alt+Tab cycle will close the currently selected application. This is perhaps a random feature to include in these scripts, but the author’s defense is that it provides a way to “unjam” a crashed or frozen application, whereas attempting to bring focus to it might freeze JAWS. This is a standard Windows 10 feature that happens not to work in JAWS, at least up through the March, 2020 release, because Alt+Del is a scripted keystroke. Future JAWS versions may address this issue natively.
  • Command Q announces the revision number of these scripts.
  • Command Shift+U attempts to update these scripts from the author’s website. This feature requires that BX is also installed. Depending on the nature of the update applied, restarting JAWS after the update may be necessary before some or all new features or fixes function as expected. At this writing, this quick-update feature will not activate any new command keystrokes or sequences; this will require running the full JAM installer.
  • Command F1 loads this document for review in the default browser.


System Requirements for JAWS Users

The following requirements apply for JAWS users:

  • The computer should be running Windows 10. Older Windows versions may work but are likely not to send most alerts through the system that these scripts use, which means that many alerts will likely not be manageable with these scripts except under Windows 10.
  • JAWS 18.0 or later should be used. The scripts will not work with or install into older JAWS versions.

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.
  4. To verify successful installation, type Jaws Key+/ followed by Q. 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. In some cases, restarting JAWS may fix this issue.

Help with Jam Development

For the more technically inclined, and for those who wish to help with JAM development by providing information, JAM offers a few further conveniences:

  • Command Ctrl+C copies an XML representation of the events collected so far to the Windows clipboard for further examination. For users of BX, this makes available the XML representation of the events thus far collected for inspection with that tool: Type Command Ctrl+C to put the XML on the clipboard, then in the BX XML Navigation map, type Ctrl+V to jump to the XML structure from the clipboard.)

Known Issues

The following issues are known and may be encountered during use of the application with these JAWS scripts. These issues may be fixed in a future update to the scripts or to the application itself.

Some alerts that should be shortened may be left unchanged. The author considers this safer than accidentally cutting important text out of an alert as a result of trying too hard to make all alerts shorter.

When the scripts are removed, the alert data is not. This is harmless and will not impair uninstallation, future reinstallation, or computer operation. If you later re-install the scripts, the alerts you previously stored will again be available. Removing the alert store during uninstallation would cause all alerts to be lost on every script upgrade. The alert store may be deleted manually by removing folder “%APPDATA%\JAWS Alert Manager” and its contents. If you have saved filters or other configuration settings for JAM, these will be removed by deleting this folder as well.

For various reasons, JAM at this time does not process UI Automation (UIA) alerts by default. This may be changed inn a future JAM release, and the user may toggle this feature on and off with the sequence Command U. Reasons for not having JAM handle these notifications by default include the following:

  • Some UIA alerts do not currently speak via JAWS natively. These include
    • Volume change alerts, such as caused by pressing volume buttons on some headsets or when connecting new sound devices.
    • Outlook “Expanded” and “Collapsed” announcements when Left and Right arrows are used to expand and collapse message groups.

There may be more of these than have been listed above to date. Some, such as the volume alerts, may occur very frequently under certain conditions. Though making some of these alerts speak may be widely desirable, ultimately the decision of which of these alerts should speak amounts to a user preference.

  • Duplicate UIA notifications would be cut out and produce the scissor sound; but since they don’t speak, the scissor sound would likely be a confusing surprise to users from time to time. Volume change alerts are a frequent cause of this issue.

Braille support is not well tested and is likely incomplete.

Fun Notes

The name JAM is an acronym for “JAWS Alert Manager.” It is also convenient, however, that it is good at jamming the transmission of duplicate alerts. For this reason, the author considers both “JAM” and “Jam” spellings appropriate for the utility.

Jam On

I hope you have found a use for Jam. If you want ultimate control over windows notifications, give it a try. As you probably realize by now, this set of scripts for JAWS does require you to set time aside to learn how to use them effectively. If you take Jam for a spin, please comment, or let me know how you like them.

I’d also like to thank Doug Lee for developing this, and other utilities for NVDA and JAWS.

Until next time … Qapla!

1 thought on “Jam for Jaws: What is it?”

  1. Pingback: Jam for Jaws: What is it? – Helping You Tame Your Access Technology | Campbells World

What's in your head about what you just read?

This site uses Akismet to reduce spam. Learn how your comment data is processed.