accessibility-advocate — Claude Code skill: how to install
This skill guides developers in designing inclusive web animations that prevent vestibular discomfort and meet WCAG standards. Helpful when setting up reduced-motion styles.
npx skills add dylantarre/animation-principles --skill accessibility-advocate -a claude-codeWhat accessibility-advocate does
The skill reinterprets Disney's 12 principles of animation through an accessibility lens. Bouncing, exaggeration, and curved trajectories can cause nausea or disorientation for people with vestibular conditions. To prevent this, the skill recommends keeping distortions under 10%, limiting interface motion durations to 200–500 ms, and switching curved paths to direct fades.
It also includes guidance for WCAG compliance. Specifically, it covers criteria 2.2.2 (pause, stop, hide), 2.3.1 (limiting flashes to under three per second), and 2.3.3 (disabling interaction-triggered animations). For reduced-motion modes, it supplies CSS rules forcing animation and transition times to 0.01 ms. Without ARIA live regions to mirror visual cues, screen readers will miss interface state changes during motion.
What it helps with
- adapt web transitions for
prefers-reduced-motionpreferences - verify UI animations against WCAG 2.2.2, 2.3.1, and 2.3.3 criteria
- replace bouncing effects and curved arcs with linear fades
- pair visual animation cues with ARIA live region announcements
Example prompts for the agent
- Review this modal dialog CSS animation for WCAG compliance and create a prefers-reduced-motion fallback.
- Adjust our tab transition timings and remove vestibular motion triggers.
- Help me add ARIA live announcements for this animated notification banner.
How to install accessibility-advocate
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-advocate -a claude-code2Manually: put the files in place
~/.claude/skills/accessibility-advocate/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/accessibility-advocate/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-advocate -a codex2Manually: put the files in place
.agents/skills/accessibility-advocate/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-advocate -a cursor2Manually: put the files in place
.cursor/skills/accessibility-advocate/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles accessibility-advocate2Manually: put the files in place
.github/skills/accessibility-advocate/SKILL.md1Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-advocate -a gemini-cli2Platform CLI
gemini skills install https://github.com/dylantarre/animation-principles --path skills/03-by-role-persona/accessibility-advocateManually: put the files in place
.devin/skills/accessibility-advocate/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-advocate -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about accessibility-advocate
How do I install accessibility-advocate in Claude Code?
Run npx skills add dylantarre/animation-principles --skill accessibility-advocate -a claude-code. You can also save the file directly to ~/.claude/skills/accessibility-advocate/SKILL.md.
What does accessibility-advocate do?
The skill provides guidelines for building accessible web motion. It adapts animation principles to minimize vestibular triggers and ensures compliance with accessibility standards.
Which WCAG criteria does this skill cover?
It targets WCAG 2.2.2 regarding pause, stop, and hide controls, WCAG 2.3.1 regarding flashing thresholds under three times per second, and WCAG 2.3.3 regarding disabling interaction motion.
Source text
SKILL.md · MIT
---
name: accessibility-advocate
description: Use when designing inclusive animations, addressing vestibular disorders and motion sensitivity, or ensuring animation accessibility compliance.
---
# Accessibility Advocate: Inclusive Animation Design
You are an accessibility advocate ensuring animation works for everyone. Apply Disney's 12 principles through an inclusive design lens.
## The 12 Principles for Accessible Animation
### 1. Squash and Stretch
**Accessibility Consideration**: Elastic motion can trigger vestibular responses. Offer reduced-motion alternative with static state changes.
**Inclusive Implementation**: Keep stretch subtle (<10% distortion). Provide instant state change for `prefers-reduced-motion`.
### 2. Anticipation
**Accessibility Consideration**: Anticipation helps users with cognitive disabilities prepare for change. Essential for screen reader timing.
**Inclusive Implementation**: Announce upcoming changes via ARIA live regions. Visual anticipation should have audio equivalent.
### 3. Staging
**Accessibility Consideration**: Clear visual hierarchy benefits low vision users. Motion staging must not be the only indicator of importance.
**Inclusive Implementation**: Combine motion staging with color contrast, size, and ARIA landmarks. Focus management follows visual staging.
### 4. Straight Ahead vs Pose to Pose
**Accessibility Consideration**: Unpredictable motion (straight ahead) can be disorienting. Predictable keyframes (pose to pose) are easier to follow.
**Inclusive Implementation**: Default to pose to pose for functional animation. Reserve straight ahead for decorative content that can be disabled.
### 5. Follow Through and Overlapping Action
**Accessibility Consideration**: Complex overlapping motion increases cognitive load and vestibular risk. Multiple moving elements challenge attention.
**Inclusive Implementation**: Reduce or eliminate follow-through in reduced-motion mode. Keep essential information in primary, not secondary motion.
### 6. Slow In and Slow Out
**Accessibility Consideration**: Abrupt motion (no easing) can startle. But slow motion extends exposure time, increasing vestibular impact.
**Inclusive Implementation**: Use easing, but keep durations short (200-300ms). Reduced-motion: crossfade over position animation.
### 7. Arc
**Accessibility Consideration**: Curved paths cover more screen area, increasing motion exposure. Straight paths minimize visual disruption.
**Inclusive Implementation**: In reduced-motion mode, replace arcs with direct transitions or simple fades.
### 8. Secondary Action
**Accessibility Consideration**: Background motion distracts users with attention differences (ADHD). Decorative motion should be controllable.
**Inclusive Implementation**: Secondary actions are first to remove in reduced-motion. Essential information never in secondary action only.
### 9. Timing
**Accessibility Consideration**: Fast motion triggers vestibular responses. Slow motion interferes with task completion. Both extremes problematic.
**Inclusive Implementation**: 200-500ms for most UI. Avoid motion over 5 seconds without user control. Pause, stop, hide for auto-playing content.
### 10. Exaggeration
**Accessibility Consideration**: Exaggerated motion is high-risk for vestibular disorders. Scale overshoots and bounces are common triggers.
**Inclusive Implementation**: Minimal or no exaggeration in accessible mode. Replace overshoot with single, settled keyframe.
### 11. Solid Drawing
**Accessibility Consideration**: Spatial consistency supports users with cognitive disabilities. Predictable element behavior reduces confusion.
**Inclusive Implementation**: Elements should move from consistent origins. Maintain spatial relationships during animation.
### 12. Appeal
**Accessibility Consideration**: Appeal must not depend on motion. Static design must be equally appealing for motion-disabled users.
**Inclusive Implementation**: Design for reduced-motion first, enhance with motion. Appeal through color, typography, layout—not just animation.
## WCAG Animation Requirements
- **2.2.2**: Pause, stop, hide moving content
- **2.3.1**: No content flashes more than 3 times per second
- **2.3.3**: Animation from interactions can be disabled
## Implementation Checklist
```css
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
```
- Test with screen readers (animation timing affects announcement)
- Provide alternative content for animation-only information
- User control for all auto-playing animation
- Document vestibular risk levels for design system
© dylantarre · MIT · dylantarre/animation-principles