Screen reader testing

Important content that changes dynamically, like JavaScript generated error messages or content, must also be announced for screen readers. The best way is to test this with a screen reader like Apple VoiceOver (for Mac) or NVDA (for Windows). Listen to your website!

Test feedback on dynamic changes

When using interactive scripts to update content or states of interactive elements, check:

  • DOM updates: Interactive scripts correctly update the DOM in response to user actions. Check if the relevant content is added to or changed within an aria-live region or aria-describedby form error message.
  • ARIA states: ARIA attributes like aria-expanded or aria-invalid accurately reflect the current UI state after each interaction.

Verification methods:

  • Use a screen reader to confirm announcements match the actual state changes.
  • Use browsers inspect panel to check the accessibility tree and live ARIA values.
  • Verify that announcements do not occur continuously, such that they would interrupt the user’s ability to use the interface.

Which screen reader should I test in?

NVDA is an excellent, free, open source, screen reader for Windows 10 and later. If you enjoy this screen reader, consider a donation to NVDA.

JAWS Screen Reading Software, by Freedom Scientific, is a subscription-based screen reader for Windows. Life hack: you can run JAWS in a 40-minute demo-mode for free for testing. After that you need to reboot your system to run JAWS in demo-mode again.

Narrator for Windows, by Microsoft, is built into Windows. Use Narrator in the browser Edge for website testing.

TalkBack is built into Android, and is the most commonly available screen reader for Android-based phones. It is a full-fledged screen reader, but performance will vary widely depending on your phone hardware.

VoiceOver is built into macOS and iOS. Use VoiceOver in the browser Safari for website testing. While we know that many developers work primarily on macOS, testing only with Apple’s VoiceOver is not enough in some cases. VoiceOver, while fairly common, has some non-standard interpretations of accessibility interactions that aren’t the most accurate representation of average user experience.

The screen readers ChromeVox for Chromebook and Orca for GNOME don’t perform well enough as a screen reader, at this moment, to give representative test information.

Resources

There are many excellent articles on how to use and test with a screen reader. Keep in mind that the best screen reader testing is by users who use a screen reader regularly for their interactions with the web; you can do your own testing, but it is not a substitute for real user tests.