Communitygithub.com

WST2002/claude-code-skills

Use when checking a website, web app or UI component for accessibility, WCAG or a11y compliance, screen reader or keyboard support, color contrast, ARIA usage, or fixing issues reported by axe, Lighthouse or an accessibility review.

What is claude-code-skills?

claude-code-skills is a Claude Code agent skill that use when checking a website, web app or UI component for accessibility, WCAG or a11y compliance, screen reader or keyboard support, color contrast, ARIA usage, or fixing issues reported by axe, Lighthouse or an accessibility review.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/WST2002/claude-code-skills/tree/HEAD/skills/accessibility-audit

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Accessibility Audit

Overview

Check that everyone can perceive, operate and understand the interface: with a keyboard only, with a screen reader, with zoom, and with low vision. Fix issues in the components that produce them so the fix applies everywhere they are used.

Method

  1. Automated scan if a URL is available: npx @axe-core/cli <url> or Lighthouse accessibility. Automated tools find about a third of issues; treat results as a starting point.
  2. Code review of components with the checklist below: forms, buttons, links, images, modals, menus, tabs, tables, custom widgets.
  3. Keyboard pass: Tab through every interactive element. Focus visible, logical order, nothing unreachable, no focus traps, Escape closes overlays, focus returns to the trigger.
  4. Screen reader semantics: every control has a role, an accessible name and its state (expanded, selected, checked, invalid).
  5. Report with the contract below, mapped to WCAG 2.2 AA.

Checklist

AreaRequirement (WCAG)
ImagesInformative images have meaningful alt; decorative ones alt="" (1.1.1)
ContrastText 4.5:1, large text and UI components 3:1 (1.4.3, 1.4.11)
ColorInformation not conveyed by color alone (1.4.1)
StructureOne h1, ordered headings, landmarks (header, nav, main, footer), lists as lists (1.3.1)
FormsEvery input has a <label>; errors named in text and linked with aria-describedby; required marked (1.3.1, 3.3.1, 3.3.2)
ControlsActions are <button>, navigation is <a href>; no clickable div without role, tabindex and key handlers (2.1.1, 4.1.2)
FocusVisible focus indicator; never outline: none without a replacement (2.4.7)
Modals and menusFocus moves in, is trapped while open, Escape closes, focus returns (2.1.2, 2.4.3)
NamesIcon-only buttons have aria-label; link text makes sense out of context (2.4.4, 4.1.2)
MotionRespect prefers-reduced-motion; no auto-playing motion longer than 5 s without pause (2.2.2, 2.3.3)
Zoom and reflowUsable at 200% zoom and 320 px width without horizontal scroll (1.4.4, 1.4.10)
TargetsTouch targets at least 24×24 px (2.5.8)
Language<html lang> set (3.1.1)

ARIA rule: prefer native HTML elements. Add ARIA only when no native element fits, and then implement the full keyboard behavior of that pattern.

Output contract

### [Critical | Serious | Moderate | Minor] Title — WCAG <criterion>
- Where: component and file:line (and URL if relevant)
- Who is affected: keyboard users, screen reader users, low vision, etc.
- Fix: corrected markup or CSS

Critical = blocks a task for some users (cannot submit a form by keyboard). End with Passed checks and Needs manual testing (items that require a real screen reader session).

Common mistakes

  • div or span with onClick instead of a button.
  • Placeholder text used as the only label.
  • aria-label that contradicts the visible text.
  • role="button" added without Enter and Space key handling.
  • Claiming WCAG compliance from an automated scan alone.

Made by Wageesha Tripathi · LinkedIn · Email · More skills

Related Skills