Skip to main content

Cornell University

Web Accessibility Reviews

HTML page lang attribute has valid language tag

Applicability

This rule applies to any document element if it is an html element for which all the following are true:

Expectation

For each test target, the lang attribute has a [known primary language tag][].

Assumptions

  • The language of the page can be set by other methods than the lang attribute, for example using HTTP headers or the meta element. These methods are not supported by all assistive technologies. This rule assumes that these other methods are insufficient to satisfying Success Criterion 3.1.1: Language of Page.

  • This rule assumes that user agents and assistive technologies can programmatically determine [known primary language tags][known primary language tag] even if these do not conform to the [RFC 5646][] syntax.

  • This rule assumes that only [known primary language tags][known primary language tag] are enough to satisfy [Success Criterion 3.1.1 Language of Page][sc311]; this notably excludes [grandfathered tags][] and [ISO 639.2][] three-letters codes, both having poor support in assistive technologies.

Accessibility Support

There are no accessibility support issues known.

Background

This rule is only applicable to non-embedded HTML pages. HTML pages embedded into other documents, such as through iframe or object elements are not applicable because they are not web pages according to the definition in WCAG.

Related rules

Bibliography

Test Cases

Passed

Passed Example 1

This html element has a lang attribute with a [known primary language tag][].

<html lang="FR"></html>

Passed Example 2

This html element has a lang attribute with a [known primary language tag][] even though the [region subtag][] is not.

<html lang="en-US-GB"></html>

Failed

Failed Example 1

This html element has a lang attribute with a [known primary language tag][].

<html lang="em-US"></html>

Failed Example 2

This html element has a lang attribute with a [known primary language tag][].

<html lang="#1"></html>

Failed Example 3

The lang attribute of this page is an [iso 639.2][] three letters code, which has no [known primary language tag][].

<html lang="eng">
	<body>
		<p lang="en">I love ACT rules!</p>
	</body>
</html>

Failed Example 4

The lang attribute of this page is a [grandfathered tag][grandfathered tags], which has no [known primary language tag][].

<html lang="i-lux">
	<body>
		<p lang="lb">Lëtzebuerg ass e Land an Europa.</p>
	</body>
</html>

Inapplicable

Inapplicable Example 1

This rule does not apply to svg elements.

<svg xmlns="http://www.w3.org/2000/svg" lang="fr"></svg>

AI Prompt