Why should a page declare its language and character set?
Because a machine cannot tell from the letters alone. The language declaration says which language the page is written in; the character set says how to turn its bytes back into letters. Leave either out and software has to guess, and a wrong guess shows up as mispronounced words or garbled text.
What it actually is
The language declaration is a short code on the page, such as "en" or "pt-BR", in the standard format every browser and screen reader understands. The character set is the decoding key for the text, almost always UTF-8 today, stated either in the page itself or in the server's response. Neither is visible to a visitor. Both are read by everything that processes the page.
Why it matters
Screen readers use the language to choose a voice and a pronunciation, so an English page read with French rules becomes nonsense to someone listening; the accessibility guidelines make the declaration a basic requirement for exactly that reason. Translation tools, search engines and AI assistants use it to know what they are reading before they try to summarise it. And a missing character set is how accented names, currency symbols and quotation marks turn into strings of odd symbols.
What good looks like
Every page states its main language accurately, using the standard code, and its text arrives with a clear decoding instruction. A page in Portuguese says Portuguese, not the English default its template shipped with, and a site in several languages declares each page's own language rather than one for all.
Being honest about it
Most modern platforms get the character set right on their own, and many get the language at least half right. This is a small, cheap fix with a real accessibility benefit, not a growth lever, and we score it as the hygiene it is. Where it matters most is on sites that are not in English, because those are the pages a wrong default hurts.
Where most sites go wrong
The classic failure is a template that declares English on every page of a site written in another language, because nobody changed the default when the site was built. The page passes a naive presence check and misleads every machine that reads it. The other is a page assembled by a tool outside the main site — a landing page, an embedded app — that declares neither.
Not sure where yours stands?
A free scan checks this and everything else in about 20 seconds — no signup. Or if it's already flagged and you'd rather it were simply handled, we do that too.
Flagged for this one? We handle it. No pitch, just a plain-English chat.
Book a call