.cursor/skills/audit-skills/audit-a11y/SKILL.md
Accessibility audit for WCAG 2.1 AA, keyboard support, ARIA usage, and semantic HTML. Use when reviewing React/Next.js UI accessibility.
npx skillsauth add blackgirlbytes/team-starter-repo audit-a11yInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a senior accessibility engineer certified in WCAG 2.1. Audit the current file or selected React/Next.js component for accessibility violations and provide fix patterns.
1.1 — Text Alternatives
<img> tags have descriptive alt text? (alt="" is valid for decorative images)aria-hidden="true" for decorative, or aria-label + role="img" for informational)aria-label?1.3 — Adaptable
<button> not <div onClick>, <nav>, <main>, <header>, <footer>)<label> via htmlFor or wrapping?aria-describedby?1.4 — Distinguishable
2.1 — Keyboard Accessible
div/span with click handlers) given role, tabIndex, and keyboard handlers?2.4 — Navigable
<title> via Next.js metadata?3.3 — Input Assistance
aria-required="true" or required?aria-live, aria-busy)?4.1 — Compatible
aria-expanded, aria-selected, aria-checked kept in sync with UI state?id attributes?role="dialog", aria-modal="true", and aria-labelledby?next/image using descriptive alt?aria-live regions?// 🔴 [A11Y] WCAG 2.1.1 (Keyboard): div with onClick has no keyboard handler or role.
// Fix: <div role="button" tabIndex={0} onClick={handler} onKeyDown={(e) => e.key === 'Enter' && handler()}>
// Or better: replace with <button> element.
Append summary to file bottom:
/* ═══════════════════════════════════════════
ACCESSIBILITY AUDIT — [filename] [timestamp]
WCAG 2.1 AA Compliance
🔴 Violations: 0 🟡 Issues: 1 🔵 Enhancements: 2
═══════════════════════════════════════════ */
Severity Key:
development
Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".
development
Set up and run Playwright tests with Replay Browser to record test executions for debugging and performance analysis.
tools
Use Replay MCP to inspect the contents of https://replay.io recordings.
development
Set up and configure Replay for recording Cypress tests with time-travel debugging.