A lang attribútum a HTML gyökérelemén megadott nyelvi kód, ami géppel olvasható módon közli, milyen nyelven íródott az oldal tartalma. A <html lang="hu"> az egész dokumentumra érvényes, és minden alárendelt elem örökli ezt az értéket.
Hogyan működik
Az érték egy BCP 47 szerinti nyelvcímke, nem szabad szöveg. A leggyakoribb formák:
hu - magyar, régiójelölés nélkül
hu-HU - magyar, magyarországi változat
en-GB, pt-BR - nyelv plusz országkód
Egy konkrét elemen felül lehet írni a globális értéket. Idegen nyelvű idézetnél a <span lang="en"> a helyes megoldás.
Ki olvassa
Nem a látogató, hanem a gépek. A képernyőolvasó ebből választ hangkészletet és kiejtési szabályt. Rossz érték mellett a magyar mondatokat angol akcentussal mondja fel.
A böngésző fordítófunkciója, a helyesírás-ellenőrzés és a tipográfiai szabályok szintén innen indulnak ki. Ilyen az elválasztás és az idézőjel-forma is.
Miért számít a generatív keresőknek
Egy nyelvi modell statisztikai alapon is felismeri a magyar szöveget. A gond a rövid, vegyes vagy sok angol szakszót tartalmazó oldalakkal van. Egy termékkategória-oldal két bekezdéssel és tíz angol márkanévvel könnyen félrecsúszik.
A crawlerek egy része a nyers HTML fejlécéből dolgozik, nem a teljes kirenderelt szövegből. Nekik a lang az első támpont.
Röviden: a lang egy soros munka, ami megmondja a gépeknek, milyen nyelven kell olvasniuk az oldaladat.
Miért fontos
Keresőoptimalizálás
A Google nyelvfelismerése elsősorban tartalomalapú, a lang értékét nem tekinti rangsorolási jelnek. Többnyelvű oldalon viszont a lang és a hreflang együtt ad ellentmondásmentes képet. Ha a kettő mást mond, az egész nyelvi struktúra gyanússá válik.
Akadálymentesség
A WCAG 3.1.1 (Language of Page) A szintű, tehát a legalapvetőbb megfelelési szint. Enélkül egy akadálymentességi audit azonnal elbukik. Az európai akadálymentesítési irányelv miatt ez már jogi kockázat is, erről bővebben a akadálymentesség (WCAG, EAA) cikkben.
AI-értelmezhetőség
A modellek nyelvi besorolása dönti el, milyen nyelven idéznek vissza. Rossz jelölés mellett előfordul, hogy egy magyar cég angol nyelvű összefoglalót kap egy magyar kérdésre. A riportokban ezt leggyakrabban olyan oldalakon látjuk, ahol a sablon en-US alapértéke bennmaradt.
Mit néz ebből a riport
A riport azt vizsgálja, van-e lang attribútum a html elemen, és értelmes nyelvkód-e az értéke. Alacsony hatású, kód hatókörű szabály. Mivel egyetlen sorból javítható, általában a gyors győzelmek közé kerül.
Technikai példa
Helyes fejléc magyar oldalon, angol nyelvű idézettel:
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Szolgáltatásaink</title>
<link rel="alternate" hreflang="hu" href="https://pelda.hu/szolgaltatasok">
<link rel="alternate" hreflang="en" href="https://pelda.hu/en/services">
</head>
<body>
<p>A mérnökeink szerint <span lang="en">fail fast, learn faster</span> a helyes hozzáállás.</p>
</body>
</html>
A hreflang az alternatív verziókra mutat, a lang pedig az aktuális oldal nyelvét mondja meg. A kettőnek egyeznie kell.
Gyors ellenőrzés parancssorból, átirányítást követve:
curl -sL https://pelda.hu | grep -i -m1 "<html"
# elvárt kimenet: <html lang="hu">
Ha a kimenet üres, vagy nincs benne lang, az attribútum hiányzik a kiszolgált HTML-ből.
Gyakori kérdések
A hu vagy a hu-HU érték a helyes?
Mindkettő érvényes, a hu a gyakoribb és elegendő. A régiókódnak akkor van értelme, ha ugyanazt a nyelvet több országváltozatban is kiszolgálod. Magyar oldalnál ez ritka, ezért a rövid forma az egyszerűbb választás.
Javít-e a rangsoroláson, ha beteszem?
Közvetlenül nem. A Google a tartalomból ismeri fel a nyelvet, a lang értékét nem használja rangsorolási jelként. Az akadálymentességi megfelelés és a gépi feldolgozás miatt viszont mindenképp kell.
Mi történik, ha az érték rossz?
A képernyőolvasó rossz kiejtéssel olvassa fel a szöveget, ami használhatatlanná teszi az oldalt látássérült látogatóknak. A böngésző fordítófunkciója is összezavarodhat. A hibás érték ilyenkor rosszabb, mint a hiányzó.
Kell külön jelölni az angol szavakat a magyar szövegben?
A meghonosodott szakszavaknál nem szükséges. Hosszabb idegen nyelvű mondatoknál, idézeteknél viszont igen, lang attribútummal egy span vagy blockquote elemen. A WCAG ezt külön követelményként kezeli.
Elég egyszer beállítani?
Ha a sablon egy helyen adja ki, akkor igen. Sablonváltás, téma-frissítés vagy új landing page bevezetése után érdemes újra ellenőrizni. A magyar KKV-oldalak többségén pont ilyenkor kerül vissza a régi alapértelmezés.