validating-accessibility
SKILL.md
Validating Accessibility
Agent Workflow (MANDATORY)
Before ANY accessibility validation, use TeamCreate to spawn 3 agents:
- fuse-ai-pilot:explore-codebase - Find components to audit
- fuse-ai-pilot:research-expert - Verify latest WCAG 2.2 requirements
- Check existing ARIA patterns in codebase
After fixes, run fuse-ai-pilot:sniper for validation.
Overview
| Feature | Description |
|---|---|
| WCAG 2.2 AA | Minimum compliance level |
| Color Contrast | 4.5:1 text, 3:1 UI |
| Keyboard | Full navigation support |
| ARIA | Screen reader support |
Critical Rules
- 4.5:1 contrast - Normal text minimum
- 3:1 contrast - Large text and UI components
- Focus visible - All interactive elements
- Reduced motion - Respect user preference
- Labels required - All form inputs
Quick Checklist
[ ] Color contrast: 4.5:1 (text), 3:1 (UI)
[ ] Keyboard: All elements focusable
[ ] Focus: Visible indicators (ring-2)
[ ] ARIA: Correct attributes
[ ] Motion: prefers-reduced-motion
[ ] Semantic: Proper heading hierarchy
[ ] Labels: All inputs labeled
[ ] Alt text: All images
Reference Guide
Concepts
| Topic | Reference | When to Consult |
|---|---|---|
| Nielsen Heuristics | ux-nielsen.md | 10 usability heuristics |
| Laws of UX | ux-laws.md | Cognitive psychology |
| WCAG 2.2 | ux-wcag.md | Accessibility standards |
| UX Patterns | ux-patterns.md | Common UX patterns |
| Buttons | buttons-guide.md | Touch targets, focus |
| Forms | forms-guide.md | Labels, validation |
Quick Reference
Color Contrast
Normal text (<18px): 4.5:1 minimum
Large text (ā„18px): 3:1 minimum
UI components: 3:1 minimum
Focus Indicator
className="focus:outline-none focus-visible:ring-2 focus-visible:ring-primary"
Reduced Motion
import { useReducedMotion } from "framer-motion";
const shouldReduce = useReducedMotion();
<motion.div animate={shouldReduce ? {} : { y: 0 }} />
ARIA Patterns
// Icon button
<button aria-label="Close">
<X className="h-4 w-4" />
</button>
// Form with description
<input aria-describedby="hint" />
<p id="hint">Must be 8+ characters</p>
ā See ux-principles.md for complete patterns
Best Practices
DO
- Test with keyboard only
- Use semantic HTML first
- Add aria-label to icon buttons
- Respect reduced motion
- Test with screen reader
DON'T
- Skip focus indicators
- Use color alone for meaning
- Forget alt text on images
- Remove outline without replacement
- Ignore heading hierarchy
Weekly Installs
14
Repository
fusengine/agentsGitHub Stars
3
First Seen
Feb 28, 2026
Security Audits
Installed on
opencode14
gemini-cli14
codebuddy14
github-copilot14
codex14
kimi-cli14