The <html> element must have a lang attribute
The <html> document element must contain a valid
lang attribute or must correspond to a valid
lang code for multilingual screen reader users who may prefer a language other than the default.
The Algorithm, in Simple Terms
Ensures that every HTML document has a
Why this is Important
When configuring a screen reader, users select a default language. If the language of a webpage is not specified, the screen reader will assume it is the default language set by the user. This becomes an issue for users who speak multiple languages and access website in more than one language. It is important to specify a language and ensure that it is valid so website text is pronounced correctly.
Screen readers use different sound libraries for each language, based on the pronunciation and characteristics of that language. Screen readers can switch between these language libraries easily, but only if the documents specify which language(s) should be read. If the language is not specified, the screen reader will read the document in the user's default language, resulting in a very bad accent! In fact, it can be very difficult to understand anything when screen readers are using the wrong language library.
How to Fix the Problem
lang attribute to the
<html> element (e.g.
<html lang="en">) whose value represents the primary language of document.
Make sure you identify a language in the opening
<html> element and spell the attribute correctly. For example, if the primary language of a document is English, you could specify the language as follows:
<html lang="en"> document text </html>
If you would like, you can even specify some dialects with codes such as "en-US" to signify American English or "fr-CA" for Canadian French. You can find a list of language and dialect codes on the internet.
If the language changes within a document, you can specify this as follows:
<p>Text in one language <span lang="es">text in another language</span></p>
If you are using a language that is written right to left, be sure to specify this using the
<p lang="ar" dir="rtl">Arabic text here</p>
If you would like to specify that a language is written left to right, you can fill the value of the
dir attribute with the value "ltr".
- HTML 4