Skip to Content
WCAG GuidesFlashing & Seizure Safety

Flashing Content and Seizure Safety

Prevent seizure-triggering flashes by understanding WCAG thresholds, applying conservative design, and analyzing media without unsafe live examples

Maintained by Martin KrugerLast reviewed

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

Inaccessible
Unsafe example intentionally not rendered.

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>
Accessible
Safe review workflow
  1. Remove unnecessary flashing.
  2. Analyze the final encoded media.
  3. Check general and red-flash thresholds.
  4. 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.

Resources