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-liveregion oraria-describedbyform error message. - ARIA states: ARIA attributes like
aria-expandedoraria-invalidaccurately 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.
- Testing with Screen Readers: Questions and Answers, on WebAIM.
- Screen reader keyboard shortcuts and gestures by Deque university.
- Basic screen reader commands for accessibility testing, by Léonie Watson.
- Five Screen Reader Accessibility Tests Your QA Team Should Do, An introduction to fundamental screen reader tests by Charlie Pike.
- Using NVDA to Evaluate Web Accessibility, on WebAIM.
- Using JAWS to Evaluate Web Accessibility, on WebAIM.
- Using Narrator and Dev Mode, by Microsoft.
- Using VoiceOver to Evaluate Web Accessibility, on WebAIM.
- VoiceOver cheat sheet, by Paul J. Adam.
- VoiceOver Getting Started, by Apple.
WP Accessibility Knowledge Base