Testing with the NVDA Screen Reader
This is a piece about how I configure and use NVDA. For a more detailed guide on using this screen reader, see our NVDA tutorial.
I spend a significant amount of time evaluating website accessibility and a large percentage of that time is spent using a screen reader. I have access to full versions of JAWS and Window-Eyes and while they are both capable screen readers, the screen reader I use most often is NVDA.
NVDA is:
- Lightweight: I am constantly turning my screen reader on and off, switching browsers, etc. I need a screen reader that can keep up with me. Other screen readers take too long to start up and tend to crash, especially JAWS.
- Free: I am not faulting companies that charge for their product, but it is much harder to justify the hefty price tag if you are using it for evaluation purposes only.
- Always up to date: Updates are regular and I have always found them seamless.
- Literal: Some screen readers will attempt to fill in accessibility gaps, for example, by guessing at a label for an unlabeled form control. NVDA does less of this. While you can argue the merit of one approach over another for the end user, this ‘literal’ presentation is excellent for accessibility evaluation.
Configuring NVDA
I want my testing experience to be as ‘typical’ as possible, so I try not to configure my screen reader too heavily. However, I do make a few changes that I feel make the experience more pleasant and efficient without altering the information that is presented.
- and then . The default synthesizer is not the easiest to understand, so the first thing I do is change the default voice. The voice I use is Microsoft Zira because I find it a natural sounding voice at lower speeds, but still understandable at higher speeds.
- . I typically hover around the 80-90, but it took me some time to be comfortable at that speed. I often change the rate based on the complexity of the webpage.
-
- If you are going to use a laptop, check ““.
- By default, NVDA reads every character as you type. I find this too distracting, so I uncheck “” and check ““.
- Search for ““. The Focus Highlight add-on adds a rectangle on the element that you are currently reading or interacting with. I find this add-on extremely useful, especially when testing a site that does not have keyboard focus outlines.
Common Commands
Although NVDA contains dozens, or possibly even hundreds, of keyboard commands, I typically use fewer than 20. These are my go-to keyboard commands:
Command |
Description |
“NVDA” key |
Insert/Caps Lock |
Stop |
Ctrl |
Open |
Ctrl + Alt + N |
Quit |
NVDA + Q |
Faster/Slower |
Ctrl + NVDA + ↑/↓ |
Read previous/next line |
↑/↓ |
Re-read current line |
NVDA + ↑ |
Read all |
NVDA + ↓ |
Forms/Links |
Tab |
Headings |
H, 1–6 |
Forms |
F |
Buttons |
B |
Links |
L |
Landmarks |
D |
Tables |
T |
Table Cells |
Ctrl + Alt + ↑/↓/←/→ |
Navigate Backwards |
Shift (+ Tab, H, etc.) |
Toggle forms mode |
NVDA + Space |
Update April 5: Added the ↑ and NVDA + ↑ commands
An Excellent Screen Reader
I admit that I am an NVDA fanboy. The work of Michael Curran, James Teh, and others on the NV Access team has benefited thousands of people worldwide, and helped raise the bar for all screen readers in the process. If you use Windows and test for web accessibility, it should be in your toolbox.