Co oznacza to kryterium
Podczas transmisji osoba bez słyszenia powinna móc czytać informacje przekazywane dźwiękiem w związku z bieżącym wydarzeniem. Napisy obejmują wypowiedzi, potrzebne rozróżnienie mówców i ważne dźwięki, np. alarm lub reakcję publiczności. Transkrypcja po zakończeniu nie daje dostępu podczas emisji.
Pomaga to osobom Głuchym i słabosłyszącym; korzystanie chwilowo bez dźwięku jest dodatkową korzyścią. Napisy same nie opisują informacji dostępnej wyłącznie w obrazie.
Przykłady błędów i poprawek
Plan rzeczywistego instruktażu
Własny prowadzący pokazuje zmianę punktu odbioru Centrum → Park, Leśna 12, mówi o potwierdzeniu, po którym słychać dwa ważne sygnały, i podaje termin 6 października. Dane pozostają syntetyczne. Do wykonania potrzebne są autoryzowane rzeczywiste zdarzenie, osoby lub źródła i tor przechwycenia oraz dostarczenia.
| Etap planu | Błąd w tym samym wydarzeniu | Poprawka |
|---|---|---|
| Wypowiedź o Parku i Leśnej 12 | Widz odbiera obraz, ale nie odczytuje polecenia. | Bieżący tekst zachowuje wybór punktu, adres i potrzebną identyfikację prowadzącego. |
| Potwierdzenie i dwa sygnały | Są dialogi, lecz pominięto znaczący dźwięk zapisania. | Napisy opisują dwa sygnały i ich znaczenie. |
| Nowy termin | ASR zmienia datę lub przypisuje wypowiedź niewłaściwej osobie. | Korekta zachowuje informację i mówcę; sama procentowa dokładność nie rozstrzyga zgodności. |
| Buforowanie lub przerwa | Tekst zanika albo coraz bardziej rozmija się z odbieranym audio. | Wspólna oś czasu, obsługa przerw i kontrola odbiornika. Pomiar pozostaje niewykonany. |
- Problem
- Rzeczywista transmisja nie dostarcza napisów lub pomija ważne informacje dźwiękowe.
- Skutek
- Odbiorca bez słyszenia nie może na bieżąco śledzić tej samej prezentacji i znaczenia sygnałów.
- Poprawka
- Zorganizuj wytwarzanie, transport i wyświetlanie pełnych napisów podczas emisji; sprawdź treść i synchronizację w rzeczywistym odbiorniku.
Nie wykorzystano tu mikrofonu, kamery, cudzej transmisji ani danych klientów. Nie zebrano materiału z docelowego wydarzenia.
Co sprawdzono na wcześniejszym MP4
Pomocnicza demonstracja WWW odtwarzała istniejący film 1.2.2, 17,333333 s, H.264 804 × 1958 px, 60 fps i AAC. Obraz pochodził z wcześniejszych działań iOS, audio z syntezy Zosia i dwóch tonów. To nagranie, bez rzeczywistego uczestnika i bez transmisji.
| Wariant mechaniki | Rzeczywista obserwacja | Granica |
|---|---|---|
| good | Pięć kwestii; wypowiedź Park/Leśna 12 przy 5 s, sygnał przy 13,2 s. Tekst aktualizowany przez aktywne cues odtwarzacza. | Sprawdzono dostarczanie przygotowanych napisów, bez pełnej oceny 1.2.2 lub live. |
| bad | Track odłączony, liczba ścieżek 0, pusty tekst przy 5 s. | Nie pozostawiono pełnej ścieżki w menu CC. To nie FAIL 1.2.4. |
| speech | Cztery wypowiedzi zachowane; tylko kwestia sygnału usunięta, pusto przy 13,2 s. | Liczba kwestii sama nie ocenia kompletności dowolnej transmisji. |
Tekst obok filmu pochodził z TextTrack.activeCues i cuechange, według rzeczywistego media time. Nie było timera imitującego wydarzenie ani komunikatu aria-live przy każdej kwestii. Istniejące kadry tej mechaniki pokazują stany pliku; nie osadzamy ich jako dowodu docelowego zdarzenia. Nagranie 1.2.2 można obejrzeć w artykule 1.2.2 o napisach do nagrań.
Kiedy obowiązuje i gdzie są wyjątki
Rzeczywiste zdarzenie i granica definicji live
Informacja musi pochodzić z wydarzenia w świecie rzeczywistym i docierać najwyżej z opóźnieniem transmisji. Krótkie opóźnienie emisji, pozwalające przygotować lub ocenzurować sygnał, nie wyłącza warunku. Czas wystarczający na znaczący montaż wykracza poza tę definicję. Nie ma uniwersalnego normatywnego progu sekund.
Treść całkowicie wygenerowana komputerowo nie jest live. Odtwarzanie MP4, zapętlona animacja, licznik, lokalny stream pliku i etykieta LIVE nie dowodzą rzeczywistego zdarzenia. Komputerowa transmisja lub wspomaganie napisów nie przekreślają prawdziwego źródła. W programie mieszanym ustal pochodzenie segmentów; archiwum ocenia się jako nagranie według 1.2.2.
Audio i alternatywa tekstu
Audio na żywo musi być częścią mediów zsynchronizowanych: z obrazem, slajdami lub czasową interakcją. Sam radiowy strumień bez takiej synchronizacji ma odrębny warunek 1.2.9, poziom AAA. Niemy strumień obrazu nie uruchamia napisów do audio. Brak mowy nie wyłącza istotnych dźwięków lub muzyki.
W samym zdaniu 1.2.4 nie ma listy wyjątków. Definicja mediów zsynchronizowanych wyłącza jasno oznaczoną alternatywę tekstu, gdy cała informacja już w nim istnieje. Konspekt, slajdy i późniejsza transkrypcja nie wystarczą. Improwizowana odpowiedź albo nowy ważny dźwięk wykraczający poza tekst podważa równoważność. Pomocniczy MP4 nie korzysta z tego wyjątku: po prostu nie jest live.
Treść, czas i odpowiedzialność
Napisy przekazują sens dialogu oraz ważnych informacji niedialogowych, w tym potrzebnych mówców i ich położenia. Można uprościć wypowiedź bez utraty informacji; nie trzeba opisywać każdego szumu. Błąd zmieniający liczbę lub nazwę może mieć inną wagę niż literówka.
Sprawdź związek z audio odbieranym przez widza: opóźnienie, dryf, zmianę mówcy, segmenty, przerwy, czytelność i zasłanianie ważnego obrazu. Sam CC i pakiet tekstu nie wystarczą. Kryterium nie wymaga możliwości wyłączenia napisów otwartych ani określonego transportu. ASR może wspierać rozwiązanie, ale wymaga kontroli rzeczywistej treści.
Understanding opisuje intencję broadcastu; nie nakłada bezwarunkowo napisów na każdą dwukierunkową rozmowę multimedialną niezależnie od potrzeb uczestników. Dostarczanie treści napisów należy do dostawców treści, uczestników lub hosta, bez automatycznego przypisania go samej aplikacji rozmów. Publiczny webinar z pytaniami nie zostaje z tego powodu zwolniony. Potrzeby, funkcje aplikacji i odpowiedzialność za emisję ustal odrębnie.
Techniki pomocnicze wskazują proces dostarczania napisów w czasie rzeczywistym oraz otwarty lub zamknięty sposób prezentacji. Nie są dodatkowym wymaganiem ani zleceniem użycia historycznego SMIL. Nie przenoś przypisania błędów pomijania audio lub nieoznaczonej alternatywy tekstu z 1.2.2 na oficjalne błędy 1.2.4.
Platformy
Źródłowa interpretacja AI z 2026-10-04: WCAG 2.2 dla WWW oraz WCAG2ICT 2.2, Group Note 2025-12-11, bez zmiany wymagania dla dokumentów i oprogramowania. To wskazówka interpretacyjna, bez ustalania zakresu regulacji.
| Środowisko | Warunek i zakres | Wykonanie źródłowe |
|---|---|---|
| WWW, także telefon | Rzeczywisty webcast z audio i zsynchronizowaną prezentacją. | Mechanika na MP4; live niewykonane. |
| Mobilne | Faktyczny natywny lub webowy odbiornik transmisji; treść i odbiornik ocenia się osobno. | iOS i Android niewykonane. |
| Desktop | Program odbierający transmisję. WWW na macOS nie potwierdza natywnego programu. | Niewykonane. |
| Dokument | Dokument może prezentować rzeczywisty zsynchronizowany strumień. Statyczny PDF lub zewnętrzny link nie staje się własną transmisją. | Niewykonane. |
| Inne urządzenia | Oprogramowanie telewizora/kiosku odbiera rzeczywistą transmisję; sprzęt i funkcjonalność zamknięta wymagają osobnej oceny. | Niewykonane. |
Brak transmisji w przykładzie oznacza, że 1.2.4 nie dotyczy tego scenariusza, bez wyłączenia całej platformy. W hybrydzie rozdziel odbiorniki.
Rozwiązania w technologiach
Rozdziel wytworzenie napisów, transport, oś czasu i odbiornik. Fragmenty poniżej wybierają lub wyświetlają treść; nie zestawiają transmisji. Dokumentację API przejrzano 2026-10-04. Odbiornik ma korzystać z własnego media time, także po buforowaniu i przerwach.
WWW / HTML i JavaScript
W istniejącym odtwarzaczu cuechange odczytuje TextTrack.activeCues, a textContent wyświetla tekst. kind=“captions”, język pl i label określają ścieżkę. showing może zapewnić natywne napisy i wybór CC; hidden w fixture służył odczytowi aktywnych kwestii renderowanych obok.
Statyczny src=“captions.vtt” nie jest generatorem ani transportem live. Przyrostowe dostarczanie potrzebuje obsługiwanego formatu i właściwych timestampów. Sama nazwa HLS nie dowodzi źródła live. Składnia JS i mechanika WWW: PASS; emisja live: niewykonana.
Android / Compose
import androidx.media3.common.C
import androidx.media3.common.Player
fun preferPolishCaptions(player: Player) {
player.trackSelectionParameters = player.trackSelectionParameters
.buildUpon()
.setPreferredTextLanguage("pl")
.setTrackTypeDisabled(C.TRACK_TYPE_TEXT, false)
.build()
}Player Media3 już ma skonfigurowany strumień z polską ścieżką. Preferencja nie tworzy napisów ani nie gwarantuje wyboru. UI Compose musi renderować tekst i pozwalać na zmianę ścieżki. Sprawdź format oraz faktycznie wybraną treść. Dokumentacja: sprawdzona; kompilacja i działanie: niewykonane.
iOS / SwiftUI
import AVFoundation
import Foundation
func selectPolishCaptions(item: AVPlayerItem,
group: AVMediaSelectionGroup) -> Bool {
let options = AVMediaSelectionGroup.mediaSelectionOptions(
from: group.options, with: Locale(identifier: "pl"))
guard let option = options.first else { return false }
item.select(option, in: group)
return true
}Przed wywołaniem asynchronicznie załaduj grupę legible assetu. AVPlayerViewController może prezentować ścieżkę; SwiftUI może osadzić istniejący AVKit controller. true oznacza wykonanie wyboru, bez oceny pełności lub synchronizacji. Zachowaj preferencje i wybór użytkownika; sprawdź opisy dźwięków, nie tylko tłumaczenia dialogów. Dokumentacja: sprawdzona; typecheck i działanie: niewykonane.
Flutter
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
Widget captionPanel(ValueListenable<String> activeCaption) =>
ValueListenableBuilder<String>(
valueListenable: activeCaption,
builder: (context, text, child) => Text(text),
);To sam renderer bieżącej kwestii, bez generatora, transportu, timera ani pełnego odtwarzacza. Integracja z istniejącym natywnym odtwarzaczem musi dostarczyć aktualną treść, wyczyścić ją po końcu i zachować miejsce poza ważnym obrazem. Plik napisów video_player i value.caption.text same nie dowodzą przyrostowej ścieżki live. Dokumentacja: sprawdzona; fragment niekompilowany i nieuruchomiony, bez instalacji pakietu.
React Native
import { Text, View } from 'react-native';
type Props = { activeCaption: string };
export function CaptionPanel({ activeCaption }: Props) {
return (
<View>
<Text>{activeCaption}</Text>
</View>
);
}Core nie ma kompletnego odtwarzacza. Istniejący komponent natywny lub moduł musi przekazywać rzeczywiście aktywną kwestię według czasu medium. Fabric Native Components/Commands łączą z platformą, bez usługi napisów. CC ma zmieniać ścieżkę, a accessibilityLabel nie zastępuje widocznego tekstu. Dokumentacja: sprawdzona; typecheck, kompilacja i działanie: niewykonane.
Jak sprawdzić
Plan odbioru rzeczywistego wydarzenia — niewykonany
- Ustal rzeczywiste źródło, czas, tor emisji i odpowiedzialność. Zachowaj pochodzenie; oddziel archiwum, pełną generację, samo audio i alternatywę tekstu.
- Sprawdź procedurę operatora, przerwy i korekty. Tekst ma powstawać i docierać podczas emisji.
- W rzeczywistym odbiorniku sprawdź początek, zmiany mówcy, ważny dźwięk, nazwę, liczbę, szybkie wypowiedzi i koniec. Włącz rzeczywistą ścieżkę CC lub obserwuj otwarte napisy.
- Zachowaj odebrane audio, obraz i tekst, czas zdarzenia i odbioru oraz synchronizację zegarów z niepewnością. Oceń opóźnienie, dryf i buforowanie. Nie odejmuj niesynchronizowanych zegarów jako wiarygodnej latencji.
- Reviewer porównuje znaczenie i wykonuje odsłuch; odbiór bez słyszenia sprawdza dostęp do informacji. Screenshot nie zastępuje całego przebiegu.
Weryfikacja i ograniczenia
| Sprawdzenie źródłowe 2026-10-04 | Wynik i granica |
|---|---|
| Dokumentacja WCAG i API | Sprawdzona przez AI; brak zatwierdzenia człowieka. |
| Składnia JS i format wcześniejszego MP4 | PASS; bez nowego filmu, audio lub Flutter bundle. |
| Mechanika WWW w Codex IAB/macOS | PASS: good/bad/speech, reset, nieznany wariant, naturalny play, zakończenie i ponowny start/pauza. Obserwowano rzeczywiste cuechange i media time. |
| Live, latencja i odsłuch | Niewykonane. Naturalne odtwarzanie pliku nie potwierdza transmisji. |
| iOS, inne platformy, czytnik i monitor AT | Niewykonane; wykonanie wcześniejszych kryteriów nie przenosi ich wyników tutaj. |
| Człowiek / zaślepiony walidator | Niewykonane. |
Pierwszy pomocniczy bad tylko ukrywał tekst, pozostawiając ścieżkę; nie był dowodem braku napisów. Po odłączeniu track ponowne użycie tego samego elementu nie przeładowało speech, więc kadr nadal zawierał sygnał. Dopiero tworzenie świeżego track i ponowiona końcowa próba dały brak sygnału przy zachowanych wypowiedziach. Wstępne i puste zapisy obserwatora pozostają historią, poza dowodem końcowym. Finalne obrazy i odczyty były sekwencyjne, nie jednoczesne.
Reguła może wykryć track, błąd pobrania lub wybrany tryb, lecz DOM nie dowodzi pochodzenia live, pełności ani przekazania ważnego audio. Brak tekstu w AX nie wyklucza napisów otwartych. Sam niepusty tekst i pięć kwestii nie są uniwersalnym warunkiem zaliczenia. Dla nieznanego źródła wynik pozostaje nieustalony, bez PASS/FAIL z samego CC. AI może proponować porównanie treści, ze znanym źródłem, zakresem i niepewnością; tutaj nie oceniała audio.
Jak sprawdza Clearship
Katalog metody z 2026-10-08 zachowuje ręczną ocenę. Detektor zbiera kandydatów z nagrań oznaczonych w pakiecie jako live; samo takie oznaczenie nie potwierdza źródła zdarzenia. Pomiar na Androidzie i iOS pozostaje niewykonany. Do oceny potrzebne są rzeczywiście odebrane audio, obraz i napisy oraz pochodzenie, czasy, przerwy i korekty. Pomocniczy MP4 i generator kwestii nie dostarczają tego dowodu. Brak wymaganych danych pozostawia kryterium nieprzebadane.