Succescriterium 3.1.2 Taal van onderdelen
De menselijke taal van elke passage of zin in de content kan door software bepaald worden, behalve waar het gaat om eigennamen, technische termen, woorden uit een onbepaalde taal en woorden of zinsdelen die deel zijn gaan uitmaken van het jargon van de onmiddellijk omringende tekst.
Taal van onderdelen begrijpen (Engelstalig)
Soms staat er tekst op je pagina in een andere taal dan de tekst eromheen. Bijvoorbeeld een Engels citaat in een Nederlandse tekst. Dat heet een taalwissel. Geef in de code aan in welke taal die tekst is geschreven.
Voorleessoftware gebruikt die taal om de tekst goed uit te spreken. Als je de taalwissel niet aangeeft, dan leest voorleessoftware het Engelse citaat voor met een Nederlandse uitspraak. Dat is niet zo goed te verstaan
Uitzonderingen zijn:
- eigennamen
- technische termen
- woorden waarvan niet duidelijk is uit welke taal ze komen
- woorden uit een andere taal die gewoon zijn geworden in de tekst eromheen
Hoe pas je dit toe?
- Zet een
lang-attribuut op het element met de anderstalige tekst. - Zet een
<span>met eenlang-attribuut om anderstalige tekst die midden in een zin staat. - Zorg dat redacteuren in de editor een taal kunnen instellen voor een stuk tekst.
Veelgebruikte taalcodes
| Taalcode | Taal |
|---|---|
nl | Nederlands |
nl-NL | Nederlands (Nederland) |
nl-BE | Nederlands (België) |
en | Engels |
en-GB | Engels (Brits) |
en-US | Engels (Amerikaans) |
fr | Frans |
de | Duits |
pl | Pools |
it | Italiaans |
es | Spaans |
pt | Portugees |
Lees het artikel over taal in de code vastleggen
Voor wie is dit belangrijk?
- Mensen die voorleessoftware gebruiken.
- Mensen die blind of slechtziend zijn.
Wie is verantwoordelijk?
Hoe toets je dit?
Uitzonderingen
Uitzonderingen zijn:
- eigennamen
- technische termen
- woorden uit een onbepaalde taal
- woorden of zinsdelen die gebruikelijk zijn geworden in de taal van de onmiddellijk omringende tekst
Testprocedure
Test 1: Taal van onderdelen
- Inventariseer de pagina
- Bepaal welke onderdelen een andere taal hebben dan de omringende tekst:
- Woorden en zinsdelen in een zin
- Koppen
- Paragrafen
- Lijsten
- Tabellen
- Citaten
- Linkteksten
- Foutmeldingen en placeholdertekst
- Onderschriften
- Widgets en ingesloten content van derden
- Bepaal welke onderdelen een andere taal hebben dan de omringende tekst:
- Zoek in de code naar elk onderdeel met een andere taal en controleer:
- Of de taalcode van het dichtstbijzijnde
lang-attribuut overeenkomt met de taal van het onderdeel
- Of de taalcode van het dichtstbijzijnde
- Zoek in de code naar tekst die niet zichtbaar is (bijvoorbeeld
aria-label,title,alten visueel verborgen tekst) en controleer:- Of de taalcode van het dichtstbijzijnde
lang-attribuut overeenkomt met de taal van die tekst
- Of de taalcode van het dichtstbijzijnde
- Zoek in de code naar elk
<iframe>met tekst en controleer:- Of het
<html>-element van het document in het<iframe>eenlang-attribuut heeft
- Of het
- Zoek in de code naar alle elementen met een
lang-attribuut, behalve het<html>-element van de pagina, en controleer:- Of het eerste deel van de taalcode, voor het eerste koppelteken, een bestaande taal is (controleer met de BCP 47 language subtag lookup)
- Of de taalcode overeenkomt met de taal van de tekst waarvoor het
lang-attribuut geldt
Belangrijk om te weten
- Alleen het eerste deel van de taalcode, voor het eerste koppelteken, moet overeenkomen met de taal van het onderdeel. Voor een Engels citaat zijn
en,en-GBenen-USalle drie juist. - Hoofdletters maken in een taalcode niet uit:
NLennlzijn allebei geldig. Een laag streepje (nl_NL), een naam van een taal (dutch) of een code van drie letters (nld) is geen geldige taalcode. - Een fout na het eerste koppelteken maakt de taalcode niet ongeldig.
en-US-GBis dus geldig, wantenis een bestaande taal. - Een
lang-attribuut geldt voor alle tekst in het element, ook voor tekstalternatieven en andere toegankelijke namen. - Geldt een
lang-attribuut voor geen enkele tekst, dan telt het niet mee, ook niet als de taalcode ongeldig is. - Content in een
<iframe>neemt de taal van de pagina niet over. Eenlang-attribuut op het<iframe>-element zelf telt daarom niet. - De eis dat het document in een
<iframe>een eigenlang-attribuut heeft, staat niet letterlijk in WCAG. De eis volgt de ACT-regel “HTML page has lang attribute” (b5c3f8): die geeft aan dat een document in een<iframe>de taal van de pagina waarschijnlijk niet overneemt. Zonder eigenlang-attribuut leest een schermlezer de tekst in het<iframe>mogelijk in de verkeerde taal voor.
Beoordeling
- Voor een onderdeel in een andere taal dan de omringende tekst moet de taalcode van het dichtstbijzijnde
lang-attribuut overeenkomen met de taal van dat onderdeel - De taalcode van elk
lang-attribuut dat voor tekst geldt, behalve op het<html>-element van de pagina, moet overeenkomen met de taal van die tekst - Het
<html>-element van een document in een<iframe>met tekst moet eenlang-attribuut hebben
Bronnen
- WCAG 2.2 – Succescriterium 3.1.2 Taal van onderdelen
- WebAIM: Document and Content Language (Engelstalig)
- IANA Language Subtag Registry (Engelstalig)
- BCP 47 Language Tag Lookup (Engelstalig)