Accessible audio, video, and animations
Basic principle
All forms of multimedia have specific accessibility requirements, and any support for multimedia in a theme must meet those requirements. Themes are not responsible for the content of multimedia; but any demo media included should meet accessibility requirements.
The basic requirements are:
- Three Flashes: No animation or video can flash more than three times in any one second period. Rapid flashing can trigger seizures, dizziness, nausea, or migraines.
- Motion animation triggered by interaction can be disabled. (Level AAA)
- Any automatically initiated moving, blinking, or auto-updating information can be paused, stopped, or hidden.
Note: It is difficult to test the three-flash rule. The simplest test, for CSS or JS animation, is to look at the source code and check the timing frequency; this will not work for a demo video. In general, any potentially risky animation should be considered a failure.
Testing
Tools: Theme settings, keyboard, screen reader, browser inspector.
- Interact with all controls and observe whether a repeating animation is triggered. Very small animations can be ignored, such as a transition shift between colors or minor border movement.
- If the theme supports a hero video, add a test video as the hero.
- Verify that the video provides controls allowing you to pause the video. The controls should meet all other accessibility requirements concerning keyboard accessibility and accessible naming.
- If the theme offers a carousel interface or similar, verify that if it auto-updates by default, this behavior can be paused. The controls should meet all other accessibility requirements.
- Scroll up and down the page to observe whether any parallax animations or other animation changes occur on scroll. If so, verify whether they can be paused.
- Enable your operating system’s options to reduce animations. Repeat the previous test to verify that existing animations do not occur or are significantly reduced.
- On Windows 11: Go to Settings > Accessibility > Visual Effects > Animation Effects.
- On macOS: Navigate to System Preferences > Accessibility > Display > Reduce motion.
WP Accessibility Knowledge Base