JAWS Alert Manager (JAM)
Last Revised November, 2020
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.
This document can be opened by typing JAWSKey+/ followed by F1.
Table of Contents
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:
- 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 JAWSKey+/ 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.
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 JAWSKey+/.
This document may refer to this keystroke as JAWSKey+/ or Command;
so, for example, JAWSKey+/ 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, JAWSKey+/ d r would refer to typing JAWSKey+/, 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.
JAWS starting in version 2021 calls these "accessibility notification events" and also announces them by default, but older JAWS versions ignore them.
Note that UIA alerts are only stored in the JAM alert store if they are handled by JAM in the first place. If JAM is set to let JAWS handle them, they will not appear in the alert store.
- 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:
Press Esc to stop navigation and return to the active application.
- 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.
- During relative navigation, notification shortening may occur based on the previously read alert. See the next section for details.
This feature is off by default.
- For even faster skimming through notifications, use Command T to toggle on/off the announcement of alert times.
Times are announced by default.
- 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.
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
Alert Shortening During Relative Navigation
The following script feature is turned off by default and may be toggled on and off via Command R.
During relative navigation through notifications, JAM can abbreviate each notification by removing from its start and end whatever start and end were spoken as part of the previous notification.
This tends to reduce repetitions of application names, text channel and sender names, trailing button text, etc. as you move through a series of notifications from the same origin.
Beware, though, that this can also remove actual content from what is spoken.
A famous example of this extra removal occurs when two notifications from a Windows Store update follow each other and are then read via relative navigation. Imagine that the following two notifications are encountered
during navigation, in this order:
12:14 New notification from Microsoft Store, Xbox Game Bar, Just got updated, check it out.
With the extra shortening in effect, JAM will announce them thus:
12:14 Microsoft Store, App Installer, Just got updated, check it out.
12:14 New notification from Microsoft Store, Xbox Game Bar, Just got updated, check it out.
Use Command K or Command NumPad5 to read the entire current notification without any extra shortening.
12:14 App Installer,
Notification shortening applies only during relative navigation and among notifications reached via that command set. Use of sequences like Command 1 (most recent notification) does not affect this shortening
feature; and speech on notification arrival is not abbreviated in this way.
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.
Braille support is not well tested and is likely incomplete.
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.
This is the revision history of these scripts, most recent revision first:
Revision 74, released November 22, 2020
- The options for omitting time and shortening messages during message store navigation work as intended.
Unfortunately, the previous revision stored them correctly but acted as if they were both always turned on.
- The command sequences for toggling on and off the omit-time and shorten-message options do not leave the current key layer anymore.
This makes it easier to flip these switches on and off while navigating. Press Esc to exit the key layer as for navigation commands.
It will be necessary to use the script installer rather than the Command Shift+U update sequence to make this change take effect.
Revision 73, released November 19, 2020
Note: For correct operation of new commands, this script update must be installed via the installer rather than via the Command Shift+U sequence.
- The initial "New notification from" phrase is removed from many more notifications, both on arrival and during navigation through the alert store.
Thanks to Laurie Cherry-White for significant alert testing assistance.
- Alert shortening during relative navigation is implemented.
This can significantly speed reading through many notifications from the same application. (The feature was inspired by busy Discord chats.)
Use Command R to turn this feature on and off. The feature is turned off by default.
- Use Command T to turn on/off the announcement of times during navigation through alerts.
By default, times are announced.
- When JAM is set to handle UIA notifications, which JAWS 2021 calls "accessibility notification events," it will report them all rather than trying to be selective, so that none are lost.
JAM does still try to honor suggested rules for handling repeating alerts, however.
This change is prompted by apparent changes in how UIA notifications identify themselves in various versions of Windows 10.
Revision 66, released October 31, 2020