Browse the docs

Skills: Craft and build

/crisp-a11y

Check accessibility properly, with exact code fixes.

Specialist extensionsuser-invoked

A deep accessibility audit. /crisp-a11y checks a component or screen against every relevant success criterion in WCAG 2.2 AA, the widely used web accessibility standard, across its four principles: perceivable, operable, understandable, and robust. Each criterion is marked pass, fail, or not applicable. Every failure gets a clear description, a P0–P3 severity, and a code fix precise enough to implement without guesswork.

It goes four times deeper than the accessibility checklist in /handoff, calculates real contrast ratios when you provide your colour values, and ends by writing an a11y-checklist.md file the team can commit.

Use it when you need evidence of accessibility, not reassurance:

  • A pre-launch compliance check on a key flow or component
  • Someone has reported a keyboard or screen reader problem and you need the full picture
  • Reviewing a design system component that every screen will inherit
  • The /handoff checklist raised questions that need answers criterion by criterion
  • WCAG 2.2 AA scorecard
  • Exact code fixes, not vague advice
  • a11y-checklist.md
  • Problems rated P0–P3 by severity
Claude Code: /crisp-a11y
Grade: BWCAG 2.2 AA
P01.4.3: text-muted #666 on white fails 4.5:1 contrast
P14.1.2: role="dialog" missing aria-labelledby
P22.4.7: focus ring hidden on primary button
→ a11y-checklist.md written to project root

Illustrative example only. This is not a real audit.

The audit's standing rule: use native HTML before adding ARIA (extra attributes that describe elements to assistive technology). A native button works with the keyboard, takes focus, and is announced correctly with no extra code. A div with role="button" needs tabindex, keyboard handlers, and ARIA to copy what the browser gives you for free. Any div or span acting as a control is flagged, and the fix is almost always the correct native element, not more ARIA.

How is this different from the /handoff accessibility section?

Depth. Handoff includes a build checklist covering keyboard, screen reader, and visual basics. This command checks each WCAG 2.2 AA success criterion, calculates contrast ratios from your real colour values, and gives an exact code fix for each failure.

What does it need from me?

The component or screen, its main interaction type (form, navigation, modal, or data display), and ideally your colour token values. With those values, contrast checks give exact ratios instead of rough flags.

What counts as a P0?

A failure that completely blocks someone using assistive technology: a screen reader user who cannot finish the task, or a keyboard-only user who gets trapped. P0s are listed first, with fixes, under the heading "fix before shipping".

Why does it mention APCA?

WCAG 2 contrast ratios are the compliance minimum. APCA, a newer contrast method, models how people actually perceive text contrast more accurately. The audit uses WCAG 2 where standards require it and APCA as the better guide for design decisions.

zsh
$ npx skills add @laith-wallace/crisp

Installs all fourteen CRISP skills and detects which AI coding tool you use. Run /crisp-teach once per project, before the other skills.

(The CRISP letter)

Design evaluation, in writing.

Occasional emails on getting AI agents to produce work worth shipping. New skills are announced here first. No noise.