Skip to content
A11ySignal
seriousWCAG 3.1.2 · AA

lang attribute must have a valid value

valid-lang

Ensure lang attributes have valid values

The criterion behind it

3.1.2 Language of Parts

Mark up passages that are in a different language from the page.

Level AA · EN 301 549 § 9.3.1.2

Why this check exists

Without it, a French quotation in an English page is read with English pronunciation rules.

What usually triggers it

  • failsForeign-language quotations, names and phrases with no `lang` attribute.

How to fix it

  • doWrap them: `<span lang="fr">…</span>`. Proper names and loanwords do not need it.

How it is reported

A11ySignal reports this at serious impact. Every failing element comes with its CSS selector and the markup that failed, so you can go straight to the line rather than hunting for it. Deque publishes the engine-level detail:

https://dequeuniversity.com/rules/axe/4.13/valid-lang

Check implemented by axe-core 4.13.0, © Deque Systems, MPL-2.0.