a11y-core
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched on its own.
Reference data, not a reviewer. Accessibility testing decision trees, browser/AT compatibility matrices, manual vs. automated test coverage, regression testing patterns, and acceptance criteria templates for user stories.
$ npx -y skills add Community-Access/accessibility-agents --skill kb-testing-strategy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/kb-testing-strategyContext preview
The summary Claude sees to decide when to auto-load this skill.
Reference data, not a reviewer. Accessibility testing decision trees, browser/AT compatibility matrices, manual vs. automated test coverage, regression testing patterns, and acceptance criteria templates for user stories.
name: kb-testing-strategy description: Reference data, not a reviewer. Accessibility testing decision trees, browser/AT compatibility matrices, manual vs. automated test coverage, regression testing patterns, and acceptance criteria templates for user stories. license: MIT disable-model-invocation: true user-invocable: false metadata: tier: reference domain: cross-cutting output: none effort: low title: Testing Strategy
Decision frameworks for accessibility testing — when to use automated tools vs. manual testing, which screen reader + browser combinations to test, and how to write accessibility acceptance criteria.
---
Each row, with what automated tools catch (~30-40%) and what requires manual testing (~60-70%).
| What Automated Tools Catch (~30-40%) | What Requires Manual Testing (~60-70%) | |--------------------------------------|---------------------------------------| | Missing alt text on images | Alt text quality and accuracy | | Missing form labels | Label clarity and helpfulness | | Color contrast ratios (computed) | Color contrast in context (gradients, images) | | Missing lang attribute | Correct language identification | | Duplicate IDs | Logical reading order | | Missing ARIA roles on custom widgets | Correct ARIA role for the interaction pattern | | Heading hierarchy violations | Heading text meaningfulness | | Empty links and buttons | Link/button text descriptiveness | | Missing table headers | Table caption and header association quality | | Syntax errors in ARIA | Screen reader announcement correctness |
Each screen reader, with its browser, OS and priority.
| Screen Reader | Browser | OS | Priority | |--------------|---------|-----|----------| | NVDA | Firefox | Windows | Must test | | NVDA | Chrome | Windows | Must test | | JAWS | Chrome | Windows | Must test | | VoiceOver | Safari | macOS | Must test | | VoiceOver | Safari | iOS | Must test | | TalkBack | Chrome | Android | Should test |
Each screen reader, with its browser and OS.
| Screen Reader | Browser | OS | |--------------|---------|-----| | Narrator | Edge | Windows | | JAWS | Edge | Windows |
Is it a new component or page?
├── Yes → Full test coverage (automated + manual)
│ ├── Run axe-core / Lighthouse scan
│ ├── Keyboard-only navigation test
│ ├── Screen reader announcement test (NVDA + VoiceOver minimum)
│ └── Visual check at 200% zoom
└── No → What changed?
├── Colors/styling → Contrast check + visual review
├── Interactive behavior → Keyboard + screen reader test
├── Content/text → Screen reader announcement check
├── Layout/order → Reading order + focus order test
└── Dependencies updated → Regression scan (axe-core)1. **axe-core scan**: Run on every PR. Fail on new critical/serious violations. 2. **Baseline management**: Store known issues in `.a11y-baseline.json`. Only fail on **new** issues. 3. **Lighthouse score threshold**: Set minimum accessibility score (e.g., 90). Fail on regression. 4. **Visual regression**: Capture screenshots at 200% zoom. Compare for focus indicator and layout changes.
Given [context], When [action by keyboard/mouse/screen reader], Then [accessible outcome]: - [ ] Component has an accessible name (via label, aria-label, or aria-labelledby) - [ ] Component has the correct ARIA role - [ ] Component is reachable and operable by keyboard (Tab, Enter, Space, Escape, Arrows as appropriate) - [ ] Focus is visible when the component receives focus - [ ] State changes are announced to screen readers (aria-expanded, aria-selected, aria-checked, etc.) - [ ] Error messages are associated with their inputs (aria-describedby or aria-errormessage) - [ ] Content is readable at 200% zoom without horizontal scrolling - [ ] Color is not the only means of conveying information
Each tool, with type and best for.
| Tool | Type | Best For | |------|------|----------| | axe-core / @axe-core/cli | Automated | CI/CD integration, broad violation scan | | Lighthouse | Automated | Performance + accessibility combined score | | WAVE | Semi-automated | Visual overlay of accessibility features/issues | | Accessibility Insights | Semi-automated | FastPass (automated) + Assessment (guided manual) | | pa11y | Automated | CI/CD, HTML CodeSniffer rules | | jest-axe | Unit test | Component-level axe scans in jest | | cypress-axe | E2E test | Page-level axe scans in Cypress | | playwright + @axe-core/playwright | E2E test | Page-level axe scans in Playwright |
Each key, with its action.
| Key | Action | |-----|--------| | Insert + Space | Toggle focus/browse mode | | Tab | Move to next focusable element | | H | Next heading | | D | Next landmark | | F | Next form field | | T | Next table | | Insert + F7 | Elements list (links, headings, landmarks) |
Each key, with its action.
| Key | Action | |-----|--------| | VO (Ctrl+Option) + Right | Move to next element | | VO + Space | Activate current element | | VO + U | Open rotor (navigate by type) | | VO + Cmd + H | Next heading |
WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies. Models forget accessibility while generating code.
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched on its own.
Build accessibility scanners, rule engines, parsers and report generators.
Web UI accessibility lead. Use before writing or changing HTML, JSX, TSX, Vue, Svelte, CSS or templates. Picks specialists and merges their findings.
Compare audits across commits to find new, fixed and regressed issues.
Generate a W3C or EU model accessibility statement from audit results.
GitHub Actions: workflow runs, logs, re-runs and CI failure triage.