Стандарти · WCAG 2.2

SC 3.1.1 Ниво A WCAG 2.0

Език на страницата

Програмно задайте езика на всяка страница по подразбиране — обикновено чрез атрибута 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 секунди, която осигурява разбираемост за всеки потребител на екранен четец на страницата, и въпреки това липсва на значителна част от производствените сайтове. Той е сред най-цитираните проблеми в автоматизираните одити, тъй като е двоичен и лесен за засичане.