Skill

accessibility

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.

From ork
Install
1
Run in your terminal
$
npx claudepluginhub yonatangross/orchestkit --plugin ork
Tool Access

This skill is limited to using the following tools:

ReadGlobGrepWebFetchWebSearch
Supporting Assets
View in Repository
checklists/focus-checklist.md
checklists/react-aria-checklist.md
checklists/wcag-checklist.md
examples/focus-examples.md
examples/react-aria-examples.md
examples/wcag-examples.md
metadata.json
references/focus-patterns.md
references/react-aria-hooks.md
references/ux-thresholds-quick.md
references/wcag-criteria.md
rules/_sections.md
rules/_template.md
rules/a11y-antipatterns-static.md
rules/aria-components.md
rules/aria-forms.md
rules/aria-overlays.md
rules/focus-keyboard-nav.md
rules/focus-restoration.md
rules/focus-trap.md
Skill Content

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
Stats
Parent Repo Stars132
Parent Repo Forks14
Last CommitMar 15, 2026