Flashing Content and Seizure Safety
Prevent seizure-triggering flashes by understanding WCAG thresholds, applying conservative design, and analyzing media without unsafe live examples
WCAG 2.3.1 requires pages not to contain anything that flashes more than three times in any one-second period unless the flash is below the general and red-flash thresholds. The calculation includes frequency, luminance change, saturated red, and the area of the visual field. Motion sickness and animation preferences are related user needs but separate from the seizure threshold.
The safest production policy is to avoid flashing entirely. Do not put potentially unsafe media into a training page to demonstrate what not to do.
Unsafe Demonstration Request vs. Safe Review Workflow
A written warning does not make flashing content safe.
View inaccessible code
<!-- Do not publish a rapid-flash demo, even as a warning. -->
<div class="rapid-red-flash">Warning</div>- Remove unnecessary flashing.
- Analyze the final encoded media.
- Check general and red-flash thresholds.
- Re-test every edited export.
Use a static frame or slow, non-flashing transition in the published interface.
View accessible code
<section aria-labelledby="review-title">
<h3 id="review-title">Flash-safety review</h3>
<p>Remove unnecessary flashes and analyze the final encoded media.</p>
</section>Analyzer workflow
Test the final encoded animation or video, not only source frames. Record the tool, version, media timestamp, viewport assumptions, and result. Re-run analysis after edits or compression. If a tool cannot analyze the format, replace the effect or obtain a qualified manual review rather than guessing.