Text hidden for screen readers

html.accessibility-text

Text an author deliberately hid from sight and left for assistive technology — a skip link, an .sr-only label — recorded so a reviewer knows it is there, and graded quietly because it is an accessibility practice.

How the text is hidden

The concealment itself is ordinary CSS — display:none, a total clip, an off-screen offset — and the run keeps whatever reason that produces. What identifies it as the accessibility idiom is a separate flag, set from the element's own class attribute when it matches sr-only, visually-hidden or visuallyhidden, screen-reader or screenreader, assistive, or skip-link/skip-nav. The separator is an optional hyphen, so a class written as two words — visually hidden — is not the idiom, and that run reports as ordinary concealment instead. The flag is also set on a run of its own when the text opens with "skip to", "skip this", "skip navigation", "skip past", "skip over" or "skip main", and it inherits down the cascade.

Why a model still reads it

It is concealed by exactly the same mechanisms as an attack — the markup is identical, and the flag is the only thing separating them. The text is a live DOM node and every extractor reads it.

What we do about it

The rule fires on the flag alone, for any HTML run with non-empty text, at informational with action flag — reported, retained, never stripped, and it still prevents certification. It also claims the run ahead of the louder rules: html.display-none, html.offscreen and html.clipped-text each require the accessibility flag to be clear, so a skip link is reported once, under this name, rather than as a high concealment finding.

How often it fires

23.8% of 400 real pages from 400 distinct hosts (Common Crawl) — pages, not documents, measured 2026-08-21.

This is an alert-volume number and nothing else. It says how often the alarm sounds on documents as found — not how often it is right, and not whether what it found was harmless. Documents as found may themselves carry concealment. Read it against the population named above rather than as a property of documents in general.

next

Check your own file

Three commands: a key, credit, a verdict.

Start with the API