Audit against WCAG 2.1 AA across perceivable, operable, understandable, robust. Use when accessibility, a11y, WCAG, contrast, screen reader, tap target, or is this accessible.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Uwayxt/agent-skills --skill accessibility-review --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Accessibility Review?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/uwayxt-accessibility-review)More formats (shields.io, HTML) on the badges page.
---
name: accessibility-review
description: Audit against WCAG 2.1 AA across perceivable, operable, understandable, robust. Use when accessibility, a11y, WCAG, contrast, screen reader, tap target, or is this accessible.
---
# Accessibility is a Constraint, Not a Checkbox
Accessibility is not a checkbox at the end — it's a constraint from the start. Every inaccessible element is a user you've locked out. Audit against WCAG 2.1 AA as the baseline; anything less is a known risk.
### 1. Perceivable
- **Color contrast:** Text against background meets 4.5:1 for normal text, 3:1 for large text. Check every color pairing in the design tokens.
- **Non-text content:** Every image, icon, and chart has alt text or aria-label.
- **State indicators:** Color is not the sole indicator of state (error = red + icon + text, not just red).
### 2. Operable
- **Keyboard navigation:** Every interactive element is reachable via Tab and activatable via Enter/Space. Tab order follows visual order.
- **Focus indicators:** Visible focus ring on every focusable element. Never `outline: none` without a replacement.
- **Tap targets:** Minimum 44×44px on touch devices.
- **No keyboard traps:** Modals, dropdowns, and popovers must allow escape via Esc.
### 3. Understandable
- **Labels:** Every form input has a visible label (not just placeholder text).
- **Error messages:** Specific ("Email must contain @"), not generic ("Invalid input").
- **Language:** Page declares `lang` attribute.
- **Predictable:** Similar things behave similarly across the product.
### 4. Robust
- **Semantic HTML:** Use `<button>` for actions, `<a>` for navigation, `<nav>`, `<main>`, `<header>`, `<footer>` for landmarks.
- **ARIA:** Use ARIA roles/properties only when semantic HTML is insufficient.
- **Heading hierarchy:** `h1` → `h2` → `h3`, no skipping levels.
## Output Format
- Accessibility audit checklist: criterion → pass/fail → evidence → fix recommendation.
- Summary: total pass, total fail, severity of failures.
## Completion Criteria
Done when every criterion in the 4 categories has been evaluated. Not done if "we'll check accessibility later."
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!