AugmentClaude

Accessibility

Build WCAG 2.2 compliant web apps with keyboard navigation and screen reader support.

Installation

  1. Make sure Claude is on your device and in your terminal.

    Skills load from ~/.claude/skills/ when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then run claude in any terminal to verify.

    One-time setup
    npm i -g @anthropic-ai/claude-code

    Already have it? Skip ahead.

  2. Paste into Claude Code or into your terminal.

    This copies the whole skill folder into ~/.claude/skills/accessibility-yonatangross/ — the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.

    Faster alternative (instruction-only skills)

    Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.

    Quick install (SKILL.md only)
    Sign up to copy
  3. Restart Claude Code.

    Quit and reopen Claude Code (or any other agent that loads from ~/.claude/skills/). New skills are picked up on startup.

  4. Just ask Claude.

    Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.

Prefer to read the source first? Open on GitHub.

When Claude uses it

Accessibility patterns for WCAG 2.2 compliance, keyboard focus management, React Aria component patterns, cognitive inclusion, native HTML-first philosophy, and user preference honoring. Use when implementing screen reader support, keyboard navigation, ARIA patterns, focus traps, accessible component libraries, reduced motion, or cognitive accessibility.

What this skill does

Accessibility

Comprehensive patterns for building accessible web applications: WCAG 2.2 AA compliance, keyboard focus management, React Aria component patterns, native HTML-first philosophy, cognitive inclusion, and user preference honoring. Each category has individual rule files in rules/ loaded on-demand.

Quick Reference

CategoryRulesImpactWhen to Use
WCAG Compliance3CRITICALColor contrast, semantic HTML, automated testing
POUR Exit Criteria1CRITICALFalsifiable pass/fail thresholds for each WCAG 2.2 AA criterion
Static Anti-Patterns1HIGHGrep-able patterns detectable without a browser
Focus Management3HIGHFocus traps, focus restoration, keyboard navigation
React Aria3HIGHAccessible components, form hooks, overlay patterns
Modern Web Accessibility3CRITICAL/HIGHNative HTML first, cognitive inclusion, user preferences

Total: 14 rules across 6 categories

Quick Start

// Semantic HTML with ARIA
<main>
  <article>
    <header><h1>Page Title</h1></header>
    <section aria-labelledby="features-heading">
      <h2 id="features-heading">Features</h2>
    </section>
  </article>
</main>
// Focus trap with React Aria
import { FocusScope } from 'react-aria';

<FocusScope contain restoreFocus autoFocus>
  <div role="dialog" aria-modal="true">
    {children}
  </div>
</FocusScope>

WCAG Compliance

WCAG 2.2 AA implementation for inclusive, legally compliant web applications.

RuleFileKey Pattern
Color Contrast${CLAUDE_SKILL_DIR}/rules/wcag-color-contrast.md4.5:1 text, 3:1 UI components, focus indicators
Semantic HTML${CLAUDE_SKILL_DIR}/rules/wcag-semantic-html.mdLandmarks, headings, ARIA labels, form structure
Testing${CLAUDE_SKILL_DIR}/rules/wcag-testing.mdaxe-core, Playwright a11y, screen reader testing

POUR Exit Criteria

Concrete pass/fail thresholds for each WCAG 2.2 AA criterion — replaces vague "meets requirements" checks.

RuleFileKey Pattern
POUR Exit Criteria${CLAUDE_SKILL_DIR}/rules/pour-exit-criteria.mdFalsifiable checklist: image alt, contrast ratios, focus indicators, touch targets, ARIA states

Static Anti-Patterns

Grep-able anti-patterns detectable via static analysis or code review — no browser needed.

RuleFileKey Pattern
A11y Anti-Patterns (Static)${CLAUDE_SKILL_DIR}/rules/a11y-antipatterns-static.mdFocus removal, missing labels, autoplay, icon-only buttons, div-click handlers

Focus Management

Keyboard focus management patterns for accessible interactive widgets.

RuleFileKey Pattern
Focus Trap${CLAUDE_SKILL_DIR}/rules/focus-trap.mdModal focus trapping, FocusScope, Escape key
Focus Restoration${CLAUDE_SKILL_DIR}/rules/focus-restoration.mdReturn focus to trigger, focus first error
Keyboard Navigation${CLAUDE_SKILL_DIR}/rules/focus-keyboard-nav.mdRoving tabindex, skip links, arrow keys

React Aria

Adobe React Aria hooks for building WCAG-compliant interactive UI.

RuleFileKey Pattern
Components${CLAUDE_SKILL_DIR}/rules/aria-components.mduseButton, useDialog, useMenu, FocusScope
Forms${CLAUDE_SKILL_DIR}/rules/aria-forms.mduseComboBox, useTextField, useListBox
Overlays${CLAUDE_SKILL_DIR}/rules/aria-overlays.mduseModalOverlay, useTooltip, usePopover

Modern Web Accessibility

2026 best practices: native HTML first, cognitive inclusion, and honoring user preferences.

RuleFileKey Pattern
Native HTML First${CLAUDE_SKILL_DIR}/rules/wcag-native-html-first.md<dialog>, <details>, native over custom ARIA
Cognitive Inclusion${CLAUDE_SKILL_DIR}/rules/wcag-cognitive-inclusion.mdADHD/autism/dyslexia support, chunked content, notification management
User Preferences${CLAUDE_SKILL_DIR}/rules/wcag-user-preferences.mdprefers-reduced-motion, forced-colors, prefers-contrast, zoom

Key Decisions

DecisionRecommendation
Conformance levelWCAG 2.2 AA (legal standard: ADA, Section 508)
Contrast ratio4.5:1 normal text, 3:1 large text and UI components
Target size24px min (WCAG 2.5.8), 44px for touch
Focus indicator3px solid outline, 3:1 contrast
Component libraryReact Aria hooks for control, react-aria-components for speed
State managementreact-stately hooks (designed for a11y)
Focus managementFocusScope for modals, roving tabindex for widgets
Testingjest-axe (unit) + Playwright axe-core (E2E)

Anti-Patterns (FORBIDDEN)

  • Div soup: Using <div> instead of semantic elements (<nav>, <main>, <article>)
  • Color-only information: Status indicated only by color without icon/text
  • Missing labels: Form inputs without associated <label> or aria-label
  • Keyboard traps: Focus that cannot escape without Escape key
  • Removing focus outline: outline: none without replacement indicator
  • Positive tabindex: Using tabindex > 0 (disrupts natural order)
  • Div with onClick: Using <div onClick> instead of <button> or useButton
  • Manual focus in modals: Using useEffect + ref.focus() instead of FocusScope
  • Auto-playing media: Audio/video that plays without user action
  • ARIA overuse: Using ARIA when semantic HTML suffices

Detailed Documentation

ResourceDescription
${CLAUDE_SKILL_DIR}/scripts/Templates: accessible form, focus trap, React Aria components
${CLAUDE_SKILL_DIR}/checklists/WCAG audit, focus management, React Aria component checklists
${CLAUDE_SKILL_DIR}/references/WCAG criteria reference, focus patterns, React Aria hooks API
${CLAUDE_SKILL_DIR}/references/ux-thresholds-quick.mdUI/UX thresholds quick reference: contrast, touch targets, cognitive load, typography, forms
${CLAUDE_SKILL_DIR}/examples/Complete accessible component examples

Related Skills

  • ork:testing-e2e - E2E testing patterns including accessibility testing
  • design-system-starter - Accessible component library patterns
  • ork:i18n-date-patterns - RTL layout and locale-aware formatting
  • motion-animation-patterns - Reduced motion and animation accessibility

Related skills