How to Test for JAWS Compatibility

For as long as developers and QA staff have been testing websites for screen reader compatibility, the JAWS® screen reader (created in 1993 by Henter-Joyce) has been a staple testing tool. Now JAWS has a companion product for JAWS testing on Windows machines: JAWS Inspect. When used as complementary tools, the two are a screen reader testing dynamic duo leading to a paradigm shift in the testing landscape. JAWS Inspect streamlines a process that was inefficient and cumbersome, with a steep learning curve.

Unlike JAWS, JAWS Inspect is solely a testing tool; it creates efficiencies that can’t be achieved through testing with JAWS alone. However, it is not a replacement for JAWS. The value of testing compatibility with the actual technology used by a person with a visual disability is incomparable.

JAWS Inspect differs from JAWS in two fundamental ways:

  • It renders JAWS’s speech output as text
  • It does not require memorizing lots of keystrokes and can be operated with a mouse or keyboard

JAWS allows the tester to better empathize with the user and gain insight into the deficiencies that exist on the web for the visually impaired. As a complementary tool, JAWS Inspect makes documenting these deficiencies incredibly easy. Note that JAWS Inspect does not require a JAWS license or any prior knowledge of the JAWS screen reader, so it’s ideal for sighted testers.

We recommend starting your testing with JAWS Inspect. It transforms JAWS speech into text output so you can easily expose and track JAWS compatibility issues as you test your digital assets.

Start by launching the application directly from your Start menu or program shortcut on your desktop.

Windows Start menu with JAWS Inspect icon highlighted

Next, open a web page in your browser. Press and hold CTRL, and right click (or CTRL+Application Key) on the web page to display the menu.

Full Page Report

JAWS Inspect dropdown menu with Full Page Report highlighted

The first menu item you’ll see is the Full Page Report. This report generates JAWS speech for an entire web page and separates output by HTML elements present on the webpage, including links, headings, graphics, lists, etc. These categories reflect the list dialogs in JAWS, such as the Headings List.

JAWS Inspect Full page report showing elements included on the page like links, controls, frames, headings, etc

You can dig into any element on the page and get a text version of the JAWS speech output.

An expansion of the “links” part of the Full Page report showing JAWS speech output, the HREF, screen shot (if applicable), and ID

As you go through the elements note if the JAWS output aligns with the desired user experience. You may notice green italic text in the JAWS Speech Output column. This indicates extraneous screen reader verbosity, which can actually be helpful for a screen reader user for additional hints, such as what type of element they are focused on. You’ll also be able to check links and see what the link looks like on the page with the screen shots in the Screen Shot column. Use this feature to double check for link text that does not match the text in the image.

Explore any potentially problematic elements at code level by activating the “code” icon in the fourth column.

An example of what you’ll see if you click the “code” icon in the fourth column of the expanded Full Page report showing HTML that includes a href, class, id, and wiid elements

You can export the entire report — or just one section (such as “Links”) — using the Export buttons. You can also select single lines from the report using checkboxes and export only those. See ‘Exporting’ below.

Say-All Report

After reviewing the Full Page Report for JAWS speech errors, assess it for reading and content order issues using the Say-All Report.

Text of what JAWS would speak if reading the page linearly

Press and hold CTRL, and right click (or CTRL+Application Key) on the web page to display the menu and navigate to the Say-All Report menu item. The Say-All Report is a good way to compare JAWS speech with the content of a web page, as it provides a linear view of JAWS speech if the screen reader were to read it from top to bottom. Compare this report with the visual elements on the page to ensure there are no differences or to pinpoint elements on the page that are not announced and should be.

Below this report is the JAWS Inspect Page Structure Report. This is essentially a stripped down version of the Say-All report that displays only the structural elements of the page, such as the regions and headings. This enables you to quickly check if the page structure is set up correctly, and that the titles of each structural element make sense and are properly nested.

Page structure report

Element Under Mouse Report

Use the Element Under Mouse Report feature to get the same output you’d see in the Full Page Report, but for a single element based on mouse pointer location or keyboard focus.

Hover over any element and hit CTRL-Right-click (or TAB to the element you want to check and press CTRL+Application key) to get the same report format, but only for the single element. This is most helpful for fine-tuning known elements that have been remediated so you don’t have to look through a full report to confirm they have been updated correctly, nor do you need to listen to JAWS speech for an entire page before hitting the element you are looking for.

Element Properties

Instead of generating a large report, use the Element Properties to investigate complex controls on the page. First identify the element you want to inspect, then either bring up the JAWS Inspect menu (CTRL+Right Click) and select Element Properties, or bypass the menu and press CTRL+ALT+Right Click to go straight to the Element Properties dialog box. To do the same with the keyboard alone, first TAB to the element and then press CTRL+Application key or CTRL+ALT+Application key to go straight to the dialog.

JAWS Inspect menu with Element Properties (Control + Alt + Right Click) highlighted

The Element Properties dialog focuses exclusively on the element you selected.

Element properties dialog showing page URL, element ID, Element type, JAWS speech, element image, and element source

Speech Viewer

Don’t forget to use the Speech Viewer to identify JAWS speech for workflows or specific tasks, or for testing HTML content, web apps, and PDF documents. Instead of a report which captures the state of a page or element at one moment in time, the Speech Viewer is a live transcript of JAWS Speech. You’ll be able to capture speech output as you carry out interactions, such as opening a menu, or filling in a form.

Speech viewer panel illustrating what JAWS would say when navigating a form

Right-click (or press Application key) on the JAWS Inspect system tray icon to launch, then open your web page in your browser to test it. The Speech Viewer will show the text information that will be spoken by JAWS, in this case, the window title. At this point you can use JAWS Inspect in conjunction with JAWS to leverage virtual cursor navigation on HTML content.

Note that JAWS Inspect does not support all the content navigation keys that JAWS does. To navigate to any focusable elements, use the TAB button, and to navigate text, graphics, tables, and other elements, use the arrow keys.

You can test any Windows desktop application using the Speech Viewer, but again, to use the full set of JAWS keyboard commands, you will need to have JAWS active at the same time.

Show ARIA Live

You can rapidly test your ARIA Live regions without using a screen reader.

Show ARIA Live dialog showing a timestamp, URL, alert type, and update text

Check that JAWS is receiving the updates correctly and that the updated text matches the text in the region. In the Show Aria Live dialog, a timestamp, URL, alert type, and update text is displayed as the events occur in real time.

Exporting

You can export reports from the various JAWS Inspect tools and reports. The default format is CSV (comma separated values), a very simple text format that can be imported into MS Excel or most databases. You can change the default export format to JSON or JavaScript Object Notation (which is used primarily to transmit data between a server and web application), as an alternative to XML. Use JSON particularly if you are exporting to a bug tracking system, such as JIRA.

You can set your export preferences in the Save As section of the JAWS Inspect Settings dialog (right click or Application key on the tray icon). You can also have JAWS Inspect automatically save copies of your reports whenever you run them, in CSV, JSON and HTML formats.

Export settings dialog box

Congratulations, you’re done! To learn more about JAWS Inspect for testing, check out our on-demand webinar, Undertaking JAWS Screen Reader Compatibility Testing.

Categories: World of Accessibility