Sectie 1 · Hoofdstuk 3
Taal
Het lang-attribuut bepaalt hoe een schermlezer je content uitspreekt. Stel het correct in.
Waarom taal ertoe doet
Een schermlezer moet weten in welke taal een pagina is geschreven. Op basis van het lang-attribuut laadt de schermlezer de juiste uitspraakregels, het juiste stemgeluid en de juiste intonatie. Zonder dat attribuut raadt de schermlezer de taal – en die gok is lang niet altijd goed.
Stel je voor: een Nederlandstalige pagina zonder lang="nl". De schermlezer staat ingesteld op Engels en leest alle Nederlandse tekst voor met Engelse uitspraak. Het resultaat is onverstaanbaar.
SC 3.1.1: Taal van de pagina
WCAG succescriterium 3.1.1 (Taal van de pagina) vereist dat de standaardtaal van elke webpagina programmatisch bepaalbaar is. In de praktijk betekent dat: zet een lang-attribuut op het <html>-element.
Fout
<html>
Geen lang-attribuut. De schermlezer moet raden.
Goed
<html lang="nl">
De schermlezer weet dat dit een Nederlandstalige pagina is.
Welke taalcode gebruik je?
Gebruik geldige BCP 47 taalcodes. De meest voorkomende:
| Code | Taal |
|---|---|
nl | Nederlands |
en | Engels |
de | Duits |
fr | Frans |
Je mag ook regiovarianten gebruiken (nl-NL, nl-BE, en-US), maar de basistag (nl, en) is in de meeste gevallen voldoende.
Tip: meertalige websites
Bij een meertalige website heeft elke taalversie een eigen lang-attribuut. De Nederlandse versie krijgt lang="nl", de Engelse lang="en". Gebruik altijd de taal die het meest voorkomt op de pagina als standaard.
SC 3.1.2: Taal van onderdelen
Succescriterium 3.1.2 (Taal van onderdelen) gaat een stap verder: als een stuk tekst in een andere taal is geschreven dan de rest van de pagina, moet je dat aangeven met een lang-attribuut op dat element.
Dit is een AA-criterium en is belangrijk voor pagina’s die citaten, technische termen of passages in een andere taal bevatten.
Fout
<p>Het W3C zegt: "Web accessibility means that websites,
tools, and technologies are designed and developed so that
people with disabilities can use them."</p>
De schermlezer probeert de Engelse zin met Nederlandse uitspraak voor te lezen.
Goed
<p>Het W3C zegt: <span lang="en">"Web accessibility means
that websites, tools, and technologies are designed and
developed so that people with disabilities can use
them."</span></p>
De schermlezer schakelt over naar Engelse uitspraak voor het citaat.
Wanneer hoef je lang niet toe te voegen?
Niet elk vreemd woord heeft een lang-attribuut nodig. SC 3.1.2 kent uitzonderingen:
- Ingeburgerde leenwoorden – woorden als “website”, “computer”, “team” of “design” die in het Nederlands zijn opgenomen
- Technische termen – vakjargon dat in de oorspronkelijke taal wordt gebruikt (zoals “framework” of “responsive”)
- Eigennamen – merknamen, persoonsnamen, plaatsnamen
De vuistregel: als het woord in een Nederlands woordenboek staat, hoef je geen lang-attribuut toe te voegen.
Tip: wanneer wel markeren?
Markeer een taalwisseling als een schermlezer de tekst anders zou moeten uitspreken om die begrijpelijk te maken. Een los woord als “feedback” hoeft niet. Een volledige Engelse zin of alinea wel.
Veelgemaakte fouten
- Geen
lang-attribuut – het meest voorkomende probleem. Makkelijk te voorkomen. - Verkeerde taalcode –
lang="en"op een Nederlandstalige pagina. Komt voor bij templates die niet zijn aangepast. - Taalcode op de verkeerde plek –
langop de<body>in plaats van op<html>. Het moet op<html>. - Ongeldige taalcode –
lang="dutch"oflang="ned"zijn geen geldige BCP 47 codes.
WCAG-succescriteria
| Succescriterium | Niveau | Toelichting |
|---|---|---|
| 3.1.1 Taal van de pagina | A | De standaardtaal moet programmatisch bepaalbaar zijn via het lang-attribuut |
| 3.1.2 Taal van onderdelen | AA | Taalwisselingen binnen de pagina moeten worden gemarkeerd |
Verder lezen
- W3C: Understanding SC 3.1.1 – de officiële toelichting op het taalcriterium
- BCP 47 taalcodes – het register met alle geldige taalcodes