Sidans språk
Ange det mänskliga standardspråket för varje sida programmatiskt — vanligtvis med lang-attributet på html-elementet. Skärmläsare, punktskriftsdisplayer och översättningsverktyg använder detta för att välja uttalregler, röstprofiler och teckenmappningar.
Vad det kräver
Varje webbsida måste deklarera sitt mänskliga standardspråk på ett sätt som hjälpmedelsteknik kan läsa. I HTML innebär det ett giltigt lang-attribut på rot-elementet <html>, satt till en primärspråkssubetikett från BCP 47 (en, de, bg, zh-Hans). Värdet måste återspegla det faktiska standardspråket för textinnehållet — inte språket i CMS:et, inte landet för servern.
En sida som blandar språk har fortfarande ett standardspråk; sekundärspråk hanteras av 3.1.2 Språk i delar.
Hur du uppfyller det
- Lägg till
langpå<html>-elementet på varje sida:<html lang="sv">. - Använd rätt BCP 47-subetikett. Använd
enför generisk engelska; använden-GBelleren-USbara om regional uttal spelar roll. - För kinesiska, ange skrift:
zh-Hans(förenklad),zh-Hant(traditionell). - För höger-till-vänster-språk (arabiska, hebreiska, persiska), kombinera
langmeddir="rtl". - I React/Next.js/Astro, sätt attributet i rotlayoutmallen, inte i
_document-kroppen, så att varje rutt ärver det. - I flerspråkiga sajter, byt
langper rutt — servera aldrig ett globalt standardvärde till lokaliserade sidor.
Vanliga fel
langsaknas helt — det vanligaste felet på äldre sajter och CMS-baserade sajter.lang=""(tomt värde) ellerlang="swedish"— ogiltigt; bara BCP 47-subetiketterna är konforma.- Alla sidor hårdkodade till
lang="en"även när innehållet är på tyska, franska eller bulgariska. - En svensk sida med
lang="en"för att CMS-mallen levereras med engelska som standard och ingen ändrade det. langsatt på<body>istället för<html>— accepteras av en del verktyg men är inte den kanoniska platsen.
Varför det spelar roll
Skärmläsare använder lang för att välja rätt röstsyntetisator. Med fel deklarerat språk läser en svensk skärmläsare tysk text fonetiskt — “Schmetterling” låter som meningslösa stavelser. Punktskriftsdisplayer använder det för att välja rätt förkortningstabeller för grad 2. Webbläsarens översättningsfunktioner använder det för att detektera vad som ska översättas. Sökmotorer använder det för rankning och utdragsgenerering.
Det här är en 30-sekunders fix som frigör förståelse för alla skärmläsaranvändare på sidan, och ändå saknas det på en betydande andel av produktionssajter. Det är ett av de mest citerade felen i automatiserade granskningar eftersom det är binärt och enkelt att detektera.