WCAG 1.2.7: Rozszerzona audiodeskrypcja (nagrane wcześniej)

Co to jest WCAG 1.2.7: Rozszerzona Audiodeskrypcja (nagrane wcześniej)?

Kryterium sukcesu WCAG 1.2.7, zatytułowane "Rozszerzona audiodeskrypcja (nagrane wcześniej)", jest na poziomie zgodności AAA i wymaga, aby dla wszystkich nagranych materiałów wideo, jeśli tradycyjne przerwy w dialogach są niewystarczające do przekazania wszystkich istotnych informacji wizualnych za pomocą standardowej audiodeskrypcji, dostępna była wersja z rozszerzoną audiodeskrypcją. Oznacza to, że w takich sytuacjach konieczne jest zastosowanie mechanizmu, który pauzuje odtwarzanie głównego materiału wideo, aby umożliwić odtworzenie dłuższej, bardziej szczegółowej audiodeskrypcji.

Standardowa audiodeskrypcja (WCAG 1.2.3) polega na wpleceniu narracji opisującej wizualne aspekty filmu w naturalne pauzy dialogowe. Jednak w przypadku filmów z szybkim tempem akcji, dużą ilością wizualnych detali lub minimalnymi przerwami w dialogach, standardowa audiodeskrypcja może okazać się niewystarczająca. Właśnie wtedy wkracza rozszerzona audiodeskrypcja, oferując kompleksowe rozwiązanie, które gwarantuje, że żadne istotne informacje wizualne nie zostaną pominięte przez użytkowników niewidomych lub niedowidzących.

Dlaczego Rozszerzona Audiodeskrypcja jest ważna?

Zapewnienie rozszerzonej audiodeskrypcji ma fundamentalne znaczenie dla dostępności treści multimedialnych, zwłaszcza dla osób z niepełnosprawnością wzroku. Bez niej, kluczowe elementy wizualne, takie jak:

  • Wyrazy twarzy i emocje: Subtelne gesty, które wyrażają uczucia postaci.
  • Opisy scen i otoczenia: Detale tła, które budują atmosferę lub przekazują kontekst.
  • Akcje i ruchy: Szczegóły choreografii, walk, tańców czy złożonych sekwencji zdarzeń.
  • Tekst na ekranie: Napisy, etykiety, fragmenty dokumentów wyświetlanych na ekranie.
  • Wizualne efekty specjalne: Efekty, które są integralną częścią narracji, ale nie są sygnalizowane dźwiękiem.

mogłyby pozostać niezrozumiane lub całkowicie pominięte. Użytkownicy niewidomi lub niedowidzący polegają na audiodeskrypcji, aby "zobaczyć" to, co dzieje się na ekranie. Kiedy standardowa audiodeskrypcja nie jest w stanie sprostać temu zadaniu, rozszerzona wersja staje się niezbędna do pełnego zrozumienia treści i czerpania z niej satysfakcji. Jest to kwestia równego dostępu do informacji i kultury.

Kryteria sukcesu i wymagania (WCAG 1.2.7)

WCAG 1.2.7 jest kryterium na poziomie AAA, co oznacza, że choć nie jest obowiązkowe dla osiągnięcia podstawowej zgodności z WCAG (poziom A i AA), stanowi najwyższy poziom dostępności i jest zalecane dla treści, które mają być w pełni inkluzywne.

Dokładne brzmienie kryterium:

Rozszerzona audiodeskrypcja (nagrane wcześniej): Rozszerzona audiodeskrypcja musi być dostępna dla wszystkich nagranych materiałów wideo, gdy pauzy w dialogach są niewystarczające.

Kluczowe elementy do zrozumienia:

  • "Rozszerzona audiodeskrypcja" (Extended Audio Description): Oznacza, że audiodeskrypcja jest na tyle długa, że wymaga zatrzymania lub spowolnienia odtwarzania głównego materiału wideo, aby mogła zostać w pełni odtworzona bez nakładania się na dialogi lub ważne dźwięki.
  • "Nagrane wcześniej" (Prerecorded): Kryterium dotyczy tylko treści, które są już nagrane, a nie transmitowanych na żywo (dla tych istnieją inne kryteria).
  • "Gdy pauzy w dialogach są niewystarczające": To kluczowy warunek. Jeśli naturalne pauzy są wystarczające do wplecenia wszystkich istotnych informacji wizualnych za pomocą standardowej audiodeskrypcji, rozszerzona audiodeskrypcja nie jest wymagana. Należy przeprowadzić ocenę, czy standardowa audiodeskrypcja jest wystarczająca.

Jak zapewnić zgodność z WCAG 1.2.7? Praktyczne wytyczne

Zapewnienie rozszerzonej audiodeskrypcji wymaga przemyślanego podejścia zarówno na etapie produkcji, jak i implementacji technicznej.

1. Ocena potrzeby

Przede wszystkim należy dokładnie przeanalizować każdy nagrany materiał wideo. Zadaj sobie pytania:

  • Czy są kluczowe informacje wizualne, które są niezbędne do pełnego zrozumienia treści?
  • Czy naturalne przerwy w dialogach i ścieżce dźwiękowej są wystarczająco długie, aby pomieścić szczegółowy opis tych informacji?
  • Czy standardowa audiodeskrypcja (bez pauzowania wideo) byłaby wystarczająca do przekazania wszystkich istotnych detali?

Jeśli odpowiedź na ostatnie pytanie brzmi "nie", konieczne jest rozważenie rozszerzonej audiodeskrypcji.

2. Tworzenie rozszerzonej audiodeskrypcji

  • Scenariusz: Stwórz szczegółowy scenariusz audiodeskrypcji, który dokładnie opisuje wszystkie istotne wizualne aspekty, które nie mogą być przekazane inaczej. Bądź konkretny i zwięzły, ale kompletny.
  • Nagraj: Nagraj audiodeskrypcję z profesjonalnym lektorem. Dźwięk powinien być wyraźny, z odpowiednią intonacją i tempem.
  • Synchronizacja: Precyzyjnie zsynchronizuj audiodeskrypcję z momentami w filmie, w których jest potrzebna.

3. Metody implementacji technicznej

Istnieją dwie główne metody wdrożenia rozszerzonej audiodeskrypcji:

a) Oddzielna wersja wideo z wbudowaną rozszerzoną audiodeskrypcją

Jest to najprostsze technicznie podejście. Tworzy się całkowicie nową wersję pliku wideo, w której sceny wymagające rozszerzonej audiodeskrypcji są celowo wydłużone (spauzowane), aby pomieścić dodatkowy opis. Użytkownik wybiera tę wersję wideo zamiast standardowej.

b) Interaktywny odtwarzacz wideo z dynamicznym pauzowaniem

Bardziej zaawansowane rozwiązanie, które wymaga modyfikacji odtwarzacza wideo. Odtwarzacz musi być w stanie dynamicznie pauzować główny materiał wideo w odpowiednich momentach, odtworzyć rozszerzoną audiodeskrypcję, a następnie wznowić odtwarzanie głównego wideo. Wymaga to:

  • Ścieżki czasowej (timelined) z informacjami o punktach, w których należy wstawić i odtworzyć rozszerzoną audiodeskrypcję.
  • Interfejsu użytkownika umożliwiającego włączanie/wyłączanie rozszerzonej audiodeskrypcji.
  • Wykorzystania API JavaScript do kontroli odtwarzacza (np. HTML5 Media API).

Przykłady wdrożenia

Przykład 1: Oddzielna wersja wideo (zalecane dla prostoty)

Ta metoda jest często preferowana ze względu na prostotę implementacji i niezawodność.

HTML:

<h3>Wybierz wersję filmu:</h3>
<ul>
  <li>
    <a href="#" onclick="showVideo('standard'); return false;">Wersja standardowa</a>
  </li>
  <li>
    <a href="#" onclick="showVideo('extended-ad'); return false;">Wersja z rozszerzoną audiodeskrypcją</a>
  </li>
</ul>

<div id="video-container">
  <video id="video-standard" controls preload="metadata" width="640" height="360" style="display: block;">
    <source src="film-standard.mp4" type="video/mp4">
    <source src="film-standard.webm" type="video/webm">
    <track kind="descriptions" srclang="pl" label="Audiodeskrypcja" src="audiodeskrypcja-standard.vtt"> 
    <p>Twoja przeglądarka nie obsługuje wideo HTML5.</p>
  </video>

  <video id="video-extended-ad" controls preload="metadata" width="640" height="360" style="display: none;">
    <source src="film-rozszerzona-ad.mp4" type="video/mp4">
    <source src="film-rozszerzona-ad.webm" type="video/webm">
    <track kind="descriptions" srclang="pl" label="Rozszerzona Audiodeskrypcja" src="audiodeskrypcja-rozszerzona.vtt"> 
    <p>Twoja przeglądarka nie obsługuje wideo HTML5.</p>
  </video>
</div>

JavaScript:

function showVideo(version) {
  const videoStandard = document.getElementById('video-standard');
  const videoExtendedAd = document.getElementById('video-extended-ad');

  if (version === 'standard') {
    videoExtendedAd.pause();
    videoExtendedAd.style.display = 'none';
    videoStandard.style.display = 'block';
    // Opcjonalnie: można zsynchronizować czas odtwarzania, jeśli użytkownik przełącza wersje w trakcie oglądania.
    // videoStandard.currentTime = videoExtendedAd.currentTime;
  } else if (version === 'extended-ad') {
    videoStandard.pause();
    videoStandard.style.display = 'none';
    videoExtendedAd.style.display = 'block';
    // videoExtendedAd.currentTime = videoStandard.currentTime;
  }
}

Opis: Dwie wersje tego samego filmu są dostarczone, jedna z wbudowaną rozszerzoną audiodeskrypcją (gdzie film jest spauzowany w celu umożliwienia odtworzenia opisu), a druga standardowa. Użytkownik może wybrać, którą wersję chce obejrzeć. W tym przykładzie, nawet wersja "standardowa" ma ścieżkę audiodeskrypcji, co jest dobrą praktyką.

Przykład 2: Dynamiczne pauzowanie (bardziej zaawansowane)

Ten przykład demonstruje, jak można zaimplementować dynamiczne pauzowanie za pomocą JavaScript, choć jest to znacznie bardziej złożone niż dostarczanie osobnej wersji wideo. Wymaga to precyzyjnego zarządzania czasem i ścieżkami.

HTML (fragment):

<video id="myVideo" controls preload="metadata" width="640" height="360">
  <source src="film.mp4" type="video/mp4">
  <source src="film.webm" type="video/webm">
  <track kind="descriptions" srclang="pl" label="Standardowa Audiodeskrypcja" src="audiodeskrypcja-standard.vtt">
  <p>Twoja przeglądarka nie obsługuje wideo HTML5.</p>
</video>

<button id="toggleExtendedAD">Włącz/Wyłącz Rozszerzoną Audiodeskrypcję</button>
<audio id="extendedADAudio" style="display:none;"></audio>

JavaScript (pseudokod/koncepcyjny):

const video = document.getElementById('myVideo');
const extendedADAudio = document.getElementById('extendedADAudio');
const toggleButton = document.getElementById('toggleExtendedAD');
let extendedADEnabled = false;

// Definicje punktów wstawiania rozszerzonej audiodeskrypcji (start_time, duration, audio_src)
const adCuePoints = [
  { start: 10, duration: 5, src: 'extended-ad-1.mp3' }, // Film pauzuje na 10s, opis trwa 5s
  { start: 30, duration: 8, src: 'extended-ad-2.mp3' }
];

let currentAdIndex = -1;

toggleButton.addEventListener('click', () => {
  extendedADEnabled = !extendedADEnabled;
  toggleButton.textContent = extendedADEnabled ? 'Wyłącz Rozszerzoną Audiodeskrypcję' : 'Włącz Rozszerzoną Audiodeskrypcję';
  if (!extendedADEnabled) {
    // Zatrzymaj bieżącą audiodeskrypcję i wznów wideo, jeśli była aktywna
    if (extendedADAudio.playing) {
      extendedADAudio.pause();
      video.play();
    }
  }
});

video.addEventListener('timeupdate', () => {
  if (!extendedADEnabled || video.paused || extendedADAudio.playing) {
    return; // Nie robimy nic, jeśli AD wyłączona, wideo spauzowane lub AD już gra
  }

  const currentTime = video.currentTime;

  // Sprawdzamy, czy weszliśmy w punkt, gdzie potrzebna jest rozszerzona AD
  for (let i = 0; i < adCuePoints.length; i++) {
    const cue = adCuePoints[i];
    if (currentTime >= cue.start && currentTime < (cue.start + 0.5) && i !== currentAdIndex) { // Bufor 0.5s
      currentAdIndex = i;
      video.pause();
      extendedADAudio.src = cue.src;
      extendedADAudio.play();
      break;
    }
  }
});

extendedADAudio.addEventListener('ended', () => {
  // Po zakończeniu rozszerzonej audiodeskrypcji wznawiamy wideo
  video.play();
});

extendedADAudio.addEventListener('play', () => {
  // Upewnij się, że wideo jest spauzowane, gdy audiodeskrypcja gra
  if (!video.paused) {
    video.pause();
  }
});

Opis: Ten skrypt (koncepcyjny) monitoruje czas odtwarzania wideo. Gdy osiągnie zdefiniowany punkt, pauzuje główne wideo, odtwarza odpowiednią ścieżkę audio z rozszerzoną audiodeskrypcją, a po jej zakończeniu wznawia odtwarzanie głównego wideo. Użytkownik ma kontrolę nad włączeniem/wyłączeniem tej funkcji.

Przykłady niepoprawnych wdrożeń

1. Brak rozszerzonej audiodeskrypcji, gdy jest potrzebna:

<video controls preload="metadata" width="640" height="360">
  <source src="film-z-szybka-akcja.mp4" type="video/mp4">
  <!-- Brak jakiejkolwiek audiodeskrypcji, lub tylko standardowa audiodeskrypcja
       która jest niewystarczająca dla treści wizualnych, które nie mieszczą się
       w naturalnych pauzach. -->
  <p>Twoja przeglądarka nie obsługuje wideo HTML5.</p>
</video>

Problem: Film zawiera długie, kluczowe wizualnie sekwencje bez dialogów, ale audiodeskrypcja nie jest dostarczana w sposób, który by to uwzględniał (np. poprzez pauzowanie wideo).

2. Rozszerzona audiodeskrypcja jest, ale bez kontroli użytkownika lub bez synchronizacji:

Scenariusz, w którym rozszerzona audiodeskrypcja jest wbudowana w film, ale użytkownik nie ma możliwości wyboru wersji bez niej, lub co gorsza, audiodeskrypcja jest dostępna, ale nie jest prawidłowo zsynchronizowana z pauzami wideo (np. odtwarza się jednocześnie z dialogami).

Problem: Brak elastyczności dla użytkowników, którzy nie potrzebują rozszerzonej AD lub problemy z czytelnością z powodu nakładających się dźwięków.

Najlepsze praktyki i typowe błędy

Najlepsze praktyki

  • Wcześnie planuj: Już na etapie koncepcji i produkcji wideo zastanów się, czy rozszerzona audiodeskrypcja będzie potrzebna. Ułatwi to jej późniejsze tworzenie i integrację.
  • Profesjonalna jakość: Zawsze angażuj profesjonalnych lektorów i scenarzystów do tworzenia audiodeskrypcji. Jakość dźwięku i precyzja opisu są kluczowe.
  • Jasna identyfikacja: Jeśli oferujesz wiele wersji wideo (np. standardową i z rozszerzoną audiodeskrypcją), wyraźnie oznacz je, aby użytkownicy mogli łatwo wybrać odpowiednią opcję.
  • Testowanie z użytkownikami: Testuj swoje rozwiązania z osobami niewidomymi lub niedowidzącymi, aby upewnić się, że audiodeskrypcja jest zrozumiała i użyteczna.
  • Instrukcje: Dostarcz jasne instrukcje dotyczące tego, jak włączyć lub uzyskać dostęp do rozszerzonej audiodeskrypcji.

Typowe błędy (pułapki)

  • Niewystarczająca analiza: Założenie, że standardowa audiodeskrypcja zawsze wystarczy, bez faktycznej oceny treści wizualnych.
  • Zła synchronizacja: Niewłaściwe synchronizowanie rozszerzonej audiodeskrypcji z wideo, co może prowadzić do niezrozumienia lub frustracji.
  • Niska jakość audio: Słabe nagranie audiodeskrypcji (np. cichy głos, szumy, niewyraźna wymowa).
  • Brak kontroli użytkownika: Wbudowanie rozszerzonej audiodeskrypcji bez możliwości jej wyłączenia lub wyboru innej wersji filmu, co może być uciążliwe dla niektórych użytkowników.
  • Zapominanie o wszystkich materiałach: Wdrożenie rozszerzonej audiodeskrypcji tylko dla niektórych filmów, podczas gdy inne, również wymagające, zostają pominięte.

Podsumowanie

Rozszerzona audiodeskrypcja (WCAG 1.2.7) jest istotnym krokiem w kierunku zapewnienia pełnej dostępności nagranych treści wideo dla osób z niepełnosprawnością wzroku, zwłaszcza gdy standardowe rozwiązania okazują się niewystarczające. Wymaga to starannej oceny, profesjonalnego tworzenia opisów oraz przemyślanej implementacji technicznej. Dążenie do zgodności z tym kryterium, choć na poziomie AAA, znacząco podnosi jakość doświadczeń użytkowników i świadczy o zaangażowaniu w inkluzywny design.

Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.