WCAG-succescriteria · Level AA

WCAG 1.2.5: Audiobeschrijving (vooraf opgenomen)

WCAG 1.2.5 vereist dat audiobeschrijving wordt aangeboden voor alle vooraf opgenomen videocontent in gesynchroniseerde media, zodat gebruikers die blind zijn of een beperkt gezichtsvermogen hebben toegang hebben tot visuele informatie die niet alleen via het audiospoor wordt overgebracht.

  • Level AA

Wat Deze Regel Betekent

\n

WCAG 1.2.5 — Audiobeschrijving (vooraf opgenomen) is een succescriterium op niveau AA onder Principe 1: Waarneembaar. Het vereist dat er een audiobeschrijving wordt aangeboden voor alle vooraf opgenomen gesynchroniseerde media die video bevat. Audiobeschrijving is een vertellende audiotrack die wordt toegevoegd aan de primaire audio van een video en belangrijke visuele informatie beschrijft — zoals acties, scènewisselingen, tekst op het scherm, gezichtsuitdrukkingen en andere visuele elementen — die niet worden overgebracht via de bestaande dialoog of audio.

\n

Het criterium is van toepassing op gesynchroniseerde media, door WCAG gedefinieerd als content die audio- en videotracks combineert die met elkaar of met tijdgebaseerde interactieve componenten zijn gesynchroniseerd. Dit omvat videotutorials, instructiefilms, opgenomen webinars, promotievideo’s, productdemonstraties en nieuwsuitzendingen. Het is niet van toepassing op alleen-audio content, alleen-video content (wat afzonderlijk wordt behandeld door 1.2.1), of live videostreams (die, voor zover van toepassing, worden gedekt door 1.2.6 op niveau AAA).

\n

Om te slagen is vereist dat voor elke vooraf opgenomen video met audio er óf een extra audiobeschrijvingstrack is die door de gebruiker kan worden geactiveerd, óf een uitgebreide audiobeschrijvingsversie van de video waarin pauzes zijn ingevoegd om de verteller voldoende tijd te geven complexe visuele content te beschrijven. Als alternatief geldt: als de bestaande audiotrack al volledig alle visuele informatie in de video overbrengt — wat betekent dat er visueel niets betekenisvols gebeurt dat niet wordt beschreven in de bestaande vertelling of dialoog — dan is geen extra audiobeschrijving vereist.

\n

Er is sprake van een fout wanneer visuele informatie die cruciaal is voor het begrijpen van de videocontent uitsluitend via de beeldtrack wordt gepresenteerd, zonder bijbehorende verbale beschrijving. Een trainingsvideo die bijvoorbeeld een presentator laat zien die op softwarestappen op het scherm klikt, terwijl hij alleen zegt: "klik hier en selecteer dan deze optie", voldoet niet aan dit criterium, omdat een blinde gebruiker die naar de audiotrack luistert geen manier heeft om te begrijpen op welk UI-element wordt geklikt of wat er wordt geselecteerd.

\n

Er is één belangrijke officiële uitzondering: als de media zelf een media-alternatief voor tekst is — wat betekent dat een video specifiek is geproduceerd om te dienen als een toegankelijk equivalent van een tekstdocument — en dit duidelijk als zodanig is gelabeld, dan is audiobeschrijving voor die content niet vereist.

\n\n

Waarom Het Belangrijk Is

\n

Audiobeschrijving is in de eerste plaats een vereiste voor gebruikers die blind zijn of een ernstige visuele beperking hebben. Volgens de Wereldgezondheidsorganisatie hebben wereldwijd ongeveer 2,2 miljard mensen een vorm van visuele beperking. Voor deze gebruikers kan de standaardervaring van een video zonder audiobeschrijving desoriënterend of volledig niet-informerend zijn wanneer het verhaal afhankelijk is van visuele context. Een blinde gebruiker die op een schermlezer vertrouwt, kan detecteren dat er een video op een pagina aanwezig is, maar zonder audiobeschrijving hoort diegene alleen de dialoog of omgevingsgeluiden die zijn opgenomen — waardoor hiaten ontstaan die de content betekenisloos of misleidend kunnen maken.

\n

Denk aan een concreet scenario uit de echte wereld: een Turkse bank publiceert een videotutorial over hoe je tweefactorauthenticatie instelt in de mobiele app. De video toont achtereenvolgens elk scherm van de app, met een verteller die dingen zegt als "tik nu op het instellingenpictogram" of "je ziet een bevestigingsbericht". Zonder audiobeschrijving kan een blinde klant die een schermlezer gebruikt niet bepalen waar het instellingenpictogram zich visueel bevindt, wat het bevestigingsbericht zegt of hoe de schermen eruitzien. Zij worden feitelijk uitgesloten van de selfservice-tutorial en moeten mogelijk de klantenservice bellen — wat zorgt voor frictie, kosten en een minder goede gebruikerservaring.

\n

Naast gebruikers die volledig blind zijn, is audiobeschrijving ook nuttig voor mensen met cognitieve beperkingen die het misschien makkelijker vinden om informatie te verwerken wanneer die mondeling wordt beschreven naast de visuele weergave. Het kan ook nuttig zijn voor gebruikers in alleen-audio omgevingen die geen scherm kunnen zien, zoals tijdens het autorijden, of voor gebruikers die moeite hebben om tekst op het scherm snel genoeg te lezen terwijl die in de video verschijnt.

\n

Vanuit het perspectief van SEO en vindbaarheid draagt videocontent die transcripties of beschrijvingsscripts bevat extra tekst aan die zoekmachines kunnen indexeren, wat mogelijk de ranking voor relevante zoekopdrachten verbetert. Belangrijker nog: het aanbieden van audiobeschrijving geeft zowel aan gebruikers als aan toezichthouders het signaal dat je platform inclusie serieus neemt — wat in veel markten in toenemende mate een zakelijke en juridische verwachting is.

\n\n

Gerelateerde Axe-core Regels

\n

WCAG 1.2.5 vereist handmatige tests. Geautomatiseerde tools zoals axe-core kunnen niet programmatisch bepalen of de audiobeschrijving in een video accuraat, voldoende of betekenisvol is — dit oordeel vereist een menselijke beoordelaar die zowel de video kan bekijken als kan evalueren of alle visuele informatie via audio wordt gecommuniceerd. Er is geen axe-core regel die automatisch een ontbrekende of onvoldoende audiobeschrijvingstrack kan signaleren.

\n
    \n
  • Handmatige beoordeling vereist — audit van visuele content: Een menselijke tester moet de volledige video bekijken met het scherm gedempt (of alleen met de audiobeschrijvingstrack ingeschakeld) en beoordelen of alle uitsluitend visuele informatie — inclusief tekst op het scherm, handelingen van sprekers, scènewisselingen, grafieken, diagrammen en non-verbale signalen — voldoende wordt overgebracht. Geautomatiseerde tools kunnen de semantische betekenis van een videoframe niet analyseren of beoordelen of de vertelling overeenkomt met wat visueel wordt getoond.
  • \n
  • Handmatige beoordeling vereist — trackdetectie: Hoewel axe-core kan controleren op de aanwezigheid van een <track>-element met kind='descriptions' op een <video>-element, kan het niet verifiëren of het beschrijvingstrackbestand daadwerkelijk betekenisvolle en accurate beschrijvingen bevat. Een video kan een beschrijvingstrack hebben die leeg is, machinaal gegenereerde onzin bevat of simpelweg niet is gesynchroniseerd — allemaal situaties die een geautomatiseerde detectie zouden doorstaan maar in de praktijk niet aan het criterium voldoen.
  • \n
  • Handmatige beoordeling vereist — controle op alternatieve versie: Sommige implementaties bieden audiobeschrijving door een aparte URL of versie van de video aan te bieden waarin de beschrijving in de hoofd-audiotrack is geïntegreerd. Geautomatiseerde tools hebben geen manier om het bestaan van een alternatieve versie van een videoasset, die elders op de pagina is gelinkt, te detecteren of ernaartoe te navigeren.
  • \n
\n\n

Hoe te Testen

\n
    \n
  1. Identificeer alle vooraf opgenomen gesynchroniseerde media op de pagina. Scan de pagina op <video>-elementen, ingesloten iframes (YouTube, Vimeo, spelers van derden) en eventuele aangepaste videospelerimplementaties. Noteer elke video die zowel audio- als videotracks bevat en vooraf opgenomen is in plaats van live.
  2. \n
  3. Voer een geautomatiseerde scan uit met axe DevTools of Lighthouse. Open de ontwikkelaarstools van de browser, voer axe DevTools uit op de pagina en filter de resultaten op regels die betrekking hebben op video- of media-elementen. Geautomatiseerde scans kunnen ontbrekende <track>-elementen of ARIA-rollen op aangepaste videospelers aan het licht brengen, maar ze zullen de toereikendheid van audiobeschrijving niet bevestigen. Behandel geautomatiseerde resultaten alleen als startpunt.
  4. \n
  5. Bekijk elke video met het scherm afgedekt of met gesloten ogen. Luister alleen naar de audio — inclusief eventuele audiobeschrijvingstrack als die aanwezig is. Vraag jezelf af: wordt elk stuk betekenisvolle visuele informatie via geluid gecommuniceerd? Kun je het volledige verhaal volgen, alle handelingen op het scherm begrijpen en alle weergegeven tekst en grafische elementen identificeren op basis van alleen de audio?
  6. \n
  7. Controleer op een audiobeschrijvingstrack. Inspecteer de videospelerbediening op een knop of menu waarmee audiobeschrijving kan worden ingeschakeld. Controleer voor HTML5-video de DOM op een <track kind='descriptions'>-element. Schakel de beschrijvingstrack in en verifieer dat deze gesynchroniseerde, accurate beschrijvingen van visuele content afspeelt.
  8. \n
  9. Controleer op een alternatieve beschreven versie. Zoek naar een duidelijk gelabelde link of knop naast de video met tekst als "Bekijk met audiobeschrijving" of "Versie met audiobeschrijving". Volg die link en verifieer dat de alternatieve versie een accurate, volledige audiobeschrijving bevat die in de audiotrack is geïntegreerd.
  10. \n
  11. Test met een schermlezer. Gebruik NVDA met Firefox, VoiceOver met Safari of JAWS met Chrome en navigeer naar het video-element. Bevestig dat de schermlezer de videobediening en eventuele bijbehorende optie voor een beschrijvingstrack aankondigt. Speel de video af en verifieer dat de beschrijvingstrack hoorbaar en gesynchroniseerd is. Controleer dat de schermlezer de beschrijvingsaudio niet onderdrukt of ermee in conflict komt.
  12. \n
  13. Evalueer de uitzonderingscasus. Als de video wordt gepresenteerd als een media-alternatief voor een tekstdocument, bevestig dan dat dit direct naast de video als zodanig is gelabeld. Als het correct is gelabeld en volledig dezelfde content vertegenwoordigt als de tekst, is audiobeschrijving niet vereist — maar verifieer dat deze labeling aanwezig en ondubbelzinnig is.
  14. \n
\n\n

Hoe te Herstellen

\n\n

Video zonder audiobeschrijvingstrack — Onjuist

\n
<!-- A training video with significant visual content and no audio description -->\n<video controls width='800'>\n  <source src='training-video.mp4' type='video/mp4'>\n  <track kind='subtitles' src='subtitles-en.vtt' srclang='en' label='English'>\n</video>\n<!-- Fails 1.2.5: subtitles are present but no descriptions track exists.\n     Visual-only information in the video is inaccessible to blind users. -->
\n\n

Video met toegevoegde audiobeschrijvingstrack — Juist

\n
<!-- A training video with an audio description track provided -->\n<video controls width='800'>\n  <source src='training-video.mp4' type='video/mp4'>\n  <track kind='subtitles' src='subtitles-en.vtt' srclang='en' label='English'>\n  <!-- Audio description track added with kind='descriptions' -->\n  <track kind='descriptions' src='audio-description-en.vtt' srclang='en' label='Audio Description (English)'>\n</video>\n<!-- Passes 1.2.5: screen readers and description-aware players can\n     activate the descriptions track to narrate visual content for blind users. -->
\n\n

Ingesloten video van derde partij zonder beschreven alternatief — Onjuist

\n
<!-- A YouTube embed with no accessible described alternative -->\n<iframe\n  width='560'\n  height='315'\n  src='https://www.youtube.com/embed/VIDEOID'\n  title='Product Demo'\n  allowfullscreen>\n</iframe>\n<!-- Fails 1.2.5: if the YouTube video itself does not have an audio\n     description track uploaded, there is no way for blind users to\n     access visual-only content in the video. -->
\n\n

Ingesloten video met duidelijk gelabeld beschreven alternatief — Juist

\n
<!-- A YouTube embed accompanied by a link to an audio described version -->\n<figure>\n  <iframe\n    width='560'\n    height='315'\n    src='https://www.youtube.com/embed/VIDEOID'\n    title='Product Demo'\n    allowfullscreen>\n  </iframe>\n  <figcaption>\n    Product Demo — visual walkthrough of the onboarding flow.\n    <!-- Alternative described version linked directly below the video -->\n    <a href='https://www.youtube.com/watch?v=DESCRIBED_VIDEOID'>\n      Watch the audio described version of this video\n    </a>\n  </figcaption>\n</figure>\n<!-- Passes 1.2.5: a clearly labeled alternative with audio description\n     is provided, allowing blind users to access the same content. -->
\n\n

Aangepaste videospeler zonder beschrijvingstoggle — Onjuist

\n
<!-- Custom video player with no mechanism to enable audio description -->\n<div class='video-player' role='region' aria-label='Product Tutorial'>\n  <video id='tutorial-video'>\n    <source src='tutorial.mp4' type='video/mp4'>\n  </video>\n  <div class='controls'>\n    <button id='play-pause'>Play</button>\n    <button id='mute'>Mute</button>\n  </div>\n</div>\n<!-- Fails 1.2.5: no descriptions track, no AD toggle, no alternative. -->
\n\n

Aangepaste videospeler met audiobeschrijvingstoggle — Juist

\n
<!-- Custom video player with accessible audio description toggle -->\n<div class='video-player' role='region' aria-label='Product Tutorial'>\n  <video id='tutorial-video'>\n    <source src='tutorial.mp4' type='video/mp4'>\n    <!-- Descriptions track linked; player JS activates it on toggle -->\n    <track id='desc-track' kind='descriptions' src='tutorial-desc.vtt'\n           srclang='en' label='Audio Description'>\n  </video>\n  <div class='controls'>\n    <button id='play-pause'>Play</button>\n    <button id='mute'>Mute</button>\n    <!-- Accessible toggle button for audio description -->\n    <button id='ad-toggle' aria-pressed='false'\n            aria-label='Toggle audio description'>\n      Audio Description\n    </button>\n  </div>\n</div>\n<!-- Passes 1.2.5: a descriptions track is present and the custom player\n     exposes an accessible toggle so users can enable it. Player JS\n     must set aria-pressed='true' when activated and enable the track. -->
\n\n

Veelvoorkomende Fouten

\n
    \n\n

    (Content truncated due to token limit — please retry this article.)