Triggers
- accessibility audit
- WCAG compliance
- screen reader testing
- keyboard navigation
- accessibility check
- a11y audit
- ARIA review
- color contrast
- assistive technology
- inclusive design
- focus management
- alt text review
- accessible components
- Section 508
- accessibility remediation
Instructions
Automated Baseline Scan
- Run axe-core against all pages using
shell_execute: npx @axe-core/cli [url] --tags wcag2a,wcag2aa,wcag22aa
- Run Lighthouse accessibility audit
- Check color contrast across the design system
- Review heading hierarchy and landmark structure
- Identify all custom interactive components for manual testing
- Use
browser_navigate to inspect pages visually
Manual Assistive Technology Testing
- Navigate every user journey with keyboard only -- no mouse
- Complete all critical flows with a screen reader (VoiceOver on macOS, NVDA on Windows)
- Test at 200% and 400% browser zoom for content overlap and horizontal scrolling
- Enable reduced motion and verify animations respect
prefers-reduced-motion
- Enable high contrast mode and verify content remains visible and usable
Component-Level Deep Dive
- Audit every custom interactive component against WAI-ARIA Authoring Practices
- Verify form validation announces errors to screen readers
- Test dynamic content (modals, toasts, live updates) for proper focus management
- Check all images, icons, and media for appropriate text alternatives
- Validate data tables for proper header associations
Standards-Based Assessment
- Always reference specific WCAG 2.2 success criteria by number and name
- Classify severity: Critical, Serious, Moderate, Minor
- Never rely solely on automated tools -- they miss focus order, reading order, ARIA misuse, cognitive barriers
- Push for semantic HTML before ARIA -- the best ARIA is the ARIA you don't need
- Consider the full spectrum: visual, auditory, motor, cognitive, vestibular, situational disabilities
Report and Remediation
- Document every issue with WCAG criterion, severity, evidence, and fix
- Prioritize by user impact -- a missing form label blocks task completion
- Provide code-level fix examples, not just descriptions
- Use
knowledge_write to store remediation patterns
- Schedule re-audit after fixes are implemented
Deliverables
Accessibility Audit Report Template
# Accessibility Audit Report
## Audit Overview
**Product/Feature**: [Name and scope]
**Standard**: WCAG 2.2 Level AA
**Date**: [Audit date]
**Tools Used**: [axe-core, Lighthouse, screen reader(s), keyboard testing]
## Testing Methodology
**Automated Scanning**: [Tools and pages scanned]
**Screen Reader Testing**: [VoiceOver/NVDA/JAWS -- OS and browser versions]
**Keyboard Testing**: [All interactive flows tested keyboard-only]
**Visual Testing**: [Zoom 200%/400%, high contrast, reduced motion]
## Summary
**Total Issues Found**: [Count]
- Critical: [Count] -- Blocks access entirely for some users
- Serious: [Count] -- Major barriers requiring workarounds
- Moderate: [Count] -- Causes difficulty but has workarounds
- Minor: [Count] -- Annoyances that reduce usability
**WCAG Conformance**: DOES NOT CONFORM / PARTIALLY CONFORMS / CONFORMS
**Assistive Technology Compatibility**: FAIL / PARTIAL / PASS
## Issues Found
### Issue 1: [Descriptive title]
**WCAG Criterion**: [Number -- Name] (Level A/AA/AAA)
**Severity**: Critical / Serious / Moderate / Minor
**User Impact**: [Who is affected and how]
**Location**: [Page, component, or element]
**Current State**: [code snippet]
**Recommended Fix**: [code snippet]
**Testing Verification**: [How to confirm the fix works]
## What's Working Well
- [Positive findings -- reinforce good patterns]
## Remediation Priority
### Immediate (Critical/Serious -- fix before release)
### Short-term (Moderate -- fix within next sprint)
### Ongoing (Minor -- address in regular maintenance)
Keyboard Navigation Checklist
## Global Navigation
- [ ] All interactive elements reachable via Tab
- [ ] Tab order follows visual layout logic
- [ ] Skip navigation link present and functional
- [ ] No keyboard traps
- [ ] Focus indicator visible on every interactive element
- [ ] Escape closes modals, dropdowns, overlays
- [ ] Focus returns to trigger element after modal closes
Success Metrics
- Products achieve genuine WCAG 2.2 AA conformance, not just passing automated scans
- Screen reader users can complete all critical user journeys independently
- Keyboard-only users can access every interactive element without traps
- Accessibility issues caught during development, not after launch
- Teams build accessibility knowledge and prevent recurring issues
- Zero critical or serious accessibility barriers in production releases
Verify
- An automated accessibility scanner (axe, Lighthouse, pa11y, or equivalent) was actually run; the report is attached or summarized with rule IDs
- Every flagged violation carries a WCAG success-criterion reference (e.g., 1.4.3, 2.4.7), not a vague 'a11y issue'
- Keyboard-only walkthrough of the affected flow was performed end-to-end; tab order is documented
- Screen-reader output (VoiceOver, NVDA, TalkBack) was sampled on at least one critical control and the announced text is recorded
- Color-contrast ratios for new text/icons are reported as numbers (e.g., 4.7:1) against the WCAG AA threshold
- Fixes were re-scanned after applying; the second-pass report shows zero regressions on previously-passing checks
1---2name: accessibility-auditing3description: Audit interfaces against WCAG 2.2 standards, test with assistive technologies, and ensure inclusive design beyond what automated tools catch. Adapted from msitarzewski/agency-agents.4---56## Triggers78- accessibility audit9- WCAG compliance10- screen reader testing11- keyboard navigation12- accessibility check13- a11y audit14- ARIA review15- color contrast16- assistive technology17- inclusive design18- focus management19- alt text review20- accessible components21- Section 50822- accessibility remediation2324## Instructions2526### Automated Baseline Scan27- Run axe-core against all pages using `shell_execute`: `npx @axe-core/cli [url] --tags wcag2a,wcag2aa,wcag22aa`28- Run Lighthouse accessibility audit29- Check color contrast across the design system30- Review heading hierarchy and landmark structure31- Identify all custom interactive components for manual testing32- Use `browser_navigate` to inspect pages visually3334### Manual Assistive Technology Testing35- Navigate every user journey with keyboard only -- no mouse36- Complete all critical flows with a screen reader (VoiceOver on macOS, NVDA on Windows)37- Test at 200% and 400% browser zoom for content overlap and horizontal scrolling38- Enable reduced motion and verify animations respect `prefers-reduced-motion`39- Enable high contrast mode and verify content remains visible and usable4041### Component-Level Deep Dive42- Audit every custom interactive component against WAI-ARIA Authoring Practices43- Verify form validation announces errors to screen readers44- Test dynamic content (modals, toasts, live updates) for proper focus management45- Check all images, icons, and media for appropriate text alternatives46- Validate data tables for proper header associations4748### Standards-Based Assessment49- Always reference specific WCAG 2.2 success criteria by number and name50- Classify severity: Critical, Serious, Moderate, Minor51- Never rely solely on automated tools -- they miss focus order, reading order, ARIA misuse, cognitive barriers52- Push for semantic HTML before ARIA -- the best ARIA is the ARIA you don't need53- Consider the full spectrum: visual, auditory, motor, cognitive, vestibular, situational disabilities5455### Report and Remediation56- Document every issue with WCAG criterion, severity, evidence, and fix57- Prioritize by user impact -- a missing form label blocks task completion58- Provide code-level fix examples, not just descriptions59- Use `knowledge_write` to store remediation patterns60- Schedule re-audit after fixes are implemented6162## Deliverables6364### Accessibility Audit Report Template6566```markdown67# Accessibility Audit Report6869## Audit Overview70**Product/Feature**: [Name and scope]71**Standard**: WCAG 2.2 Level AA72**Date**: [Audit date]73**Tools Used**: [axe-core, Lighthouse, screen reader(s), keyboard testing]7475## Testing Methodology76**Automated Scanning**: [Tools and pages scanned]77**Screen Reader Testing**: [VoiceOver/NVDA/JAWS -- OS and browser versions]78**Keyboard Testing**: [All interactive flows tested keyboard-only]79**Visual Testing**: [Zoom 200%/400%, high contrast, reduced motion]8081## Summary82**Total Issues Found**: [Count]83- Critical: [Count] -- Blocks access entirely for some users84- Serious: [Count] -- Major barriers requiring workarounds85- Moderate: [Count] -- Causes difficulty but has workarounds86- Minor: [Count] -- Annoyances that reduce usability8788**WCAG Conformance**: DOES NOT CONFORM / PARTIALLY CONFORMS / CONFORMS89**Assistive Technology Compatibility**: FAIL / PARTIAL / PASS9091## Issues Found9293### Issue 1: [Descriptive title]94**WCAG Criterion**: [Number -- Name] (Level A/AA/AAA)95**Severity**: Critical / Serious / Moderate / Minor96**User Impact**: [Who is affected and how]97**Location**: [Page, component, or element]98**Current State**: [code snippet]99**Recommended Fix**: [code snippet]100**Testing Verification**: [How to confirm the fix works]101102## What's Working Well103- [Positive findings -- reinforce good patterns]104105## Remediation Priority106### Immediate (Critical/Serious -- fix before release)107### Short-term (Moderate -- fix within next sprint)108### Ongoing (Minor -- address in regular maintenance)109```110111### Keyboard Navigation Checklist112113```markdown114## Global Navigation115- [ ] All interactive elements reachable via Tab116- [ ] Tab order follows visual layout logic117- [ ] Skip navigation link present and functional118- [ ] No keyboard traps119- [ ] Focus indicator visible on every interactive element120- [ ] Escape closes modals, dropdowns, overlays121- [ ] Focus returns to trigger element after modal closes122```123124## Success Metrics125126- Products achieve genuine WCAG 2.2 AA conformance, not just passing automated scans127- Screen reader users can complete all critical user journeys independently128- Keyboard-only users can access every interactive element without traps129- Accessibility issues caught during development, not after launch130- Teams build accessibility knowledge and prevent recurring issues131- Zero critical or serious accessibility barriers in production releases132133## Verify134135- An automated accessibility scanner (axe, Lighthouse, pa11y, or equivalent) was actually run; the report is attached or summarized with rule IDs136- Every flagged violation carries a WCAG success-criterion reference (e.g., 1.4.3, 2.4.7), not a vague 'a11y issue'137- Keyboard-only walkthrough of the affected flow was performed end-to-end; tab order is documented138- Screen-reader output (VoiceOver, NVDA, TalkBack) was sampled on at least one critical control and the announced text is recorded139- Color-contrast ratios for new text/icons are reported as numbers (e.g., 4.7:1) against the WCAG AA threshold140- Fixes were re-scanned after applying; the second-pass report shows zero regressions on previously-passing checks