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.05---67## Overview89Performs 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.1011## When to Use This Skill1213- Before launching a new feature or site.14- After a design or code change that affects UI.15- User requests an "accessibility audit", "a11y review", "WCAG compliance", or "make it accessible".16- Legal or procurement requirements (Section 508, ADA, etc.).1718## Prerequisites1920- The live page or a deployed preview.21- Browser DevTools + axe DevTools extension (or CLI).22- Screen reader (VoiceOver on Mac, NVDA on Windows — free).23- Color contrast tool (WebAIM or built into DevTools).2425## Steps26271. **Automated scan**:28 - Run axe-core (browser extension or `axe-core` in CI).29 - Run Lighthouse Accessibility category.30 - Run WAVE (webaim.org/wave).31 - Record all violations with node selectors or screenshots.32332. **Manual keyboard test**:34 - Tab through the entire page.35 - Verify visible focus indicators on every interactive element.36 - Test all functionality (modals, dropdowns, carousels, forms) with keyboard only.37 - Check skip links, logical tab order, and no keyboard traps.38393. **Screen reader test**:40 - Use VoiceOver (Mac) or NVDA.41 - Listen to the page reading order.42 - Verify headings are logical (H1 → H2 etc.).43 - Check that images have alt text, form labels are announced, ARIA live regions work, and dynamic content is announced.44 - Test with rotor/landmarks.45464. **Color & contrast**:47 - Check all text and non-text (icons, buttons) against 4.5:1 (text) / 3:1 (large text, UI components).48 - Test in both light and dark modes if applicable.49 - Simulate color blindness (DevTools or Coblis).50515. **WCAG 2.1 AA checklist** (structured by POUR):52 - **Perceivable**: text alternatives, captions, contrast, resize text, reflow.53 - **Operable**: keyboard, enough time, seizures, navigable, input modalities.54 - **Understandable**: readable, predictable, input assistance.55 - **Robust**: compatible with assistive tech, valid markup.56576. **Common ARIA pitfalls to flag**:58 - `aria-hidden` on focusable elements.59 - Incorrect `role` or missing required ARIA attributes.60 - Over-use of `aria-label` instead of visible text.61 - `tabindex > 0`.62637. **Prioritized fix list**:64 - Severity: Critical (blocks users), High, Medium, Low.65 - Effort estimate.66 - Exact fix (code change or design change).67 - Success criteria for re-test.68698. **Output**:70 - Summary of automated + manual findings.71 - Full prioritized matrix.72 - Before/after code snippets for top issues.73 - Recommendations for ongoing monitoring (axe in CI, manual spot-checks).7475## Examples7677A 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.7879## Edge Cases & Error Handling8081- **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).82- **Third-party components**: Audit them separately; suggest alternatives if they fail badly.83- **Dynamic content**: Ensure live regions and focus management on updates.8485## Verification86871. Re-run axe and Lighthouse after fixes — critical violations = 0.882. Perform the same keyboard + screen reader test — all flows work without assistance.893. Contrast checker passes for all text/UI.904. A real user who relies on assistive technology tests the flow (if possible).915. Success: WCAG 2.1 AA conformance (or as close as the design allows), with documented exceptions if any.9293## References9495- [WCAG 2.1 Quickref](https://www.w3.org/WAI/WCAG21/quickref/)96- [WAI-ARIA Authoring Practices Guide (APG)](https://www.w3.org/WAI/ARIA/apg/)97- [axe DevTools](https://www.deque.com/axe/devtools/)98- [WebAIM](https://webaim.org/)99- [Lighthouse Accessibility](https://developer.chrome.com/docs/lighthouse/accessibility/)100- [Inclusive Components](https://inclusive-components.design/)