3.1.1 - Language of Page
Learn about the importance of identifying the language of a web page in the code for accessibility purposes. Follow the Web Content Accessibility Guidelines (WCAG) to ensure proper language identification.
Summary
Identify the language of the content on a web page in the code to enhance accessibility.
Requirements
- The default language for the content of a page or app must be defined in the code.
Why?
This ensures that screen readers automatically use the correct speech libraries for accurate accent and pronunciation.
Correct pronunciation plays a crucial role in facilitating understanding, especially for users of assistive technologies like screen readers. Different languages may require different speech synthesizers. For instance, the word "chat" has a distinct meaning when pronounced using English pronunciation compared to French pronunciation.
Other Benefits for the Web
Correctly setting the lang
attribute in HTML provides additional benefits:
- Quotation marks surrounding the content of
<q>
elements vary based on the language. - The
spellcheck
attribute relies on language identification to function effectively, especially for multilingual users, as browser heuristics may not be perfect. - Input components for dates and times also require language identification since time and date formats differ across countries.
Official Wording in the Web Content Accessibility Guidelines
3.1.1 Language of Page: The default human language of each Web page can be programmatically determined. (Level A)
For a detailed explanation of this guideline, refer to the W3C's documentation, which includes techniques and examples.
Guidance for the Web
- The language of the page should be identified using the
lang
attribute of thehtml
element.- For example, the
<html>
element of a page with English content should includelang="en"
.
- For example, the
Note: It's recommended to use the two-letter language code (e.g., lang="en"
) rather than including the country code (e.g., lang="en-gb"
or lang="en-us"
):
- Using
lang="en-gb"
would result in screen readers pronouncing the content with a British accent, regardless of the users' preferences, which is not ideal. - Using just
lang="en"
allows the content to be pronounced with the accent that matches the users' preferences.
Example
<html lang="en">
<!-- -->
</html>
Failure example
<html>
<!-- -->
</html>
Common mistakes
- No
lang
attribute is present on thehtml
element. - The
lang
attribute is present on thehtml
element, but it incorrectly identifies the language of the page.
More guidance for Web
- Using language attributes on the html element technique in the Web Content Accessibility Guidelines
- Using the HTML lang attribute by The Paciello Group
- Working with Language on the Web - W3C i18n tutorial
- Language on the Web
- On Use of the Lang attribute by Adrian Roselli