screen-reader-testing
Test web applications with screen readers including VoiceOver, NVDA, and JAWS.
Skill by shotcowboystyle
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/shotcowboystyle-screen-reader-testing
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
screen-reader-testing- Description
- Test web applications with screen readers including VoiceOver, NVDA, and JAWS. Use when validating screen reader compatibility, debugging accessibility issues, or ensuring assistive technology support.
- License
- MIT
- Instructions
- 242 lines in SKILL.md · view on GitHub
Files (5)
- SKILL.md
- jaws-talkback.md · references/
- nvda.md · references/
- voiceover-ios.md · references/
- voiceover.md · references/
SKILL.md (first lines)
# Screen Reader Testing
Practical guide to testing web applications with screen readers for comprehensive accessibility validation.
## When to Use This Skill
- Validating screen reader compatibility
- Testing ARIA implementations
- Debugging assistive technology issues
- Verifying form accessibility
- Testing dynamic content announcements
- Ensuring navigation accessibility
## Core Concepts
### 1. Major Screen Readers
| Screen Reader | Platform | Browser | Usage |
| ------------- | --------- | -------------- | ----- |
| **VoiceOver** | macOS/iOS | Safari | ~15% |
| **NVDA** | Windows | Firefox/Chrome | ~31% |
| **JAWS** | Windows | Chrome/IE | ~40% |
| **TalkBack** | Android | Chrome | ~10% |
| **Narrator** | Windows | Edge | ~4% |
### 2. Testing Priority
```
Minimum Coverage:
1. NVDA + Firefox (Windows)
2. VoiceOver + Safari (macOS)
3. VoiceOver + Safari (iOS)
Comprehensive Coverage:
+ JAWS + Chrome (Windows)
+ TalkBack + Chrome (Android)
+ Narrator + Edge (Windows)
```
### 3. Screen Reader Modes
| Mode | Purpose | When Used |
| ------------------ | ---------------------- | ----------------- |
| **Browse/Virtual** | Read content | Default reading |
| **Focus/Forms** | Interact with controls | Filling forms |
| **Application** | Custom widgets | ARIA applications |
Before testing on macOS, read [VoiceOver setup, commands, and checklists](references/voiceover.md).
For the required iOS Safari coverage, read [VoiceOver touch setup and gestures](references/voiceover-ios.md).
Before testing with NVDA, read [NVDA setup, modes, commands, and test scripts](references/nvda.md).
Before testing with JAWS or TalkBack, read [platform setup and commands](references/jaws-talkback.md).
## Common Test Scenarios
### 1. Modal Dialog
Prefer native `<dialog>` opened with `showModal()`: the browser makes the rest of the page inert, traps focus, closes on Escape, and exposes `role="dialog"` with `aria-modal` semantics.
```html
<dialog id="confirm-delete" aria-labelledby="dialog-title" aria-describedby="dialog-desc">
<h2 id="dialog-title" tabindex="-1">Confirm Delete</h2>
<p id="dialog-desc">This action cannot be undone.</p>
<button type="button" data-close>Cancel</button>
<button type="button">Delete</button>
</dialog>
```
```javascript
// Focus management: the heading needs tabindex="-1" to receive programmatic focus
const dialog = document.getElementById("confirm-delete");
let lastFocus = null;
function openDialog() {
lastFocus = document.activeElement;
dialog.showModal(); // inert background + focus containment + Escape to close
dialog.querySelector("#dialog-title").focus();
}
dialog.addEventListener("close", () => {
lastFocus?.focus(); // fires for Escape and dialog.close() alike
});
dialog.querySelector("[data-close]").addEventListener("click", () => dialog.close());
```
Test: on open, the screen reader announces the dialog name, role and description; Tab never reaches page content behind it; on close, focus lands back on the trigger.
### 2. Live Regions
```html
<!-- Status messages (polite) -->
<div role="status" aria-live="polite" aria-atomic="true">
<!-- Content updates will be announced after current speech -->
</div>
<!-- Alerts (assertive) -->
<div role="alert" aria-live="assertive">
<!-- Content updates interrupt current speech -->
</div>
<!-- Progress updates -->
<div
role="progressbar"
aria-valuenow="75"
aria-valuemin="0"
aria-valuemax="100"
aria-label="Upload progress"
></div>
<!-- Log (additions only) -->
<div role="log" aria-live="polite" aria-relevant="additions">
<!-- New messages announced, removals not -->
</div>
```
### 3. Tab InterfaceFrom shotcowboystyle/ag-skills, MIT.
More from shotcowboystyle/ag-skills
- 0.570score
ai-media-tools-index
shotcowboystyle
Curated index of agent-callable AI video and audio tooling on GitHub — ComfyUI integrations, MCP servers, agent skill packs, CLIs, agentic video frameworks…
SkillAFreshness: AClaude Code +9 - 0.570score
parallel-feature-development
shotcowboystyle
Coordinate parallel feature development with file ownership strategies, conflict avoidance rules, and integration patterns for multi-agent implementation.
SkillAFreshness: AClaude Code +9 - 0.570score
team-communication-protocols
shotcowboystyle
Structured messaging protocols for agent team communication including message type selection, plan approval, shutdown procedures, and anti-patterns to avoid.
SkillAFreshness: AClaude Code +9 - 0.570score
team-composition-patterns
shotcowboystyle
Design optimal agent team compositions with sizing heuristics, preset configurations, and agent type selection.
SkillAFreshness: AClaude Code +9 - 0.565score
text-to-image-to-video
shotcowboystyle
Two-stage pipeline that generates a still image from a text prompt (Flux/SDXL/Imagen) then animates it into a video clip (Kling/Runway/Hailuo/Wan).
SkillAFreshness: AClaude Code +9 - 0.565score
upscale-and-interpolate
shotcowboystyle
Post-processing chain — upscale a clip's resolution and/or interpolate frames for smoother motion.
SkillAFreshness: AClaude Code +9 - 0.565score
video-workspace-conventions
shotcowboystyle
Reference for the AI video production workspace — lifecycle phases, folder layout, naming conventions, and working principles.
SkillAFreshness: AClaude Code +9 - 0.565score
budget-estimator
shotcowboystyle
Estimate API costs for a planned pipeline or for an entire script before any generation runs.
SkillAFreshness: AClaude Code +9 - 0.565score
comfyui-export
shotcowboystyle
Export an AI-Video-Producer pipeline to ComfyUI workflow JSON — produce a workflow the user can load in ComfyUI to reproduce (or approximate) a hosted-API…
SkillAFreshness: AClaude Code +9 - 0.565score
comfyui-import
shotcowboystyle
Import a ComfyUI workflow JSON (the API-format export from ComfyUI's "Save (API Format)" option, or the UI-format graph JSON) and turn it into an…
SkillAFreshness: AClaude Code +9 - 0.565score
text-to-video-direct
shotcowboystyle
Single-step text-to-video generation (Sora, Veo, Kling text mode, Hailuo).
SkillAFreshness: AClaude Code +9 - 0.565score
model-researcher
shotcowboystyle
Research what fal.ai and Replicate (and optionally other providers — Runway, Kling, Pika, Hedra, ElevenLabs, OpenAI) currently offer for a given workload —…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 29
- Last commit (this folder)
- Oct 18, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/shotcowboystyle/ag-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from shotcowboystyle
- 0.570score
ai-media-tools-index
shotcowboystyle
Curated index of agent-callable AI video and audio tooling on GitHub — ComfyUI integrations, MCP servers, agent skill packs, CLIs, agentic video frameworks…
SkillAFreshness: AClaude Code +9 - 0.570score
parallel-feature-development
shotcowboystyle
Coordinate parallel feature development with file ownership strategies, conflict avoidance rules, and integration patterns for multi-agent implementation.
SkillAFreshness: AClaude Code +9 - 0.570score
team-communication-protocols
shotcowboystyle
Structured messaging protocols for agent team communication including message type selection, plan approval, shutdown procedures, and anti-patterns to avoid.
SkillAFreshness: AClaude Code +9 - 0.570score
team-composition-patterns
shotcowboystyle
Design optimal agent team compositions with sizing heuristics, preset configurations, and agent type selection.
SkillAFreshness: AClaude Code +9 - 0.565score
text-to-video-direct
shotcowboystyle
Single-step text-to-video generation (Sora, Veo, Kling text mode, Hailuo).
SkillAFreshness: AClaude Code +9 - 0.565score
comfyui-import
shotcowboystyle
Import a ComfyUI workflow JSON (the API-format export from ComfyUI's "Save (API Format)" option, or the UI-format graph JSON) and turn it into an…
SkillAFreshness: AClaude Code +9
Cite this page
screen-reader-testing skill. Agent Mart. https://agentmart.dev/skills/shotcowboystyle-screen-reader-testing (last updated 2026-10-24)