Tailwind CSS accessibility patterns including WCAG 2.2 compliance, touch targets, focus management, and ARIA support
View on GitHubJosiahSiegel/claude-plugin-marketplace
tailwindcss-master
plugins/tailwindcss-master/skills/tailwindcss-accessibility/SKILL.md
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/JosiahSiegel/claude-plugin-marketplace/blob/main/plugins/tailwindcss-master/skills/tailwindcss-accessibility/SKILL.md -a claude-code --skill tailwindcss-accessibilityInstallation paths:
.claude/skills/tailwindcss-accessibility/# Tailwind CSS Accessibility Patterns (WCAG 2.2 - 2025/2026)
## WCAG 2.2 Overview (Current Standard)
WCAG 2.2 was released October 2023 and is the current W3C standard. Key additions relevant to Tailwind:
- **2.5.8 Target Size (Level AA)**: 24x24 CSS pixels minimum, 44x44 recommended
- **2.4.11 Focus Not Obscured**: Focus indicators must be visible
- **2.4.13 Focus Appearance**: Enhanced focus indicator requirements
- **3.3.7 Redundant Entry**: Don't require re-entering information
- **3.2.6 Consistent Help**: Help mechanisms in consistent locations
## Focus Management
### Focus Ring Utilities
```html
<!-- Default focus ring -->
<button class="focus:outline-none focus:ring-2 focus:ring-brand-500 focus:ring-offset-2">
Button
</button>
<!-- Focus-visible for keyboard users only -->
<button class="focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-500">
Only shows ring for keyboard focus
</button>
<!-- Focus-within for parent containers -->
<div class="focus-within:ring-2 focus-within:ring-brand-500 rounded-lg p-1">
<input type="text" class="border-none focus:outline-none" />
</div>
<!-- Custom focus ring component -->
```
```css
@layer components {
.focus-ring {
@apply focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 focus-visible:ring-offset-2;
}
.focus-ring-inset {
@apply focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-500 focus-visible:ring-inset;
}
}
```
### Skip Links
```html
<!-- Skip to main content -->
<a
href="#main-content"
class="
sr-only focus:not-sr-only
focus:absolute focus:top-4 focus:left-4 focus:z-50
focus:bg-white focus:px-4 focus:py-2 focus:rounded-md focus:shadow-lg
focus:ring-2 focus:ring-brand-500
"
>
Skip to main content
</a>
<header>Navigation...</header>
<main id="main-content" tabindex="-1">
Main content
</main>
```
### Focus Trap Pattern
```html
<!-- Modal with focus management -->
<div
role="dialog"
aria-modal="true"
aria