accessibility-issues

安装量: 44
排名: #16568

安装

npx skills add https://github.com/dylantarre/animation-principles --skill accessibility-issues

Accessibility Issues

Make animations inclusive using Disney's principles thoughtfully.

Problem Indicators Motion sickness complaints Vestibular disorder triggers Screen reader confusion Cognitive overload Seizure risk (flashing) Keyboard focus lost during animation Diagnosis by Principle Squash and Stretch

Issue: Excessive distortion causes disorientation Fix: Reduce or eliminate squash/stretch for users with prefers-reduced-motion. Use opacity changes instead.

Secondary Action

Issue: Too many moving elements Fix: Limit to one animated element at a time. Secondary actions should be subtle or removed.

Exaggeration

Issue: Dramatic motion triggers vestibular responses Fix: Reduce scale, rotation, and position changes. Keep movements small and predictable.

Timing

Issue: Animations too fast or too slow Fix: Provide consistent, predictable timing. Avoid sudden speed changes.

Arcs

Issue: Curved motion paths cause tracking difficulty Fix: Use linear motion for essential UI. Save arcs for optional decorative elements.

Quick Fixes Respect prefers-reduced-motion - Always check and honor No autoplay animation - Let users trigger motion Keep focus visible - Never animate focus indicator away Announce changes - Use ARIA live regions for dynamic content Provide pause controls - For any looping animation Troubleshooting Checklist Does animation respect prefers-reduced-motion? Is there a way to pause/stop animations? Are state changes announced to screen readers? Does keyboard focus remain visible and logical? Is flash rate under 3 per second? Can users complete tasks without animation? Are animations triggered by user action (not autoplay)? Test with screen reader enabled Code Pattern @media (prefers-reduced-motion: reduce) { , ::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }

// Check preference in JS const prefersReducedMotion = window.matchMedia( '(prefers-reduced-motion: reduce)' ).matches;

返回排行榜