Språk er ikke angitt i koden
Nettsiden må angi språk med lang-attributtet. Lær om WCAG 3.1.1 og hvorfor feil språkkode gjør innhold vanskelig å forstå for skjermlesere.
Hva betyr dette?
WCAG 3.1.1 Språk på siden krever at hovedspråket på nettsiden er angitt i koden. Dette gjøres med lang-attributtet på <html>-elementet. For en norsk nettside skal det se slik ut:
<html lang="nb">
Verdien nb står for norsk bokmål. Bruker du nynorsk, er koden nn. Engelsk er en.
Kravet er klassifisert som nivå A - altså helt grunnleggende. Likevel er det overraskende mange norske nettsider som enten mangler lang-attributtet helt, har det satt til feil språk (ofte «en» fordi det var standard i malen), eller har en ugyldig verdi.
Hvorfor er det viktig?
Når du angir riktig språk i koden, gir du nettleseren og hjelpeteknologi verdifull informasjon som påvirker brukeropplevelsen på flere måter:
Skjermlesere uttaler teksten riktig
Skjermlesere bruker lang-attributtet til å velge riktig stemme og uttaleregler. Norsk og engelsk har helt ulike lyder og rytmer. Hvis en norsk nettside er merket med lang="en", vil skjermleseren prøve å lese norsk tekst med engelsk uttale. Resultatet blir uforståelig - som å høre en maskin forsøke å snakke et språk den ikke kan.
Prøv å forestille deg at du hører «universell utforming» uttalt med engelsk intonasjon og lydbilde. Det ville vært nesten umulig å forstå.
Nettleserfunksjoner tilpasser seg
Nettleseren bruker språkinformasjonen til flere ting:
- Automatisk oversettelse: Chrome tilbyr å oversette siden hvis språket er annerledes enn brukerens foretrukne språk. Uten korrekt lang-attributt fungerer ikke dette.
- Stavekontroll: Nettleseren bruker riktig ordbok for å kontrollere tekst som skrives inn i skjemaer.
- Orddeling (hyphenation): CSS-regler for orddeling fungerer bare når nettleseren vet hvilket språk teksten er på.
- Søkemotorer: Google bruker lang-attributtet som en av signalene for å forstå hvilket språk og marked siden er rettet mot.
Automatiske verktøy fungerer bedre
Alt fra tekst-til-tale til maskinoversettelse og innholdsanalyse fungerer bedre når språket er riktig angitt. Det er en liten detalj i koden som har stor ringvirkning.
Hvordan fikser jeg det?
Sett hovedspråket på html-elementet
Den viktigste endringen er å legge til (eller korrigere) lang-attributtet på <html>-taggen. For de fleste norske nettsider:
<!DOCTYPE html>
<html lang="nb">
<head>
<meta charset="UTF-8">
<title>Min norske nettside</title>
</head>
<body>
<!-- Innhold på norsk bokmål -->
</body>
</html>
Vanlige språkkoder
Her er de mest relevante språkkodene for norske nettsider:
| Kode | Språk |
|---|---|
nb |
Norsk bokmål |
nn |
Norsk nynorsk |
no |
Norsk (generelt) |
en |
Engelsk |
se |
Nordsamisk |
Merk at no er en gyldig kode, men nb (bokmål) eller nn (nynorsk) er mer presise og anbefales.
Flerspråklig innhold
Noen sider har innhold på flere språk - for eksempel et norsk nettsted med engelske sitater eller fagtermer. I slike tilfeller setter du hovedspråket på <html>-elementet, og markerer avsnitt eller ord på andre språk med eget lang-attributt:
<html lang="nb">
<body>
<p>Vi jobber etter prinsippet
<span lang="en">"inclusive design"</span>,
som betyr at vi designer for alle.
</p>
<blockquote lang="en">
<p>"The power of the Web is in its universality."</p>
<cite>Tim Berners-Lee</cite>
</blockquote>
</body>
</html>
Når skjermleseren kommer til <span lang="en">, vil den automatisk bytte til engelsk stemme for de ordene, og så bytte tilbake til norsk etterpå. Det gir en mye bedre lytteopplevelse.
Sjekk at det fungerer
Den enkleste måten å sjekke på er å åpne kildekoden til siden din (høyreklikk → Vis kildekode) og se etter <html-taggen. Står det lang="nb" eller lang="nn"? Da er det riktig for norske sider.
Du kan også bruke nettleserens utviklerverktøy (F12), velge Elements-fanen, og sjekke <html>-elementet direkte.
Vanlige feil
- lang="en" på norske sider - dette er den desidert vanligste feilen, ofte fordi utvikleren brukte en engelsk HTML-mal som utgangspunkt og glemte å endre språkkoden.
- Manglende lang-attributt - noen eldre nettsider har ikke attributtet i det hele tatt.
- Ugyldig kode - verdier som «norsk» eller «norwegian» er ikke gyldige. Det skal være en ISO 639-1 språkkode.
Å sette riktig språk i koden er en av de raskeste og enkleste tilgjengelighetsforbedringene du kan gjøre. Det tar bokstavelig talt noen sekunder, men gjør en stor forskjell for brukere som er avhengige av skjermlesere og andre hjelpeverktøy.
UUKontroll