Poziom
A
Od wersji
WCAG 2.0
Pozycje
0 / 193
/ Kryterium WCAG

1.4.2 Kontrola odtwarzania dźwięku

Jeśli dźwięk włącza się sam i gra dłużej niż trzy sekundy, strona musi dać sposób, by go wstrzymać lub zatrzymać albo ściszyć niezależnie od głośności systemu.

/ Czego wymaga

Dźwięk, który włącza się sam, najbardziej przeszkadza osobom korzystającym z czytnika ekranu. Mowa opisująca stronę wychodzi z tych samych głośników, często przez tę samą regulację głośności, więc muzyka w tle albo wideo z automatycznym odtwarzaniem potrafi ją zagłuszyć dokładnie wtedy, gdy ktoś szuka przycisku zatrzymania. Kryterium pomaga też osobom, którym trudno skupić się na tekście, gdy coś gra, oraz osobom słabosłyszącym, które nie mogą po prostu podgłośnić mowy ponad muzykę.

Kryterium obowiązuje, gdy dźwięk odtwarza się automatycznie dłużej niż trzy sekundy. Automatycznie znaczy: nie w wyniku świadomego działania użytkownika, a naciśnięcie wyraźnie opisanego przycisku odtwarzania takim działaniem jest. Strona potrzebuje wtedy mechanizmu, który ten dźwięk wstrzyma albo zatrzyma, albo regulacji jego głośności niezależnej od głośności systemu i schodzącej do zera. Wyciszenie całego komputera się nie liczy. Ponieważ dźwięk dotyka całej strony, to jedno z czterech kryteriów, które obejmują całą treść strony, także tę, na której zgodność się nie opiera. W3C nie traktuje rozmowy dwustronnej, na przykład wideokonferencji, jako dźwięku odtwarzanego automatycznie.

/ Jak strony go nie spełniają

  • Wideo z dźwiękiem w nagłówku strony startuje po wczytaniu, gra w pętli i nie ma widocznych kontrolek.
  • Na stronie głównej sama włącza się muzyka, a ikona głośnika, która ją wyłącza, to element div z obsługą kliknięcia, do którego nie da się dojść ani go użyć z klawiatury.
  • Widżet czatu albo promocji odtwarza po otwarciu strony powitanie głosowe dłuższe niż trzy sekundy i nie daje sposobu, by je wyciszyć.
  • Osadzony odtwarzacz ma ustawione automatyczne odtwarzanie z dźwiękiem, a jego kontrolki ukrywa własny CSS witryny.
  • Wideo produktowe z lektorem startuje, gdy wjedzie w widok, i jedyną kontrolką, jaką pokazuje, jest przycisk pełnego ekranu.

/ Jak sprawdzić samodzielnie

  1. Otwórz stronę z włączonym dźwiękiem i poczekaj. Zanotuj wszystko, co zaczyna grać bez kliknięcia, i jak długo trwa.
  2. Jeśli trwa dłużej niż trzy sekundy, poszukaj kontrolki pauzy, zatrzymania, wyciszenia albo głośności na samym odtwarzaczu lub blisko początku strony.
  3. Dojdź do tej kontrolki klawiszem Tab i użyj jej klawiszem Enter albo spacją. Dźwięk musi ucichnąć albo zejść do zera bez ruszania głośności systemu.
  4. W konsoli narzędzi deweloperskich uruchom document.querySelectorAll('audio, video') i sprawdź przy każdym elemencie właściwości autoplay, muted i controls, żeby znaleźć odtwarzacze startujące z dźwiękiem.
  5. Włącz czytnik ekranu, na przykład NVDA albo VoiceOver, wczytaj stronę ponownie i sprawdź, czy nadal go słychać i czy da się znaleźć kontrolkę, gdy dźwięk gra.

/ Jak to naprawić

  • Usuń atrybut autoplay i pozwól użytkownikowi włączyć dźwięk prawdziwym elementem button, którego nazwa mówi, co zostanie odtworzone.
  • Jeśli wideo musi ruszyć samo, uruchamiaj je wyciszone (autoplay muted playsinline) i daj wyraźnie nazwany przycisk włączenia dźwięku.
  • Zostaw atrybut controls na elementach audio i video albo zbuduj własny odtwarzacz, w którym przycisk pauzy jest elementem button z dostępną nazwą.
  • Umieść kontrolkę wyłączającą dźwięk na samym początku strony, przed główną treścią, żeby osoba korzystająca z czytnika ekranu trafiła na nią najpierw.
  • Dźwięki pomocnicze trzymaj krótkie. Powiadomienie albo efekt, który kończy się w ciągu trzech sekund, nie potrzebuje w tym kryterium żadnej kontrolki.

/ Co sprawdza nasz skaner

Test autoplay-media sprawdza każdy element audio i video jeden raz, gdy strona już się ustabilizuje. Zgłasza element, który w tej chwili gra, nie jest wyciszony, nie ma atrybutu controls i albo nie podaje czasu trwania, albo trwa dłużej niż trzy sekundy. Nie rozpoznaje własnego przycisku pauzy, nie słyszy dźwięku z osadzonej ramki iframe ani ze skryptu, a gdy przeglądarka zablokowała autoodtwarzanie, nic nie gra i nic nie zostaje zgłoszone.

/ Kto je łamie, według naszych pomiarów

Żaden zmierzony podmiot nie łamie obecnie tego kryterium w naszych automatycznych sprawdzeniach. To nie jest zaświadczenie o zgodności: automatyczne sprawdzenia nie wychwycą wszystkiego, czego wymaga to kryterium.

Jedna strona na podmiot, mierzona automatycznie w tygodniowym cyklu. Jeśli podmiot coś naprawił od ostatniego pomiaru, zmiana będzie widoczna przy następnym, a każdy podmiot może odpowiedzieć na swojej stronie.

/ Pytania o to kryterium

Czy automatyczne odtwarzanie z dźwiękiem narusza WCAG?

Samo automatyczne odtwarzanie nie jest błędem. Narusza 1.4.2, gdy dźwięk gra dłużej niż trzy sekundy, a strona nie daje sposobu, by go wstrzymać, zatrzymać albo ustawić jego głośność niezależnie od systemu. W3C mimo to odradza samoczynne włączanie dźwięku w ogóle, bo osobie korzystającej z czytnika ekranu trudno znaleźć kontrolkę, gdy coś gra ponad jej mową.

Czy wyciszone wideo z automatycznym odtwarzaniem narusza 1.4.2?

Nie. Kryterium dotyczy dźwięku, a wyciszone wideo go nie odtwarza. Ruch to osobna sprawa: 2.2.2 Pauza, zatrzymanie, ukrycie wymaga sposobu na wstrzymanie treści, która startuje sama, porusza się dłużej niż pięć sekund i jest pokazywana obok innej treści.

Dlaczego 1.4.2 obejmuje także części strony spoza zakresu deklaracji?

WCAG wymienia cztery kryteria, które dotyczą całej treści strony, bo ich naruszenie może uniemożliwić korzystanie z niej w ogóle: 1.4.2 Kontrola odtwarzania dźwięku, 2.1.2 Bez pułapki na klawiaturę, 2.2.2 Pauza, zatrzymanie, ukrycie i 2.3.1 Trzy błyski lub wartości poniżej progu. Liczy się więc także dźwięk z reklamy, osadzonego materiału czy widżetu, nawet jeśli zgodność z innymi kryteriami się na nich nie opiera.