Skip to content

Find what you need, instantly

Search components, ARIA roles & attributes, and WCAG criteria.

Screen reader testing guide

How to start and stop the three major screen readers, their essential commands, and the browse-mode/focus-mode model that trips up most first-time testers.

Last verified against WCAG 2.2 and WAI-ARIA APG 1.2 on 2026-07-02.

Browse mode vs. focus mode

Browse mode (NVDA/JAWS on Windows; the default reading mode) lets you navigate a page like a document — by heading, link, landmark, or single character — using letter-key shortcuts instead of Tab. It's how a screen reader user explores static content.

Focus mode (sometimes called "forms mode" or "application mode") switches keystrokes over to the widget itself — typing "h" inside a text field should type the letter H, not jump to a heading. Windows screen readers switch into focus mode automatically when you Tab into a form field or a composite ARIA widget (combobox, menu, slider), and back to browse mode when you leave it.

Why this matters for testing: if your custom widget doesn't trigger the automatic mode-switch correctly (usually because required ARIA roles are missing), letter-key shortcuts will "leak through" and do the wrong thing — this is one of the most common defects found in hand-rolled components. VoiceOver on macOS doesn't have this same browse/focus split; it uses the rotor and Tab/VO-arrow navigation more uniformly.

Starting, stopping, and essential commands

NVDA + Firefox

Windows (free)

Start
Ctrl+Alt+N, or launch from the desktop/Start Menu shortcut.
Stop
Insert+Q, or Ctrl+Alt+N again to toggle.
NVDA + Firefox essential commands
CommandAction
Insert+Down ArrowStart reading continuously from the current position.
Tab / Shift+TabMove focus forward/backward (focus mode).
H / Shift+HJump to next/previous heading (browse mode).
K / Shift+KJump to next/previous link (browse mode).
F / Shift+FJump to next/previous form field (browse mode).
Insert+F7Open the elements list (links, headings, landmarks).
Insert+SpaceToggle between browse mode and focus mode.

JAWS + Chrome

Windows (commercial)

Start
Launch from the desktop shortcut or Start Menu; JAWS starts speaking on load.
Stop
Insert+F4, or exit from the JAWS system tray icon.
JAWS + Chrome essential commands
CommandAction
Insert+Down ArrowSay All — read continuously from the current position.
Tab / Shift+TabMove focus forward/backward.
H / Shift+HJump to next/previous heading.
Insert+F6Open the headings list.
Insert+F5Open the form fields list.
Insert+F7Open the links list.
Insert+ZToggle virtual PC cursor (browse mode) on/off.

VoiceOver + Safari

macOS (built in)

Start
Cmd+F5, or triple-click the Touch ID / side button on supported Macs.
Stop
Cmd+F5 again.
VoiceOver + Safari essential commands
CommandAction
VO (Ctrl+Option) + Right/Left ArrowMove to the next/previous item in the rotor's linear order.
Tab / Shift+TabMove focus forward/backward between interactive elements only.
VO+UOpen the rotor (headings, links, landmarks, form controls).
VO+SpaceActivate the current item.
VO+ARead all, starting from the current position.
VO+Cmd+HJump to next heading (with rotor set to Headings).

Testing tips

  • Test with your monitor off, or your eyes closed, at least once per component — it forces you to rely entirely on the announcement, the way a blind user does.
  • Always test in the screen reader's most commonly paired browser (NVDA+Firefox, JAWS+Chrome, VoiceOver+Safari) — behavior can differ meaningfully across browser pairings.
  • Slow the speech rate down while learning — it's much easier to catch a missing or wrong announcement at a pace you can actually follow.
  • Re-test after every fix. ARIA defects are easy to partially fix and leave a related state (e.g. aria-expanded) out of sync.