Език на страницата
Програмно задайте езика на всяка страница по подразбиране — обикновено чрез атрибута lang на елемента html. Екранните четци, брайловите дисплеи и инструментите за превод използват тази информация, за да изберат правила за произношение, гласови профили и таблици за съответствие на знаци.
Какво изисква критерият
Всяка уеб страница трябва да декларира езика си по подразбиране по начин, разпознаваем от помощните технологии. В HTML това означава валиден атрибут lang на коренния елемент <html>, зададен на първичен езиков подетикет от BCP 47 (en, de, bg, zh-Hans). Стойността трябва да отразява действителния език по подразбиране на текстовото съдържание — не езика на системата за управление на съдържанието, нито страната на хостинга.
Страница, смесваща езици, пак има един език по подразбиране; вторичните езици се обработват от критерий 3.1.2 Език на части.
Как да се постигне съответствие
- Добавете
langкъм елемента<html>на всяка страница:<html lang="en">. - Използвайте правилния подетикет от BCP 47. Използвайте
enза общ английски;en-GBилиen-USсамо ако е от значение регионалното произношение. - За китайски разграничете писмеността:
zh-Hans(опростен),zh-Hant(традиционен). - За езици с посока отдясно наляво (арабски, иврит, персийски) комбинирайте
langсdir="rtl". - В React/Next.js/Astro задайте атрибута в коренния шаблон за оформление, а не в тялото на
_document, за да го наследяват всички маршрути. - В многоезични сайтове сменяйте
langза всеки маршрут — никога не обслужвайте един глобален език по подразбиране за локализирани страници.
Чести нарушения
- Липсващ
langизцяло — най-разпространеното нарушение при устарели сайтове и сайтове, генерирани от CMS шаблони. lang=""(празна стойност) илиlang="english"— невалидно; съответстващи са само подетикетите от BCP 47.- Всички страници фиксирани на
lang="en"дори когато съдържанието е на немски, френски или български. - Френска страница с
lang="en", тъй като CMS шаблонът е доставен с английски като стандартна стойност и никой не я е променил. langзададен на<body>вместо на<html>— приеман от някои инструменти, но не е каноничното местоположение.
Защо е важно
Екранните четци използват lang, за да изберат правилния синтезатор на реч. При деклариран грешен език английски екранен четец чете немски текст фонетично — „Schmetterling” се произнася като безсмислени срички. Брайловите дисплеи го използват за избор на правилните таблици за съкращения от степен 2. Функциите за превод в браузъра го ползват, за да определят изходния език. Търсачките го използват за класиране и генериране на откъси.
Това е поправка за 30 секунди, която осигурява разбираемост за всеки потребител на екранен четец на страницата, и въпреки това липсва на значителна част от производствените сайтове. Той е сред най-цитираните проблеми в автоматизираните одити, тъй като е двоичен и лесен за засичане.