Skip to main content
WCAGrules
Quick navigation

ACT Rule de46e4

Element with lang attribute has valid language tag

Passages in another language get their own lang attribute, so that a screen reader switches voice for them. This rule checks that those attributes carry a valid language tag.

A tool can decide this one on its own, which is why it turns up in scanner output. The rule is approved, which in W3C's process means it was implemented in full by at least one tool or methodology and then signed off by a working group. Approval is a statement about tools, not a statement that this is the settled way to test the criterion.

What passing this rule proves

When this rule fails, 3.1.2 Language of Parts is not satisfied, and that half is certain. When it passes, W3C's own outcome mapping says the criterion still needs further testing. So a green result here is evidence that one specific thing is not broken, and it is the answer W3C gives on 59 of its 87 live rules.

The rule only sees attributes that exist. A quoted French sentence with no lang attribute is invisible to it, and that is the failure you will actually have. W3C also notes that when lang is being used for something else, a code element's programming language for instance, the page can fail this rule and still conform.

The criteria this rule is a test for

These are the criteria the rule names as its own conformance requirement. Each one is a far bigger question than this rule asks, and our page for it sets out what the whole criterion covers.

The normative rule text lives at W3C

What the rule applies to, and exactly what it expects, is published by W3C and can change. We link to it rather than restate it, so nothing here can quietly fall out of date against the source. Read rule de46e4 at W3C.

The page must declare what language it is in

A screen reader picks its pronunciation rules from the language the page declares. Get it wrong and English is read with French rules, or the other way round. The result is not slightly off. It is unintelligible.

The declaration has to be a real language tag. A passage in another language has to say so on the element that contains it.

The default in a template is the usual culprit. A site translated into German keeps lang="en" from the starter. Every page is read aloud in English pronunciation rules, making it incomprehensible.

3.1.1 Language of Page

Fixes that satisfy it

If this rule fails on your site, these are the techniques that put it right.

Other rules W3C files under the same criteria

Each of these asks a different question about the same part of the standard. Passing all of them is still not the same as satisfying the criterion.

All 87 ACT rules are grouped by the criteria they test, and 24 of them decide nothing about WCAG on their own. Run a free scan to see which of these your own pages trip.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations