WebAIM - Web Accessibility In Mind

Using NVDA to Evaluate Web Accessibility

Introduction

NVDA is a free screen reader for Windows computers. This article is designed to help new or novice NVDA users learn how to test web content. For a more detailed information on using NVDA, see our list of NVDA keyboard shortcuts or the NVDA User Guide.

If you are new to screen readers, plan on spending some time (perhaps a few hours) becoming comfortable using NVDA. Don't get discouraged if things still seem confusing after only a few minutes. Slow down the reading speed and take your time. Remember that many screen reader users do not use a mouse, so try using only the keyboard as you become more comfortable with NVDA.

Getting Started

You can download NVDA for free (Windows only). During installation, keep the option to create a desktop shortcut selected but uncheck the option to start NVDA automatically when logging in to your computer. Once you have NVDA downloaded and installed, you can start running the program by holding Ctrl + Alt + N.

To close NVDA, press NVDA + Q.

Configuring NVDA

When NVDA runs for the first time, a dialog appears with a few options. We recommend the following:

  1. Choose the desktop (default) Keyboard Layout, even if you are using a laptop. Most of the commands that use the numeric keypad (which may not be present on a laptop) go beyond the basic commands required for screen reader testing. Some of the commands in this guide will not work in the laptop keyboard layout.
  2. Check "Use CapsLock as an NVDA modifier key" (a key used in many commands—we will call it the NVDA key). This puts the NVDA key closer to the Ctrl, Alt, and Shift keys, which are also used for many commands. To toggle Caps Lock functionality while NVDA is running, press Caps Lock twice.
  3. Uncheck "Start NVDA after I sign in".
  4. Uncheck "Show this dialog when NVDA starts".

Once NVDA is running, we recommend making a few changes to the default settings. To open the NVDA menu, press NVDA + N and then use /// and Enter to navigate the menu.

Select Preferences > Settings and then make the following changes:

  1. In the Speech category...
    1. Change the screen reader's voice. The default voice can be difficult to understand. Under Synthesizer, select "Change", and choose one of the built-in Microsoft synthesizers. Then choose your preferred voice from the list of available Voice options.
    2. Choose a comfortable speech Rate and Volume. To change the speech rate later, press NVDA + Ctrl + /.
  2. In the Vision category, check "Enable Highlighting". This will make it easier to see what is being read.
  3. In the Keyboard category, uncheck "Speak typed characters" and check "Speak typed words" (optional).

There are a couple other useful options in the NVDA menu:

  • Help: The help menu has links to a detailed user guide, a comprehensive list of keyboard commands, and other useful resources.
  • Tools > Speech Viewer: Open the Speech Viewer to see exactly what NVDA is reading. You can copy and paste this text.
Important

Do not change any settings that will impact what information will be read. Leave Punctuation/symbol level at "some" and do not change any options in the Document Formatting section.

Reading

There are dozens of keyboard shortcuts that allow you to read web content. The following is a list of essential reading shortcuts. With these shortcuts, you should be able to read through most content with NVDA.

  • NVDA + : Start reading at the current position
  • Ctrl: Stop reading
  • NVDA + : Reread current line
  • Ctrl + /: Previous/next word
  • /:Previous/Next line
  • /: Previous/Next character

You may want to practice reading through this page with NVDA right now to try these commands out.

Images

An image's alternative text will be read by NVDA. If alternative text is not defined, NVDA will typically ignore it, except in some cases where the image has a function.

Image examples and practice

Data Tables

To navigate to the next table in a page, press the T key. To navigate within a data table, hold down Ctrl + Alt and use /// to move from cell to cell. If a table has proper row and column headers, they will be read automatically while navigating.

Table examples and practice

Forms

When a form control gets keyboard focus, its label is read by NVDA, and then the type of form control. If a group of form controls—typically groups of checkboxes or radio buttons—is contained in a fieldset with a legend, NVDA presents items in a fieldset as a group and reads the legend when you first navigate to anything within the group.

Use the following browser keyboard controls to interact with form controls:

  • Tab and Shift + Tab: Navigate through form controls.
  • Space to select and deselect checkboxes.
  • /:Select from a group of radio buttons.
  • / or the first letter of an option: Select an option in a combo box
  • Enter:Submit a form

Form examples and practice

Focus and Browse modes

Since screen readers use many of the keys on the keyboard for quick navigation, filling in a form or interacting with a widget presents a dilemma. For example, when pressing the "H" key, how does a screen reader know if you want to navigate to the next heading or enter the letter into a textbox?

NVDA takes care of this by switching between two "modes." "Browse mode" is the default mode for reading and navigating the page—the mode where the "H" key takes you to the next heading. "Focus mode" passes almost all keystrokes on to the browser—the mode where the "H" key puts the letter H in a text box.

NVDA will toggle between these modes automatically (assuming you are using the Tab key to navigate) based on the type of thing that has keyboard focus. A high-pitched beep announces the change to focus mode. This occurs when you navigate to text boxes or other inputs or widgets that require keyboard interactions. A lower-pitched beep indicates a change back to browse mode.

Tip

Press NVDA + Space to toggle between browse and focus modes manually, though this should not be necessary for widgets that are properly coded.

Practice

  • Review this page, section by section. At the end of each section, return to the top and navigate new sections in different ways. For example:
    • Use the Table of Contents
    • Use Ctrl + F to open the Find dialog
    • Navigate by headings (either H or 1 - 3)
  • There are a couple of elements in this page that are visually hidden, but which are provided to better orient screen reader users. See if you can identify them (hint: one is right before the breadcrumbs).
  • Locate and visit our WCAG 2 checklist.
  • Subscribe to the WebAIM Newsletter without using your mouse.
  • Turn off the monitor and repeat some of these tasks.