Overview
Performs a thorough accessibility audit against WCAG 2.1 AA (and notes AAA where relevant). Combines automated tools (axe-core, WAVE, Lighthouse), manual testing procedures (keyboard-only navigation, screen reader simulation, zoom, color contrast), common ARIA misuse patterns, and produces a prioritized fix list with severity, effort, and concrete remediation steps.
When to Use This Skill
- Before launching a new feature or site.
- After a design or code change that affects UI.
- User requests an "accessibility audit", "a11y review", "WCAG compliance", or "make it accessible".
- Legal or procurement requirements (Section 508, ADA, etc.).
Prerequisites
- The live page or a deployed preview.
- Browser DevTools + axe DevTools extension (or CLI).
- Screen reader (VoiceOver on Mac, NVDA on Windows — free).
- Color contrast tool (WebAIM or built into DevTools).
Steps
Automated scan:
- Run axe-core (browser extension or
axe-core in CI).
- Run Lighthouse Accessibility category.
- Run WAVE (webaim.org/wave).
- Record all violations with node selectors or screenshots.
Manual keyboard test:
- Tab through the entire page.
- Verify visible focus indicators on every interactive element.
- Test all functionality (modals, dropdowns, carousels, forms) with keyboard only.
- Check skip links, logical tab order, and no keyboard traps.
Screen reader test:
- Use VoiceOver (Mac) or NVDA.
- Listen to the page reading order.
- Verify headings are logical (H1 → H2 etc.).
- Check that images have alt text, form labels are announced, ARIA live regions work, and dynamic content is announced.
- Test with rotor/landmarks.
Color & contrast:
- Check all text and non-text (icons, buttons) against 4.5:1 (text) / 3:1 (large text, UI components).
- Test in both light and dark modes if applicable.
- Simulate color blindness (DevTools or Coblis).
WCAG 2.1 AA checklist (structured by POUR):
- Perceivable: text alternatives, captions, contrast, resize text, reflow.
- Operable: keyboard, enough time, seizures, navigable, input modalities.
- Understandable: readable, predictable, input assistance.
- Robust: compatible with assistive tech, valid markup.
Common ARIA pitfalls to flag:
aria-hidden on focusable elements.
- Incorrect
role or missing required ARIA attributes.
- Over-use of
aria-label instead of visible text.
tabindex > 0.
Prioritized fix list:
- Severity: Critical (blocks users), High, Medium, Low.
- Effort estimate.
- Exact fix (code change or design change).
- Success criteria for re-test.
Output:
- Summary of automated + manual findings.
- Full prioritized matrix.
- Before/after code snippets for top issues.
- Recommendations for ongoing monitoring (axe in CI, manual spot-checks).
Examples
A sample audit report for a typical dashboard page (with 8-10 findings across categories) and remediation code for the most common issues (missing labels, focus management in modals, color contrast, keyboard navigation in custom components) are included.
Edge Cases & Error Handling
- Complex widgets (data tables, date pickers, rich text editors): Recommend ARIA patterns from WAI-ARIA Authoring Practices or a well-tested library (React Aria, Radix).
- Third-party components: Audit them separately; suggest alternatives if they fail badly.
- Dynamic content: Ensure live regions and focus management on updates.
Verification
- Re-run axe and Lighthouse after fixes — critical violations = 0.
- Perform the same keyboard + screen reader test — all flows work without assistance.
- Contrast checker passes for all text/UI.
- A real user who relies on assistive technology tests the flow (if possible).
- Success: WCAG 2.1 AA conformance (or as close as the design allows), with documented exceptions if any.
References
1---2name: accessibility-auditor3description: Audits web interfaces for WCAG 2.1 AA compliance and generates a prioritized fix list. Use when auditing accessibility, preparing for legal compliance, or improving inclusivity.4license: Apache-2.05compatibility: Claude Code, Codex, Gemini CLI6metadata:7 author: ai-skills8 version: "1.0"9 category: web-development10 tags: accessibility, wcag, a11y, axe, audit, aria11---1213## Overview1415Performs a thorough accessibility audit against WCAG 2.1 AA (and notes AAA where relevant). Combines automated tools (axe-core, WAVE, Lighthouse), manual testing procedures (keyboard-only navigation, screen reader simulation, zoom, color contrast), common ARIA misuse patterns, and produces a prioritized fix list with severity, effort, and concrete remediation steps.1617## When to Use This Skill1819- Before launching a new feature or site.20- After a design or code change that affects UI.21- User requests an "accessibility audit", "a11y review", "WCAG compliance", or "make it accessible".22- Legal or procurement requirements (Section 508, ADA, etc.).2324## Prerequisites2526- The live page or a deployed preview.27- Browser DevTools + axe DevTools extension (or CLI).28- Screen reader (VoiceOver on Mac, NVDA on Windows — free).29- Color contrast tool (WebAIM or built into DevTools).3031## Steps32331. **Automated scan**:34 - Run axe-core (browser extension or `axe-core` in CI).35 - Run Lighthouse Accessibility category.36 - Run WAVE (webaim.org/wave).37 - Record all violations with node selectors or screenshots.38392. **Manual keyboard test**:40 - Tab through the entire page.41 - Verify visible focus indicators on every interactive element.42 - Test all functionality (modals, dropdowns, carousels, forms) with keyboard only.43 - Check skip links, logical tab order, and no keyboard traps.44453. **Screen reader test**:46 - Use VoiceOver (Mac) or NVDA.47 - Listen to the page reading order.48 - Verify headings are logical (H1 → H2 etc.).49 - Check that images have alt text, form labels are announced, ARIA live regions work, and dynamic content is announced.50 - Test with rotor/landmarks.51524. **Color & contrast**:53 - Check all text and non-text (icons, buttons) against 4.5:1 (text) / 3:1 (large text, UI components).54 - Test in both light and dark modes if applicable.55 - Simulate color blindness (DevTools or Coblis).56575. **WCAG 2.1 AA checklist** (structured by POUR):58 - **Perceivable**: text alternatives, captions, contrast, resize text, reflow.59 - **Operable**: keyboard, enough time, seizures, navigable, input modalities.60 - **Understandable**: readable, predictable, input assistance.61 - **Robust**: compatible with assistive tech, valid markup.62636. **Common ARIA pitfalls to flag**:64 - `aria-hidden` on focusable elements.65 - Incorrect `role` or missing required ARIA attributes.66 - Over-use of `aria-label` instead of visible text.67 - `tabindex > 0`.68697. **Prioritized fix list**:70 - Severity: Critical (blocks users), High, Medium, Low.71 - Effort estimate.72 - Exact fix (code change or design change).73 - Success criteria for re-test.74758. **Output**:76 - Summary of automated + manual findings.77 - Full prioritized matrix.78 - Before/after code snippets for top issues.79 - Recommendations for ongoing monitoring (axe in CI, manual spot-checks).8081## Examples8283A sample audit report for a typical dashboard page (with 8-10 findings across categories) and remediation code for the most common issues (missing labels, focus management in modals, color contrast, keyboard navigation in custom components) are included.8485## Edge Cases & Error Handling8687- **Complex widgets** (data tables, date pickers, rich text editors): Recommend ARIA patterns from WAI-ARIA Authoring Practices or a well-tested library (React Aria, Radix).88- **Third-party components**: Audit them separately; suggest alternatives if they fail badly.89- **Dynamic content**: Ensure live regions and focus management on updates.9091## Verification92931. Re-run axe and Lighthouse after fixes — critical violations = 0.942. Perform the same keyboard + screen reader test — all flows work without assistance.953. Contrast checker passes for all text/UI.964. A real user who relies on assistive technology tests the flow (if possible).975. Success: WCAG 2.1 AA conformance (or as close as the design allows), with documented exceptions if any.9899## References100101- [WCAG 2.1 Quickref](https://www.w3.org/WAI/WCAG21/quickref/)102- [WAI-ARIA Authoring Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg/)103- [axe DevTools](https://www.deque.com/axe/devtools/)104- [WebAIM](https://webaim.org/)105- [Lighthouse Accessibility](https://developer.chrome.com/docs/lighthouse/accessibility/)106- [Inclusive Components](https://inclusive-components.design/)