Accessibility
Reduced motion support, screen reader safety, flash-rate protection, and noscript fallback.
Reduced Motion Support
When a user has prefers-reduced-motion: reduce enabled, Etch Motion skips all animations. Elements are shown in their final state immediately — no opacity: 0, no transforms, no delay. This check happens first, before any GSAP initialization. The plugin also listens for real-time changes to this preference.
This is built in and always active. No configuration needed.
Screen Reader Safety
Animated content remains accessible to screen readers throughout the animation lifecycle. Elements are never set to display: none or visibility: hidden — only opacity and transform are modified. Dynamically created elements (like the cursor follower) include aria-hidden="true".
Flash Rate Protection
Etch Motion includes flash-rate safety checks to prevent seizure-inducing rapid flashing (more than 3 flashes per second). The noscript fallback ensures content is visible even when JavaScript is disabled or fails to load.