Vayle
← Guides

The Missing Language Tag: What WCAG's `lang` Requirement Means for Ontario Sites (2026)

One HTML attribute tells a screen reader which language your page is in, and which voice to read it with. Leave it off and a French page gets read by an English voice as noise. It's missing on 13.5% of the top million home pages. Here's the fix.

Editorial cover: the HTML lang attribute and WCAG 3.1.1 Language of Page, with the WebAIM Million 2026 figure that document language is missing on 13.5 percent of the top million home pages.

Every web page is supposed to declare, in its own code, what language it is written in. It happens in a single attribute on the opening HTML tag, lang="en" for English or lang="fr" for French, and a sighted visitor never sees it. A screen reader depends on it completely. That one attribute is how assistive technology decides which pronunciation engine to load, which voice to speak in, and how to read every word, number, and abbreviation on the page. Get it wrong or leave it off and the software has to guess, usually falling back to the reader's default language. On a French page read by an English voice, the result is not a slight accent. It is a stream of English phonetics applied to French words, close to unintelligible. For a province with a large French-speaking population and businesses that publish in both official languages, that is not an edge case. It is a live barrier hiding in one line of markup.

Key facts

  • Missing document language appeared on 13.5% of the top 1,000,000 home pages in the WebAIM Million 2026 scan, one of the six most common failures WebAIM detects, down from 15.8% in 2025 and 33.1% in 2019 (WebAIM).
  • WCAG (Web Content Accessibility Guidelines) Success Criterion 3.1.1 Language of Page is Level A and has been part of the standard since WCAG 2.0 - the most basic conformance tier, inside Ontario's enforceable floor (W3C).
  • 3.1.2 Language of Parts is Level AA and covers passages that switch language mid-page, such as a French phrase dropped into an English paragraph (W3C).
  • Ontario's IASR (Integrated Accessibility Standards Regulation, O. Reg. 191/11) s.14 requires organizations with 50 or more employees to meet WCAG 2.0 Level AA on public websites, and Level AA folds in every Level A criterion, 3.1.1 among them (ontario.ca).
  • The next ACR (Accessibility Compliance Report) for organizations with 20 or more employees is due December 31, 2026 (ontario.ca).

What does the language tag actually do?

3.1.1 Language of Page asks for one thing: the default human language of the page must be set in code so software can read it. In practice that means a lang attribute on the <html> element with the right two-letter code, en or fr, and for regional French you can be specific with fr-CA. It is a Level A criterion, the lowest and most fundamental tier, which is exactly why it sits inside Ontario's law: everything at Level A is part of the WCAG 2.0 Level AA target the IASR points to, so a missing language declaration is a failure against the version of WCAG the province actually enforces, not a nicety above it.

The reason it matters is pronunciation. A screen reader carries a separate voice and phonetic engine for each language it supports. The lang attribute is the switch that tells it which one to use. With no declaration, the software reads the page in whatever language the user set as their default, so an English-configured reader will attempt French, Spanish, or German text with English rules and produce something between a mangled accent and pure noise. Set the attribute correctly and the same words come out clean, in the right voice, with the right intonation. There is also a quieter benefit: search engines, translation tools, and browser features all lean on the same signal to handle your content correctly.

Why does a missing or wrong lang break a bilingual Ontario site?

Because bilingual publishing multiplies the ways it can go wrong. Many Ontario organizations run parallel English and French versions of a site, and a common mistake is to build the French pages from an English template and never change the lang value. The French page inherits lang="en", so a French-speaking visitor using a screen reader gets their own language read to them in an English voice. The page looks perfect and is functionally unusable, which is the worst kind of barrier because nobody catches it by looking.

The related case is a single page that mixes both languages, an English page with a French product name, tagline, or quoted passage. That is what 3.1.2 Language of Parts covers: each stretch of content in a different language should be marked with its own lang so the reader switches voice for that phrase and switches back. It is Level AA, so it sits on the same enforceable line as the rest of the standard for larger Ontario employers. None of this is something a bolt-on widget fixes reliably, because the language of a page and its parts is declared in your own HTML, not by a script layered on top (here is why an overlay is not remediation). And a missing lang is one of the classic automatable defects, flagged in seconds by any scanner, which is precisely the low-cost finding that fills AI-drafted demand letters.

How do you check it, and what's the risk if it's missing?

You can verify this in under a minute per template, no tools required beyond your browser:

  1. View the source and read the top. Look at the opening <html> tag. If it has no lang attribute at all, that is the 3.1.1 failure. If it says lang="en" on a page that is actually French (or the reverse), that is arguably worse, because software trusts it.
  2. Check every template, not just the home page. The home page might be right while blog posts, checkout, or the French mirror are wrong. Missing document language sat on 13.5% of home pages in WebAIM's 2026 scan; interior pages are rarely better.
  3. Mark the switches. Wherever a page carries a phrase in the other language, wrap it and set its lang. This is the 3.1.2 half most sites miss.

The stakes are the ones that attach to any access barrier. In Ontario the AODA (Accessibility for Ontarians with Disabilities Act) has no private right of action, so no one sues under it directly; the live route for an individual is the HRTO (Human Rights Tribunal of Ontario), which hears complaints under the Ontario Human Rights Code, and a French-speaking customer served an unusable French page is being denied the equal access those complaints describe. If you sell into the United States, a missing page language is a routine allegation in ADA (Americans with Disabilities Act) web litigation. The durable answer is the same one every gap needs: documented remediation, a dated record of what you found and fixed, which is what an honest ACR should reflect by December 31, 2026. And because a scanner can confirm a lang attribute exists but cannot judge whether it matches the language a human actually reads on the page, this is one more case where a scan is not an audit, and it lives alongside the other structural signals a screen reader depends on.

See whether your site declares its language correctly and check for other accessibility issues, free Vayle Report, about 30 seconds: vayle.art. It detects overlay widgets, surfaces real WCAG failures, and tells you exactly what legally applies to your organization in Ontario. No obligation.

Vayle is a remote-first accessibility-engineering studio serving Ontario. General information, not legal advice.

See what's quietly costing you sales

Send us your site and we'll send back 3 to 5 prioritized fixes for design, speed, conversion and accessibility. Free, within 2 business days.