Normen · WCAG 2.2

SC 3.1.1 Niveau A WCAG 2.0

Taal van de pagina

Stel de standaard menselijke taal van elke pagina programmatisch in — doorgaans met het lang-attribuut op het html-element. Schermlezers, brailledisplays en vertaaltools gebruiken dit om uitspraakregels, stemprofielen en tekenmappings te kiezen.

Wat het vraagt

Elke webpagina moet zijn standaard menselijke taal declareren op een manier die hulptechnologie kan lezen. In HTML betekent dat een geldig lang-attribuut op het root-element <html>, ingesteld op een primaire taalsubtag uit BCP 47 (en, de, bg, zh-Hans). De waarde moet de werkelijke standaardtaal van de tekstuele inhoud weerspiegelen — niet de taal van het CMS, niet het land van de host.

Een pagina die talen mengt, heeft nog steeds één standaardtaal; secundaire talen worden afgehandeld door 3.1.2 Taal van onderdelen.

Hoe te voldoen

  • Voeg lang toe aan het element <html> van elke pagina: <html lang="nl">.
  • Gebruik de juiste BCP 47-subtag. Gebruik en voor generiek Engels; gebruik en-GB of en-US alleen als regionale uitspraak van belang is.
  • Maak voor het Chinees onderscheid in schrift: zh-Hans (Vereenvoudigd), zh-Hant (Traditioneel).
  • Combineer voor rechts-naar-links-talen (Arabisch, Hebreeuws, Perzisch) lang met dir="rtl".
  • Stel in React/Next.js/Astro het attribuut in de root-layouttemplate in, niet in de _document-body, zodat elke route het erft.
  • Wissel in meertalige sites lang per route — dien nooit één globale standaard aan gelokaliseerde pagina’s.

Veelvoorkomende fouten

  • lang geheel ontbreekt — de meest voorkomende fout op verouderde en CMS-getempleerde sites.
  • lang="" (lege waarde) of lang="dutch" — ongeldig; alleen BCP 47-subtags zijn conform.
  • Alle pagina’s hard gecodeerd op lang="en" ook wanneer de inhoud Duits, Frans of Bulgaars is.
  • Een Nederlandse pagina met lang="en" omdat de CMS-template standaard met Engels wordt geleverd en niemand dat heeft gewijzigd.
  • lang ingesteld op <body> in plaats van <html> — geaccepteerd door sommige tools maar niet de canonieke locatie.

Waarom het belangrijk is

Schermlezers gebruiken lang om de juiste spraaksynthesizer te kiezen. Met de verkeerde taal gedeclareerd leest een Engelstalige schermlezer Duitstalige tekst fonetisch — „Schmetterling“ komt er uit als onzinnige lettergrepen. Brailledisplays gebruiken het om de juiste samentrekkingstabellen van graad 2 te kiezen. Browservertaalfuncties gebruiken het om te detecteren wat vertaald moet worden. Zoekmachines gebruiken het voor rangschikking en snippetgeneratie.

Dit is een oplossing van 30 seconden die begrip ontsluit voor elke schermlezergebruiker op de pagina, en toch ontbreekt het op een aanzienlijk deel van de productiesites. Het is een van de meest geciteerde problemen in geautomatiseerde audits omdat het binair en eenvoudig te detecteren is.