Testing with the NVDA Screen Reader2

 

Note: 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.

  1. Preferences > Synthesizer and then Preferences > Voice Setting > Voice. 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.
  2. Preferences > Voice Settings > Rate. 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.
  3. Preferences > Keyboard Settings
    1. If you are going to use a laptop, check “Use CapsLock as an NVDA modifier key“.
    2. By default, NVDA reads every character as you type. I find this too distracting, so I uncheck “Speak typed characters” and check “Speak typed words“.

     

  4. Tools > Manage add-ons > Get add-ons > Search for “Focus Highlight“. 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, 16
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.