JAWS Scripts For Wireshark
Doug Lee
Last Revised October, 2023
This document describes the JAWS scripts for Wireshark and provides
tips for using this application with JAWS.
This document can be opened from within the application via a double press
of JAWSKey+F1 (or Insert+F1)
when the scripts are running.
Table of Contents
System Requirements For JAWS Users
In addition to any system requirements for the application, the following
apply for JAWS users:
- The computer should be running Windows 10 or 11.
Other Windows versions may work but were not tested.
- JAWS 2018 or later should be used. The scripts will not work with or install into older JAWS versions.
Nothing older than JAWS 2023 is recommended on Windows 11.
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 Insert+Q from
within the application. 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.
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 [.
This document may refer to this keystroke as [ or Command;
so, for example, [ 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, [ d r would refer to typing [, then d, then finally r.
Script Commands and Features
These scripts provide the following commands beyond those provided by the application itself:
- [ B, or alternatively JAWSKey+F8, brings up a list of toolbar icons for review and selection.
- Typing [ T brings up a list of tabs in screens containing tab controls. Press
Enter on a tab's name to activate it.
- JAWSKey+Q, along with announcing the active configuration name, will announce the revision number of these scripts.
- Insert+F1, typed twice in quick succession, opens this document in the default browser.
These scripts also provide the following features:
- Prevents the Tab from stalling at one point in the main capture analysis screen.
- Speaking of entire rows in tree grid controls.
- Better naming of some fields, sometimes including evasion of the double-speaking of a field name.
- Better pronunciation of a few terms common in the interface, such as "pcap" and "pcapng."
- Some fields that have extra descriptive information speak that
information after the normal JAWS speech for the field.
- Improved Tab and Shift+Tab functionality during a Wireshark software update.
- JAWSKey+B, the normal command for reading an entire
dialog box in tab order, is scripted to read some screens and dialogs more intelligently.
- The standard command for reading the status line,
JAWSKey+PgDn, works as expected.
- The commands for clicking with the left and right mouse buttons,
when pressed while the PC cursor is active, will click at the current
PC cursor location. This may be useful if the Application or Menu key does not work in a particular situation.
Known Issues
Sometimes, JAWS may be overzealous at field naming, including the names
of all fields in a screen region as the "name" of a single field. This
occurs with and without scripts, though the scripts reduce the frequency
of this issue.
Rows in the Packet Details control can often be expanded with the Right arrow key, sometimes to several levels of depth; but JAWS does not indicate this because there is no indication in UIA as to which rows allow this.
Testing for details often in this control is recommended.
Navigation in a tree of packet information can become slow in a very large tree when focus is many rows down
from the top. This author tested a packet information tree containing over 215,000 rows (which caused
Wireshark itself to consume about 12 gigabytes of system memory).
Braille support is not well tested and is likely incomplete.
Revision History
This is the revision history of these scripts, most recent revision first:
Revision 37, released October 6, 2023, tested against application version 4.0.10
- This is the first script revision tested on Windows 11.
- Retrieval of tooltip names may be faster in some cases.
- There has been much work to improve the efficiency of code that is used to identify and name fields.
- Some code that was specifically aimed at support for older JAWS versions is removed for better efficiency.
- The UIA support is refactored significantly and updated to account for recent increases in JAWS' UIA support.
A JAWS restart after installing this script update is recommended, though not required.
This refactor is being applied to several projects.
Users who use several of this author's script sets may notice a slight reduction in JAWS' memory consumption as
these updates progress.
Revision 31, released January 20, 2022, tested against application version 3.6.1
- Fixed packet tree focus reporting in Wireshark 3.6.1.
- Radio buttons are included in Insert+B output as appropriate.
- Improved Tab and Shift+Tab functionality during a Wireshark update.
- Fixed a bug that could cause some localized strings not to be spoken where expected.
- JAWS no longer announces invisible numbers in tables that UIA (in Qt 5.12.3 at least) reports as table headers.
(At this writing, Wireshark uses Qt 5.15.2 however.)
- A few audibly confusing terms common in the interface, such as "pcap" and "pcapng," are better pronounced.
- A "directives" text file is included that provides information on how to install this set of scripts manually.
See "Handling Directives Files" in the "Common Script Elements" document for further information.
- The installer contains version and product information visible from the Details tab in Windows Explorer, to better identify its contents. This update is being applied to all projects.
- Keystroke names in this document are more consistent, and there are other minor documentation improvements.
- Some obsolete code for supporting old JAWS versions is removed, and there are minor updates to
improve support for JAWS 2021 and 2022 as well as other code modernizations.
Revision 14, released May 18, 2020, tested against application version 3.2.3