Automated tools find maybe 30–40% of WCAG violations. Screen reader testing catches the rest. You don't need to be an expert — even 30 minutes of manual screen reader testing reveals issues no automated tool will ever find.
NVDA (NonVisual Desktop Access) is free, open source, and used by approximately 30% of screen reader users. Download it from nvaccess.org.
See how 321 websites scored →
View the 2026 Report| Action | Shortcut |
|---|---|
| Start/stop speech | Ctrl |
| Toggle NVDA browse/focus mode | Insert + Space |
| Read from current position | Insert + Down Arrow |
| Next heading | H |
| Previous heading | Shift + H |
| Next heading level 1 | 1 |
| Next link | K |
| List all links | Insert + F7 |
| List all headings | Insert + F7 (then select Headings) |
| Next form element | F |
| Next button | B |
| Next image | G |
| Next table | T |
| Move within table (cell by cell) | Ctrl + Alt + Arrow keys |
| Next landmark region | D |
| Enter form mode | Enter on a form field |
| Exit form mode | Escape |
VoiceOver is pre-installed on all Apple devices. Enable on macOS with Cmd + F5. The VoiceOver modifier key (VO) is Ctrl + Option.
| Action | Shortcut |
|---|---|
| Toggle VoiceOver on/off | Cmd + F5 |
| Open VoiceOver rotor | VO + U |
| Navigate rotor items | Arrow keys |
| Next item | VO + Right Arrow |
| Interact with item | VO + Shift + Down Arrow |
| Stop interacting | VO + Shift + Up Arrow |
| Next heading | VO + Cmd + H |
| Next link | VO + Cmd + L |
| Next form control | VO + Cmd + J |
| Read all | VO + A |
| Stop reading | Ctrl |
| Activate link or button | VO + Space |
When the page loads, NVDA should announce the page <title>. Listen: is it descriptive? Does it distinguish this page from others on the site?
Press Tab immediately after the page loads. Is the first focusable element a skip link? Does activating it move focus past the navigation?
Press H (NVDA) or open the VoiceOver Rotor to navigate by headings. The heading structure should give a logical document outline. Missing headings, skipped levels, or non-descriptive headings are failures.
Press G (NVDA) to cycle through images. For each image, listen: is the alt text meaningful? Decorative images should be skipped entirely. Charts should describe the data insight.
Press Insert + F7 (NVDA) to list all links. Scan the list: are all link texts meaningful out of context? "Click here", "Read more", "Learn more" — these are all failures.
Tab into form fields. Does NVDA announce the label and type (e.g. "Email address, edit text")? After entering invalid data and submitting, does NVDA announce the error? Is focus moved to the error summary?
After an async action (loading search results, submitting a form, toggling an accordion), does NVDA announce what changed? If not, the site needs aria-live regions.
For modals, tabs, carousels, and custom dropdowns: does NVDA announce the role correctly ("dialog", "tab", "listbox")? Are states announced ("expanded", "selected", "checked")?
Use Accessalyze to find the obvious violations before your screen reader testing session. Fix automated findings first, then test manually.
Run Automated Scan First →See real website accessibility scores: Browse 244+ free accessibility audits →
Try it yourself
Enter your website URL to get a free accessibility score.