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]
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.
| 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 (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 1 — Navigate by headings
Press H repeatedly to move through the page's heading structure. Verify:
Step 2 — Navigate by landmarks
Press D to move through landmark regions. Verify:
Step 3 — Navigate by links
Press K to move through links. Verify:
Step 4 — Test forms
Tab to each form field. Verify NVDA announces:
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:
Last edited Apr 7, 2026, 7:31 PM · P**** J****