How to test with a screen reader
Screen readers are software programs that allow blind or visually impaired users to read the text displayed on a screen with a speech synthesizer or braille display
Screen readers have many keyboard commands for navigating, reading and interacting with content. You don’t need to know them all, but you do need to know a few basic screen reader commands so that you can run tests.
A blind person who uses a screen reader will also use the keyboard, though not in the same way as a sighted person. The difference between keyboard and screen reader navigation is that screen reader users have many more keyboard commands available to them. The keyboard commands available to sighted keyboard users are covered in how to test with a keyboard.
Screen reader commands
There are screen readers available on all popular platforms: Windows, MacOS, iOS and Android. This guide covers screen readers that are available for Windows and MacOS. Find information on how to test on touch devices with screen readers in how to test with a mobile screen reader.
There is limited data about screen reader use but the one reliable source is the WebAIM screen reader user surveys. Some key points from the 2019 WebAIM screen reader user survey #8 include:
- For desktop/laptop screen reader users, Windows is the most common OS (72%)
- On Windows, NVDA is the most common screen reader (41%) then Jaws (40%)
- On iOS (and MacOS) VoiceOver is the only screen reader available
- On Windows, Chrome is the most common browser for screen reader users (44%), then Firefox (27%) and IE 11 (11%)
- On MacOS, Safari is the only viable browser with VoiceOver
Testing using the NVDA screen reader
NVDA (Non Visual Desktop Access) is an open source screen reader for Windows from NV Access.
NVDA uses the Numpad Insert key to modify the behaviour of other keys on a desktop keyboard, or the Capslock key on a laptop keyboard. This is known as the NVDA key.
| Action | Desktop command | Laptop command |
|---|---|---|
| Say all | NVDA + down arrow | NVDA + a |
| Read next bit of content | Down arrow | Down arrow |
| Read previous bit of content | Up arrow | Up arrow |
| Move to next landmark | d | d |
| Move to next heading | h | h |
| Move to next list | l | l |
| Move to next graphic | g | g |
| Move to next form field | f | f |
| Move to next table | t | t |
| Navigate table content | Control + alt + up/down/left/right arrow keys> | Control + alt + up/down/left/right arrow keys> |
| Show dialogue of all headings, landmarks and links | NVDA + f7 | NVDA + f7 |
| Stop NVDA talking | Control | Control |
Note: to move to the previous heading, list, graphic, table etc. use the shift key. For example shift + h will move to the previous heading.
The NVDA User Guide has more information about NVDA including more keyboard commands.
Testing using the JAWS screen reader
JAWS (Job Access With Speech) is a screen reader for Windows from Freedom Scientific.
JAWS uses the Numpad Insert key to modify the behaviour of other keys on a desktop keyboard, or the Capslock key on a laptop keyboard. This is known as the JAWS key.
| Action | desktop command | Laptop command |
|---|---|---|
| Say all | JAWS + numpad 2 | JAWS + down arrow |
| Read next bit of content | Down arrow | Down arrow |
| Read previous bit of content | Up arrow | Up arrow |
| Move to next landmark | r | r |
| Move to next heading | h | h |
| Move to next list | l | l |
| Move to next graphic | g | g |
| Move to next form field | f | f |
| Move to next table | t | t |
| Navigate table content | Control + alt + up/down/left/right arrow keys> | Control + alt + up/down/left/right arrow keys> |
| Show dialogue of all headings | JAWS + f6 | JAWS + f6 |
| Show dialogue of all links | JAWS + f7 | JAWS + f7 |
| Show dialogue of all landmarks | JAWS + control + r | JAWS + control + r |
| Stop JAWS talking | Control | Control |
Note: to move to the previous heading, list, graphic, table etc. use the shift key. For example shift + h will move to the previous heading.
The JAWS User Guide has more information about JAWS including more keyboard commands.
Testing using VoiceOver
VoiceOver is the integrated screen reader for MacOS from Apple.
VoiceOver uses the control + option keys to modify the behaviour of other keys. This is known as the VO key.
| Action | desktop command | Laptop command |
|---|---|---|
| Say all | VO + a | VO + a |
| Read next bit of content | VO + right arrow key | VO + right arrow key |
| Read previous bit of content | VO + left arrow key | VO + left arrow key |
| Move to next landmark | N/A | N/A |
| Move to next heading | VO + command + h | VO + command + h |
| Move to next list | VO + command + >x | VO + command + x |
| Move to next graphic | VO + command + g | VO + command + g |
| Move to next form field | VO + command + >j | VO + command + j |
| Move to next table | VO + command + t | VO + command + t |
| Navigate table content | VO + up/down/left/right arrow keys> | VO + up/down/left/right arrow keys> |
| Show dialogue of all headings, landmarks and links | VO + u then left/right/up/down arrow keys | VO + u then left/right/up/down arrow keys |
| Stop VO talking | Control | Control |
The VoiceOver user Guide has more information about VoiceOver including more keyboard commands.
Screen reader browser combinations
It isn’t practical for you to test with every possible screen reader and browser combination, any more than it’s possible to test with every browser.
Screen readers depend on the browser for most of the information they need though, so it’s important to test with different screen reader and browser combinations as much as possible.
For desktop/laptop users we recommend the following combinations as a minimum:
- NVDA with Firefox
- Jaws with Chrome
- VoiceOver with Safari
How to test
Now you know how to use a screen reader, you can test.
You need to make sure that you can use a screen reader to navigate to, understand and interact with all content.
To do this, make sure that:
- The screen reader tells the user what kind of content they’re dealing with (link, button, heading, checkbox, list, etc.)
- When there is an implied visual structure (table, list, heading hierarchy etc.) the screen reader announces it correctly
- When you navigate through a data table, the screen reader announces the row and/or column header as focus moves between cells in the table
- You can move between landmarks (like the header, main content area, navigation and footer)
- The purpose of every link is clear when you use the dialogue of all links on the page
- You can navigate to all interactive elements using standard keyboard commands or screen reader keyboard commands
- You can activate all interactive elements using either the
EnterorSpacekeys - The screen reader announces all the custom controls correctly and you can operate them using the keyboard