--- name: tailwindcss-accessibility description: "Tailwind CSS v4.1 accessibility utilities. focus-visible, sr-only, reduced-motion, WCAG enforcement, touch targets, contrast ratios." user-invocable: true references: references/focus-patterns.md, references/wcag-utilities.md related-skills: tailwindcss-core, react-shadcn --- # Tailwind CSS Accessibility Accessible-by-default patterns using Tailwind CSS v4.1 utility classes. ## Agent Workflow (MANDATORY) Before ANY implementation, use `TeamCreate` to spawn 3 agents: 1. **fuse-ai-pilot:explore-codebase** - Analyze existing a11y patterns 2. **fuse-ai-pilot:research-expert** - Verify latest WCAG 2.2 guidelines 3. **mcp__context7__query-docs** - Check Tailwind CSS a11y utilities After implementation, run **fuse-ai-pilot:sniper** for validation. --- ## Overview ### When to Use - Implementing keyboard-accessible interactive elements - Adding screen reader support to visual-only content - Respecting user motion preferences - Ensuring sufficient color contrast ratios - Meeting WCAG 2.2 AA/AAA compliance requirements - Creating accessible touch targets for mobile ### Why Tailwind for Accessibility | Feature | Benefit | |---------|---------| | `focus-visible` | Keyboard-only focus rings, no mouse clutter | | `sr-only` | Screen reader content without visual display | | `motion-safe/reduce` | Respects `prefers-reduced-motion` | | Utility composition | Consistent a11y patterns across components | | CSS-first config | Centralized a11y defaults via `@theme` | --- ## Critical Rules 1. **Always use `focus-visible`** — Not `focus` for interactive elements 2. **Never hide content from screen readers** — Use `sr-only` instead of `hidden` 3. **Respect motion preferences** — Wrap animations in `motion-safe:` 4. **Minimum touch target 44x44px** — Use `min-h-11 min-w-11` (2.75rem) 5. **Contrast ratios** — 4.5:1 for text, 3:1 for large text (WCAG AA) 6. **Semantic HTML first** — Tailwind enhances, never replaces semantics --- ## Quick Reference ### Focus States ```html ``` ### Screen Reader Only ```html Open navigation menu ``` ### Reduced Motion ```html