Standards · WCAG 2.2

SC 2.3.1 Level A WCAG 2.0

Three Flashes or Below Threshold

Nothing on the page may flash more than three times per second, unless the flash is below defined size and contrast thresholds. Designed to prevent photosensitive seizures.

What it asks

No content may flash more than three times within any one-second period. The rule has two safe-harbour exceptions: the flashing area is small enough (less than 21,824 square CSS pixels at typical viewing distance, roughly a square of 341×341), or the relative luminance change and saturated-red content stay below the General Flash and Red Flash thresholds defined in the spec.

The thresholds exist because photosensitive epilepsy can be triggered by rapid luminance changes — especially when red is involved. The standard derives from the same research that informs broadcast television guidelines.

How to meet it

  • Cap any animated flashing or strobing effect at three flashes per second. Most product UI never approaches this; the failures are almost always in marketing video and game content embedded in pages.
  • Use the PEAT (Photosensitive Epilepsy Analysis Tool) from the Trace Center, or Harding FPA, to test video clips before embedding.
  • For animated GIFs, run them through PEAT during content review.
  • For canvas-based animations, profile the rate of luminance change at runtime if the animation is data-driven or user-controlled.
  • Avoid full-screen strobing effects in loading spinners, advertisements, or transition animations.

Common failures

  • Auto-playing video advertisements with rapid cuts between bright and dark frames.
  • Animated GIFs imported as marketing assets without seizure-safety review.
  • Game-trailer embeds (especially older arcade-style or rhythm-game footage) that include strobe sequences.
  • Canvas-based “loading” effects that flash full-screen colour at high frequency.
  • Disco/strobe transitions on slide decks embedded as iframes.

Automated tools cannot detect this — PEAT analysis or manual frame review is the only reliable test, and many CMSes never run it.

Why it matters

Of all WCAG criteria, this is the one whose failure causes the most immediate physical harm. A flashing page can trigger a tonic-clonic seizure in someone with photosensitive epilepsy within seconds of exposure. The 2008 attack on the Epilepsy Foundation’s online forum, in which posters deliberately uploaded strobing GIFs to provoke seizures in readers, demonstrated that this is not theoretical. For media-heavy sites, treat 2.3.1 as a safety check rather than an accessibility checkbox.