<html> element does not have a [lang] attribute

<html> element does not have a [lang] attribute

Appears in: Accessibility audits

To ensure correct pronunciation, screen readers use a different sound library for each language they support. Screen readers can switch between these language libraries easily, but only if a web page specifies which language to read for a given piece of content.

If a page doesn't specify a language for the <html> element, a screen reader assumes the page is in the default language that the user chose when setting up the screen reader, often making it impossible to understand the content.

How the Lighthouse missing <html> lang audit fails #

Lighthouse flags pages whose <html> element doesn't have a lang attribute:

Lighthouse audit showing the html element doesn't have a lang attribute

Note that this audit checks whether a lang attribute is present. The <html> element does not have a valid value for its [lang] attribute audit checks whether the value for that attribute is valid.

The Lighthouse Accessibility score is a weighted average of all the accessibility audits. See the Lighthouse accessibility scoring post for more information.

How to add an HTML lang attribute #

To ensure your page's content is pronounced correctly for screen reader users, use a valid language code in the lang attribute of the <html> element.

For example, this sample code sets the language of the document to English:

<html lang="en">

Resources #

Last updated: Improve article