Skip to content

Latest commit

 

History

History
executable file
·
188 lines (139 loc) · 6.04 KB

File metadata and controls

executable file
·
188 lines (139 loc) · 6.04 KB
id bf051a
name HTML page lang attribute has valid language tag
rules_format 1.1
rule_type atomic
description This rule checks that the `lang` attribute of the root element of a non-embedded HTML page has a language tag with a known primary language subtag.
accessibility_requirements
wcag20:3.1.1 wcag-technique:H57
forConformance failed passed inapplicable
true
not satisfied
further testing needed
further testing needed
forConformance failed passed inapplicable
false
not satisfied
further testing needed
further testing needed
input_aspects
DOM Tree
acknowledgments
authors previous_authors funding
Giacomo Petri
Jey Nandakumar
Annika Nietzio
WAI-Tools

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.

Background

Assumptions

Accessibility Support

There are no accessibility support issues known.

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

Other Resources

Examples

Passed

Passed Example 1

This html element has a lang attribute with a known primary language tag and non-empty body content.

<html lang="it">
	<body>
		<p>Amo le regole ACT!</p>
	</body>
</html>

Passed Example 2

This html element has a lang attribute with a known primary language tag and non-empty title.

<html lang="it">
	<head>
		<title>Amo le regole ACT!</title>
	</head>
	<body></body>
</html>

Passed Example 3

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">
	<body>
		<p lang="en">I love ACT rules!</p>
	</body>
</html>

Failed

Failed Example 1

This html element has a lang attribute, with no known primary language tag.

<html lang="em-US">
	<body>
		<p lang="en">I love ACT rules!</p>
	</body>
</html>

Failed Example 2

This html element has a lang attribute, with no known primary language tag.

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

Failed Example 3

The lang attribute of this page is an iso 639.2 three-letter 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, 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>

Inapplicable Example 2

This rule does not apply to content that is empty or contains only [whitespace][].

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