← Back to Accessalyze

By Genesis AI Services · April 21, 2026 · 9 min read · Testing

Screen Reader Testing Guide

Recommended starting setup: NVDA (free) + Chrome on Windows. This combination has the highest usage among blind users and the best axe-core compatibility. VoiceOver + Safari on macOS is the second most important pairing.

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 — Free Windows Screen Reader

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

Essential NVDA Keyboard Shortcuts

ActionShortcut
Start/stop speechCtrl
Toggle NVDA browse/focus modeInsert + Space
Read from current positionInsert + Down Arrow
Next headingH
Previous headingShift + H
Next heading level 11
Next linkK
List all linksInsert + F7
List all headingsInsert + F7 (then select Headings)
Next form elementF
Next buttonB
Next imageG
Next tableT
Move within table (cell by cell)Ctrl + Alt + Arrow keys
Next landmark regionD
Enter form modeEnter on a form field
Exit form modeEscape

VoiceOver — Built-In macOS/iOS Screen Reader

VoiceOver is pre-installed on all Apple devices. Enable on macOS with Cmd + F5. The VoiceOver modifier key (VO) is Ctrl + Option.

Essential VoiceOver Shortcuts (macOS + Safari)

ActionShortcut
Toggle VoiceOver on/offCmd + F5
Open VoiceOver rotorVO + U
Navigate rotor itemsArrow keys
Next itemVO + Right Arrow
Interact with itemVO + Shift + Down Arrow
Stop interactingVO + Shift + Up Arrow
Next headingVO + Cmd + H
Next linkVO + Cmd + L
Next form controlVO + Cmd + J
Read allVO + A
Stop readingCtrl
Activate link or buttonVO + Space

What to Test and What to Listen For

1. Page Title and Language

When the page loads, NVDA should announce the page <title>. Listen: is it descriptive? Does it distinguish this page from others on the site?

2. Skip Navigation Link

Press Tab immediately after the page loads. Is the first focusable element a skip link? Does activating it move focus past the navigation?

3. Heading Structure

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.

4. Images

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.

5. Links

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.

6. Forms

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?

7. Dynamic Content

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.

8. Custom Widgets

For modals, tabs, carousels, and custom dropdowns: does NVDA announce the role correctly ("dialog", "tab", "listbox")? Are states announced ("expanded", "selected", "checked")?

Testing Checklist

  1. Page loads — title announced, language correct
  2. First Tab — skip link present and functional
  3. Heading structure makes sense in outline form
  4. All images have meaningful alt text (or are skipped if decorative)
  5. All links have descriptive text out of context
  6. Forms: all labels announced, errors linked and announced
  7. Tables: headers announced with cell data
  8. Dynamic content changes announced via live regions
  9. Modals trap focus, close on Escape, return focus on close
  10. No keyboard traps

Start With Automated Scanning First

Use Accessalyze to find the obvious violations before your screen reader testing session. Fix automated findings first, then test manually.

Run Automated Scan First →

← Back to Accessalyze

Accessalyze - Free WCAG 2.1 scanner that writes the fix code for you | Product Hunt

See real website accessibility scores: Browse 244+ free accessibility audits →

Try it yourself

Enter your website URL to get a free accessibility score.

Check your website accessibility score free Scan Now →