3.1.2 Taal van onderdelen

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 een lang-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
TaalcodeTaal
nlNederlands
nl-NLNederlands (Nederland)
nl-BENederlands (België)
enEngels
en-GBEngels (Brits)
en-USEngels (Amerikaans)
frFrans
deDuits
plPools
itItaliaans
esSpaans
ptPortugees
Voorbeelden van taalcodes

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

  1. 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
  2. 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
  3. Zoek in de code naar tekst die niet zichtbaar is (bijvoorbeeld aria-label, title, alt en visueel verborgen tekst) en controleer:
    • Of de taalcode van het dichtstbijzijnde lang-attribuut overeenkomt met de taal van die tekst
  4. Zoek in de code naar elk <iframe> met tekst en controleer:
    • Of het <html>-element van het document in het <iframe> een lang-attribuut heeft
  5. 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-GB en en-US alle drie juist.
  • Hoofdletters maken in een taalcode niet uit: NL en nl zijn 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-GB is dus geldig, want en is 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. Een lang-attribuut op het <iframe>-element zelf telt daarom niet.
  • De eis dat het document in een <iframe> een eigen lang-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 eigen lang-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 een lang-attribuut hebben

Bronnen

Andere richtlijnen

Lees verder

Gerelateerd succescriterium

Verdiepend artikel

Laatst gewijzigd op