AccessLumens

WCAG 3.1.1

Language of Page

SeriousLevel AWCAG 2.0

8.4%

of the 609 sites we scanned fail this

Ranging from 1.3% of Shopify DTC stores to 13.5% of US healthcare providers. Pooled across five targeted cohorts, so treat it as a convenience sample rather than a rate for the web.

Separately, 30.6% of the 941 county government PDFs we scanned fail it (288 documents). That is a different population from the sites above, so the two figures are not comparable. How we scanned the PDFs

What it means and how to fix it

What 3.1.1 covers

  • We detect this: A missing language attribute on the html element
  • We detect this: A language value that is not a valid code
  • We detect this: The declared language of a PDF document
  • No engine can detect this: A language that is declared but wrongA French page declaring lang="en" passes every automated check and is read aloud in the wrong accent throughout. Detecting it means identifying the language of the text.

Of that, one failure is detectable automatically, and these are what the rates on this page measure. Each needs its own fix. The percentage is the share of all 609 scanned sites affected. These do not sum to the 8.4% above: a site can fail more than one of them, and most that fail any fail several. A further 1 failure was detected on fewer than five sites each and are not listed.

  • The page doesn't declare its language8.2%

    Screen readers may not announce content in the correct language, affecting pronunciation and comprehension.

What it looks like in code

HTML
Fails
<html xmlns="http://www.w3.org/1999/xhtml"></html>
Passes
<html lang="en">

The language attribute tells a screen reader which pronunciation rules to use. Without it the text is read in the user's default voice, which can make an English page unintelligible.

Shown for The page doesn't declare its language. The failing example is real markup from a site in our research cohorts. Class, style and data attributes are removed, and ... marks a value we elided. The structure is unchanged, because the structure is the failure.

For what the criterion formally requires, read the W3C Understanding document.

How often it fails

US healthcare providers28/208
13.5%
EU e-commerce11/107
10.3%
US local government8/158
5.1%
Indian financial services3/61
4.9%
Shopify DTC stores1/75
1.3%

Share of scanned sites in each cohort. These are five targeted studies, not a random sample of the web, so read the contrast between cohorts rather than any one figure as a web-wide rate.

Who fails it most3 cuts by CMS vendor, country, state

By CMS vendor

unknown6/15
40%
municode1/17
5.9%
other1/23
4.3%
civicplus0/32
0%
drupal0/20
0%
granicus0/37
0%
wordpress0/8
0%

By country

Poland4/11
36.4%
France2/12
16.7%
Germany2/19
10.5%
Spain1/11
9.1%
Ireland1/12
8.3%
Italy1/12
8.3%
Netherlands0/15
0%
Sweden0/15
0%

By state

KS2/10
20%
TX2/13
15.4%
OH1/8
12.5%
CA3/25
12%
LA1/9
11.1%
NY0/8
0%
MO0/8
0%
FL0/15
0%

Groups smaller than 8 sites are not shown: a rate over a handful of sites moves by tens of points on a single result.

What the numbers do not say

This is a criterion your platform passes for you. Across 158 US city sites, every single one running a known CMS declared a page language: 0 of 32 on CivicPlus, 0 of 37 on Granicus, 0 of 20 on Drupal, 0 of 8 on WordPress. The failures are concentrated almost entirely in the sites where we could not identify a platform at all, where 6 of 15 fail. A hand-rolled template is the one place a one-line attribute gets forgotten, because nothing is filling it in.

What this does not measureLimits of these figures, and where the corpus came from
  • These are five targeted cohorts, not a random sample of the web. Per-cohort rates are the figure to quote; the pooled rate is a convenience sample.
  • Denominators count sites that produced a result. Sites that were blocked or errored are excluded rather than counted as passing.
  • Occurrence counts are floors: the engine records at most 25 occurrences of a rule per page.
  • The EU and Indian cohorts retained only the primary success criterion per finding, so a rule mapping to several criteria contributes to one of them in those two cohorts and to all of them in the other three.
Cohorts in the corpus, with sites scanned and attempted
CohortScannedAttempted
Shopify DTC stores7575
US local government158221
US healthcare providers208218
EU e-commerce107170
Indian financial services6172

Corpus generated 2026-09-18.

Check your own site

A free scan reports WCAG 3.1.1 alongside everything else, with the exact elements that fail.

Run a free scan

All accessibility rules and WCAG criteria