Free community resource

Screen Reader Testing with NVDA

Assistive technology

NVDA (NonVisual Desktop Access) is a free, open-source screen reader for
Windows developed by NV Access. It is the most widely used screen reader
on Windows and is the primary tool recommended for accessibility testing on
that platform. Testing with NVDA reveals how blind and visually impaired
users experience a website, surfacing failures that automated tools and
keyboard-only testing cannot detect.
[1]


Installation

Download NVDA free from https://www.nvaccess.org/download/

NVDA can be installed permanently or run as a portable version with no
installation required. The portable version is useful for testing on
machines where you cannot install software.

Recommended browser pairing: Firefox or Chrome. NVDA works with
both — Firefox has historically had slightly better ARIA support with NVDA,
though Chrome compatibility has improved significantly.


Essential keyboard shortcuts

Shortcut Action
NVDA + Space Toggle between Browse mode and Focus mode
NVDA key Insert (default) or Caps Lock
NVDA + Q Quit NVDA
NVDA + F7 Elements list (headings, links, landmarks)
H Next heading (Browse mode)
Shift + H Previous heading
D Next landmark
Shift + D Previous landmark
K Next link
F Next form field
T Next table
Tab Next interactive element (Focus mode)
Escape Return to Browse mode from Focus mode
[2]

Browse mode vs Focus mode

Browse mode (virtual cursor mode) is NVDA's default reading mode. The
cursor moves through all page content — text, headings, images, links —
using arrow keys. Single-letter navigation shortcuts work in this mode.

Focus mode (forms mode) is activated automatically when NVDA enters an
interactive widget such as a text input or custom widget, or manually with
NVDA + Space. In this mode, keystrokes are passed to the page rather than
intercepted by NVDA.

Understanding which mode NVDA is in helps diagnose issues — a custom widget
that requires focus mode but does not trigger it correctly will fail silently.
[1]


Step by step testing process

Step 1 — Navigate by headings

Press H repeatedly to move through the page's heading structure. Verify:

  • There is an H1 that clearly identifies the page
  • Headings follow a logical hierarchy with no skipped levels
  • Every major section of the page is reachable by heading navigation
  • Headings sound meaningful when heard in isolation

Step 2 — Navigate by landmarks

Press D to move through landmark regions. Verify:

  • A main landmark exists
  • A navigation landmark exists
  • Multiple landmarks of the same type have distinguishing labels
  • No important content is outside any landmark

Step 3 — Navigate by links

Press K to move through links. Verify:

  • Every link makes sense when heard out of context
  • No links are labelled "click here", "read more", or "link"
  • Links that open in a new tab announce this

Step 4 — Test forms

Tab to each form field. Verify NVDA announces:

  • The field label
  • The field type (edit, combo box, checkbox)
  • Whether the field is required
  • Any associated hint or description text

Submit the form with errors and verify error messages are announced.

Step 5 — Test dynamic content

Trigger any dynamic content updates — loading states, status messages,
validation errors, live search results. Verify NVDA announces the update
without requiring focus to move to the updated region.

Step 6 — Test modals

Open any modal dialogs. Verify:

  • NVDA announces the dialog name on open
  • Focus moves into the dialog
  • Content behind the dialog is not readable
  • Escape closes the dialog and returns focus to the trigger

[3]


Tips for effective testing

  • Turn off your monitor or close your eyes during testing to experience
    the page as a blind user would
  • Go slowly — resist the urge to use the mouse
  • Test in both Browse mode and Focus mode for interactive widgets
  • Listen for redundant announcements — "image image" or "link link" indicate
    markup errors
  • If NVDA goes quiet unexpectedly, check whether it has entered an
    inaccessible component

References

  1. NV Access. NVDA User Guide. https://www.nvaccess.org/files/nvda/documentation/userGuide.html
  2. Deque University. NVDA Keyboard Shortcuts. https://dequeuniversity.com/screenreaders/nvda-keyboard-shortcuts
  3. WebAIM. Using NVDA to Evaluate Web Accessibility. https://webaim.org/articles/nvda/

Last edited Apr 7, 2026, 7:31 PM · P**** J****