Introduction to NVDA
NonVisual Desktop Access (NVDA) is a free screen reader for Windows. NVDA is popular for testing web pages and documents because:
- It’s available for free (pay what you can) and is well-maintained.
- It’s lightweight (i.e., it has a relatively small install file) and loads quickly.
- It adheres to web standards, so it’s a very accurate testing tool. Another Windows screen reader, JAWS, applies heuristic rules and guesses how to announce page elements. For example, if an input field has no label, NVDA will tell you that, but JAWS will use nearby text to guess what the label is.
Install NVDA
You can download NVDA from the NVDA Install page.
NVDA commands
Basic commands
These commands are the very first ones you’ll need to get you started.
| Command | Function |
|---|---|
| Ctrl | Stop talking until another key is pressed |
| Insert+s | Toggle speech on/off |
| Insert+q | Close NVDA |
Settings
Here are some basic setup commands you’ll want to set based on your preference.
| Command | Function |
|---|---|
| Insert+m | Toggle mouse tracking on/off (Turn this off so moving the mouse won’t announce content your mouse pointer touches.) |
| NVDA > Tools > Speech Viewer | Speech Viewer (Turn this on to see what NVDA is announcing. Include this in your screenshots.) |
| NVDA > Preferences > Settings > Speech | Select a voice Synthesizer that you like, and then set the speaking Rate (how fast text will be read). |
Speech Viewer
The Speech Viewer is a floating window that displays everything that NVDA announces. You can position the window wherever you like to include screenshots with logged defects. To open the viewer, click the NVDA logo in the Windows taskbar, select Tools, then Speech Viewer.
Main navigation commands
Here are the main commands you’ll use to move around a web page.
| Command | Function |
|---|---|
| Up arrow key | Go up a line |
| Down arrow key | Go down a line |
| Tab | Go to next clickable element |
| Shift+Tab | Go to previous clickable element |
| Insert+F7 | Open Elements List – to list Links, Headings, Form fields, Buttons, and Landmarks |
| Ctrl+Home | Go to the top of the page |
Elements List
The Elements list feature displays all Links, Headings, Form fields, Buttons, and Landmarks on the current page. It gives a good overview of the page at a glance.
Other navigation commands
Here are some commands that you may use less often, but are still important.
| Command | Function |
|---|---|
| Insert+space or Escape | Exit forms mode (when in an input field) – so you can press the down arrow key and continue reading |
| h | Go to next heading |
| Shift+h | Go to previous heading |
| Right arrow key | Announce next character |
| Left arrow key | Announce previous character |
| d | Go to next landmark |
| Shift+d | Go to previous landmark |
Data table commands
When testing a data table, NVDA has commands to move up, down, left, and right.
| Command | Function |
|---|---|
| Ctrl+Alt+Up arrow | Move up one cell |
| Ctrl+Alt+Down arrow | Move down one cell |
| Ctrl+Alt+Left arrow | Move left one cell |
| Ctrl+Alt+Right arrow | Move right one cell |
Browse mode vs. Focus mode
One feature of NVDA is that there are two distinct modes it operates in depending on what type of webpage layout is interpreted. In most layouts, NVDA will operate in Browse mode, unless NVDA detects that you have moved to a form (meaning the user is expected to enter in some information). Within a form, NVDA will switch to Focus mode.
Browse mode
When you press the down arrow key (and go down one line in the page), NVDA will announce all types of web page content, including text, links, and form controls. This is known as Browse mode. Using Browse mode is an excellent way to read all content without missing anything from top to bottom.
Focus mode
Once you tab to a form control, pressing the arrow keys will have different results. This is known as Focus mode. For example, you can select the radio button you want using arrow keys. Or, when you’re in an input field, pressing the up/down arrow keys will have no effect. When you’re ready to exit Focus mode, press Insert+space or the Escape key, and then you will be back in Browse mode.
Tip: If you get stuck in an input field, press Insert+space to exit Focus mode, and then you can use the down arrow key to continue reading.
How to test a web page with NVDA
To test a web page with NVDA, try these steps:
- Open the web page you’re going to test.
- Run NVDA.
- Click anywhere on your browser window, so NVDA is focused on it.
- Tab into the web page so NVDA can read the web page contents.
- Set the mouse aside, so it doesn’t interfere with your test.
- Press Ctrl to stop NVDA from reading. (You will use this a lot.)
- Press Ctrl+Home to jump to the top of the page. Then, repeatedly press the down arrow key, reading the page contents from top to bottom.
- Once you’ve reached the bottom of the page, press Ctrl+Home to jump to the top of the page again. This time, tab through the page – you should reach each link and form control. Test each one (or at least a good sampling of them) by pressing Enter when you reach it.
- Without using the mouse, you should be able to have NVDA announce anything on the page, and you should be able to use all links and form controls.
- Press Insert+F7 – this will display a convenient menu of Links, Headings, Form fields, Buttons, and Landmarks.
- Press Insert+q to close NVDA.