R

RatedWithAI

WCAG guidance

Scan your site

WCAG 2.1

2.3.1 Three Flashes or Below Threshold

Level A success criterion

Web pages do not contain anything that flashes more than three times in any one-second period, or the flash is below the general flash and red flash thresholds.

Why it matters

Flashing content can trigger seizures in people with photosensitive epilepsy. This is a safety-critical requirement — violations can cause real physical harm.

Common violations

  • Rapidly flashing animations or GIFs
  • Video content with strobe effects
  • CSS animations with rapid color alternation
  • Banner ads with fast blinking effects

Code examples

Bad

@keyframes flash {
  0%, 100% { opacity: 1; }
  25% { opacity: 0; }
  50% { opacity: 1; }
  75% { opacity: 0; }
}
.alert { animation: flash 0.5s infinite; }

Good

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}
.alert { animation: pulse 2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .alert { animation: none; }
}

How to fix

Limit flashing to fewer than 3 times per second. Use smooth transitions instead of abrupt flashes. Respect prefers-reduced-motion. Test video content with photosensitive epilepsy analysis tools like PEAT.

Related criteria

Related resources

Scan your site

Check your WCAG coverage in minutes

Start a free scan