Skip to content

Latest commit

 

History

History
executable file
·
167 lines (117 loc) · 6.16 KB

File metadata and controls

executable file
·
167 lines (117 loc) · 6.16 KB
id bf051a
name HTML page lang attribute has valid language tag
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
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.

Assumptions

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, 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>
Details ## Boundary Examples

These examples are not normative and not require for consistent implementations. They illustrate limitations and boundaries of the rule. Passed and Inapplicable examples in this category are likely to fail the rule's accessibility requirement, showing how the rule is only a partial test. Testing tools and methodologies are encouraged to be more clever than the rule, and to report the correct outcome for these examples. Therefore, they are not required for consistent implementation.

Inapplicable Examples

Inapplicable Example 1

This html element has an empty lang attribute. It is not applicable for this rule, but nonetheless fails Success Criterion 3.1.1 Language of Page. It also fails rule HTML page has lang attribute.

<html lang="">
	<body>
		I love ACT rules.
	</body>
</html>