Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Screen Reader Testing

ASecurity

Use when performing accessibility audits of web pages, components, or full user flows. Applies to all web content accessed via assistive technology. Particularly important for custom JavaScript widgets, single-page applications, dynamically updated content, modal dialogs, and forms with validation.

74,358 stars
0 votes
0 copies
0 views
Added 10/5/2026
developmentjavascriptgojavaawstestingfrontend

Works with

cursor

Security Analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned 10/5/2026

$npx -y skills add thedaviddias/Front-End-Checklist --skill screen-reader-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Screen Reader Testing?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Screen Reader Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedaviddias-screen-reader-testing/badge)](https://www.skillsdirectory.com/skills/thedaviddias-screen-reader-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: screen-reader-testing
description: "Use when performing accessibility audits of web pages, components, or full user flows. Applies to all web content accessed via assistive technology. Particularly important for custom JavaScript widgets, single-page applications, dynamically updated content, modal dialogs, and forms with validation."
metadata:
  category: accessibility
  priority: high
  difficulty: intermediate
  estimatedTime: "60"
  source: frontendchecklist.io
  url: https://frontendchecklist.io/rules/accessibility/screen-reader-testing
---

# Test with screen readers

Screen readers are the primary interface for blind users and many users with severe low vision or motor disabilities. Automated accessibility scanners cannot detect incorrect announcements, wrong reading order, missing context, focus traps, or broken keyboard interactions. A page that passes automated checks can still be completely unusable by a screen reader user. Manual screen reader testing with representative tasks is the only way to verify real usability for this population.

## Quick Reference

- Automated tools catch ~30-40% of accessibility issues — screen reader testing finds the rest
- Test with NVDA + Chrome or Firefox on Windows; JAWS + Chrome on Windows; VoiceOver + Safari on macOS/iOS; TalkBack + Chrome on Android
- Verify: all interactive elements are reachable by keyboard, announced correctly, and operable
- Check dynamic content: live regions (`aria-live`), modal dialogs (focus trap), and custom widgets (menus, tabs, trees)
- Test real user flows: form completion, navigation to a destination, error correction

## Check

Test the page with at least two screen reader / browser combinations: (1) NVDA + Chrome (Windows) or VoiceOver + Safari (macOS). Navigate using only the keyboard: Tab for focusable elements, arrow keys for widgets, heading navigation (H key in NVDA/JAWS), landmark navigation (D/R keys), and links list (NVDA: Insert+F7). Verify: all interactive elements are reachable and announced with name + role + state; custom widgets (menus, tabs, dialogs) follow ARIA Authoring Practices Guide keyboard patterns; dynamic updates are announced via live regions; focus is managed correctly when modals open and close.

## Fix

Common issues and fixes: (1) Missing accessible names — add aria-label or associate <label> elements. (2) Wrong reading order — reorder DOM structure to match visual order; use CSS for visual reordering only. (3) Focus lost after modal closes — return focus to the trigger element. (4) Dynamic content not announced — add aria-live='polite' (non-critical) or aria-live='assertive' (critical alerts) to containers. (5) Custom widget not keyboard operable — implement ARIA APG keyboard patterns (roving tabindex for menus, arrow keys for tabs). (6) Form errors not announced — associate error messages via aria-describedby or use aria-live regions.

## Explain

Screen readers convert web content to audio or braille output. They build their understanding of a page from the accessibility tree — a parallel representation of the DOM constructed from HTML semantics and ARIA attributes. Automated tools check the tree structure for known violations, but cannot verify whether a blind user can actually complete a task. Screen reader testing requires navigating with real screen reader commands: reading mode (virtual cursor) for browsing content, forms/application mode for interacting with widgets, and shortcut keys for headings, landmarks, and links. Each screen reader + browser combination has unique behavior quirks.

## Code Review

Review the rendered markup and interactive states that affect Test with screen readers. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.

---

For full implementation details, code examples, and framework-specific guidance,
see `references/rule.md`.

Rule page: https://frontendchecklist.io/rules/accessibility/screen-reader-testing

Attribution

thedaviddiasthedaviddias
View sourceSee grades on GitHubMore from thedaviddias →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Clean Code

Pragmatic coding standards - concise, direct, no over-engineering, no unnecessary comments

304955 votes

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

286712 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2222 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Writing Plans

Use when you have a spec or requirements for a multi-step task, before touching code

2927051 votes
View all in development →