Wystarczy kilka sekund migającego wideo, żeby u osoby z padaczką fotogenną doszło do napadu. Dlatego WCAG ma kryterium 2.3.1 „Trzy błyski lub poniżej progu”, jedno z niewielu, których nie da się „naprawić” przyciskiem pauzy. Na przykładzie świeżej dyskusji o filmie promocyjnym firmy AI wyjaśniamy, co mówi to kryterium, jak sprawdzić wideo, GIF-y i animacje oraz co zrobić, żeby strona nie szkodziła.
Skąd ten temat: 24 sekundy, które wywołały dyskusję
23 października 2026 r. użytkownik X publikujący jako @tongzhenbao opisał w 15-częściowym wątku około 24-sekundowy film promocyjny, który tego dnia udostępniło konto @Kimi_Moonshot, firmy rozwijającej asystenta AI Kimi. Autor uważa, że w filmie są szybkie, obejmujące duży obszar zmiany jasności, które mogą stwarzać ryzyko napadu u osób z padaczką fotogenną. Poprosił firmę o sprawdzenie i poprawienie tych fragmentów.
Autor przeanalizował plik klatka po klatce (1920 × 1080 pikseli, 30 klatek na sekundę, 721 klatek). Jako przykład podał trzy kolejne momenty około 2,2 sekundy, w których średnia względna luminancja całego kadru wynosiła kolejno 0,229, 0,679 i 0,015. To znaczy, że w ciągu około 0,13 sekundy obraz mocno się rozjaśnił, a potem prawie całkowicie ściemniał. Jego zdaniem niektóre fragmenty „z dużym prawdopodobieństwem” przekraczają progi WCAG 2.3.1. Sam zaznacza jednak, że to wstępna analiza techniczna, a nie profesjonalna ocena.
Nie oceniamy tu tego konkretnego filmu. Nie przeprowadziliśmy własnego testu i nie wiemy, czy firma odniosła się do zarzutów. Ten przypadek dobrze jednak pokazuje problem, który dotyczy każdej strony z wideo, GIF-ami czy efektownymi przejściami. Dziś wiele firm generuje takie materiały szybko, także narzędziami AI, i publikuje je bez żadnej kontroli.
Dlaczego to poważna sprawa
Według Epilepsy Foundation u około 3% osób z padaczką migające światło o określonym natężeniu lub niektóre wzory wizualne mogą wywołać napad. Taka nadwrażliwość częściej występuje u dzieci i nastolatków. Wiele osób nie wie o niej aż do pierwszego napadu. Fundacja podaje też, że najczęściej napady wywołuje migotanie z częstotliwością od 5 do 30 błysków na sekundę, choć u różnych osób wygląda to różnie. Inne osoby wrażliwe na światło nie mają napadów, ale reagują bólem głowy, nudnościami czy zawrotami.
W3C w objaśnieniu wytycznej 2.3 przypomina zdarzenie z 1997 r.: kreskówka wyemitowana w japońskiej telewizji sprawiła, że do szpitala trafiło ponad 700 dzieci, z czego około 500 miało napady. W3C dodaje też, że ostrzeżenia słabo działają, bo łatwo je przeoczyć, a dzieci mogą nie umieć ich przeczytać.
Co dokładnie mówi WCAG 2.3.1
Kryterium 2.3.1 Trzy błyski lub poniżej progu (poziom A) wymaga, żeby strona nie zawierała niczego, co błyska więcej niż trzy razy w dowolnej sekundzie. Wyjątkiem są błyski poniżej tzw. progu ogólnego błysku i progu czerwonego błysku. W praktyce treść jest bezpieczna, jeśli spełnia jeden z dwóch warunków:
- w żadnej sekundzie nie ma więcej niż trzech błysków (ogólnych lub czerwonych), albo
- migający obszar jest mały: zajmuje nie więcej niż 25% pola widzenia 10 stopni. W3C przelicza to na mniej więcej jedną czwartą prostokąta 341 × 256 pikseli CSS, czyli łącznie 87 296 pikseli CSS.
Kilka szczegółów, o których łatwo zapomnieć:
- Błysk to para przeciwnych zmian jasności (rozjaśnienie i ściemnienie albo odwrotnie). Liczy się zmiana o co najmniej 10% maksymalnej względnej luminancji, gdy ciemniejszy stan jest poniżej 0,80.
- Czerwień ma osobny, ostrzejszy próg. Ludzie są bardziej wrażliwi na migające nasycone czerwienie. WCAG 2.2 doprecyzowało, jak definiować taki „czerwony błysk”.
- Wideo trzeba oceniać w największym możliwym rozmiarze. Jeśli film da się włączyć na pełnym ekranie, sprawdzamy go na pełnym ekranie.
- Krótkie zapętlone animacje, np. GIF-y, ocenia się w pętli.
- Kryterium dotyczy całej strony. Jeden niebezpieczny baner sprawia, że cała strona nie jest zgodna, nawet jeśli reszta jest idealna (wymóg „nieingerencji”).
Dlaczego pauza tu nie wystarczy
W3C rozróżnia mruganie (ang. blinking), które rozprasza, i błyskanie (ang. flashing), które może wywołać napad. Mruganie może trwać krótko, jeśli się kończy albo można je zatrzymać. Błyskania powyżej progu nie wolno pokazywać nawet przez sekundę. Napad może nastąpić szybciej, niż użytkownik zdąży cokolwiek wyłączyć. Dlatego przycisk „stop” czy ostrzeżenie przed filmem nie spełniają kryterium 2.3.1.
Sąsiednie kryteria: ruch i automatyczne animacje
Błyski to nie jedyne zagrożenie. W tej samej wytycznej jest kryterium 2.3.3 Animacja wywołana interakcją (poziom AAA). Chodzi o to, by animacje ruchu uruchamiane działaniem użytkownika (np. paralaksa przy przewijaniu) dało się wyłączyć, chyba że są niezbędne. Takie efekty mogą wywoływać zawroty głowy, nudności i migreny u osób z zaburzeniami błędnika. W3C wskazuje jako technikę zapytanie CSS prefers-reduced-motion, które respektuje systemowe ustawienie „ogranicz ruch”.
Do tego dochodzi kryterium 2.2.2 Pauza, zatrzymanie, ukrycie (poziom A). Dotyczy treści, które ruszają same: karuzel, przewijanych pasków, animacji w tle. Gdy taka treść startuje automatycznie, trwa dłużej niż 5 sekund i jest wyświetlana obok innych treści, użytkownik musi móc ją zatrzymać, wstrzymać lub ukryć.
Czy to obowiązek prawny w Polsce?
Tak, jeśli Twoja strona lub aplikacja podlega przepisom o dostępności. Kryteria 2.3.1 i 2.2.2 mają poziom A, więc wchodzą w zakres WCAG 2.1 AA, którego wymaga ustawa o dostępności cyfrowej stron internetowych i aplikacji mobilnych podmiotów publicznych. Kryterium 2.3.1 jest też w normie EN 301 549, z której korzystają podmioty objęte Polskim Aktem o Dostępności. Kryterium 2.3.3 (AAA) nie jest wymagane, ale warto je wdrożyć. Więcej o tym, kogo obowiązuje WCAG, pisaliśmy w tekście Kogo obowiązuje WCAG w 2026?.
Jak to sprawdzić w praktyce
Dobra wiadomość: jeśli nic na stronie nie miga szybciej niż trzy razy na sekundę, treść automatycznie spełnia 2.3.1 i nie potrzebujesz narzędzi. W3C mówi to wprost. Kłopot zaczyna się przy dynamicznym montażu, efektach „glitch”, stroboskopach, wybuchach czy szybkich przejściach między jasnymi i ciemnymi planszami.
Do takich materiałów służą analizatory błysków. Darmowe narzędzie PEAT (Photosensitive Epilepsy Analysis Tool) z Trace Center Uniwersytetu Maryland wykrywa przekroczenia progu ogólnego i czerwonego błysku w treściach webowych i oprogramowaniu. Twórcy uczciwie przyznają, że to stara wersja. Działa na Windows, funkcja nagrywania nie zawsze działa, a nowe formaty wideo trzeba konwertować np. do AVI. PEAT nie wolno też używać do komercyjnych materiałów telewizyjnych, filmowych ani gier. Do takich treści autorzy odsyłają do płatnego oprogramowania Harding FPA.
Testy automatyczne stron (np. skanery WCAG) zwykle nie analizują zawartości filmów. Jeśli korzystasz tylko ze skanera, to kryterium najpewniej nie jest sprawdzone. Pisaliśmy o tym w tekście Czy darmowy skaner WCAG wystarczy?.
Lista kontrolna: błyski, animacje i wideo
- [ ] Przejrzyj stronę pod kątem wszystkiego, co się rusza: wideo, GIF-ów, animacji Lottie, banerów reklamowych, efektów przy najechaniu kursorem i przejść między ekranami.
- [ ] Zidentyfikuj fragmenty, w których obraz zmienia jasność szybciej niż trzy razy na sekundę, zwłaszcza na dużej powierzchni.
- [ ] Szczególnie uważaj na migającą nasyconą czerwień, efekty stroboskopowe, „glitch”, wybuchy i błyskawice.
- [ ] Wideo, które da się włączyć na pełnym ekranie, sprawdzaj na pełnym ekranie. GIF-y sprawdzaj w pętli.
- [ ] Wątpliwe materiały przepuść przez analizator błysków (np. PEAT dla treści webowych) i zachowaj wynik jako dowód.
- [ ] Jeśli materiał nie przechodzi testu, zmień go: zwolnij miganie do maksymalnie trzech błysków na sekundę, zmniejsz migający obszar, obniż kontrast między klatkami albo usuń fragment.
- [ ] Nie polegaj na ostrzeżeniu przed filmem ani przycisku pauzy jako rozwiązaniu dla 2.3.1.
- [ ] Nie odtwarzaj wideo automatycznie. Treści ruszające same i trwające ponad 5 sekund muszą mieć pauzę, zatrzymanie lub ukrycie (2.2.2).
- [ ] Uszanuj systemowe ustawienie „ogranicz ruch” (
prefers-reduced-motion) i wyłączaj przy nim zbędne animacje, np. paralaksę. - [ ] Dodaj sprawdzanie błysków do procesu publikacji, także dla materiałów od agencji, z banków wideo i generowanych przez AI.
- [ ] Sprawdź materiały, które udostępniasz w mediach społecznościowych. To nie Twoja strona, ale ci sami odbiorcy.
Na koniec
Kryterium 2.3.1 jest proste: najwyżej trzy błyski na sekundę albo mały obszar migania. Jest też bezwzględne, bo chroni przed realną szkodą dla zdrowia, a nie przed niewygodą. W czasach, gdy efektowny film promocyjny powstaje w godzinę, warto, żeby ktoś w zespole odpowiadał za sprawdzenie go przed publikacją.
Źródła
- Wątek @tongzhenbao o filmie promocyjnym Kimi (X, 23.10.2026)
- W3C: Understanding Guideline 2.3 Seizures and Physical Reactions
- W3C: Understanding SC 2.3.1 Three Flashes or Below Threshold
- W3C: Understanding SC 2.3.3 Animation from Interactions
- W3C: Understanding SC 2.2.2 Pause, Stop, Hide
- Epilepsy Foundation: Photosensitivity and Seizures
- Trace Center: Photosensitive Epilepsy Analysis Tool (PEAT)
- MDN: prefers-reduced-motion