Text the colour of its background

html.white-text

Text whose resolved colour and resolved ground are too close in contrast for a reader to separate them.

How the text is hidden

The parser resolves the text colour from color, from -webkit-text-fill-color, and from the background-clip:text idiom where the paint becomes the glyph colour; it resolves the ground from the cascade, from the legacy bgcolor and background attributes that older and government HTML still use, and — inside an <svg> — from the filled shapes already painted under the text's own point, through the transform chain. The two are compared as a contrast ratio.

Why a model still reads it

The glyphs are painted, at full size, in the ordinary flow. Only the colour hides them, and colour is a rendering property: an extractor reads the characters and never computes the contrast.

What we do about it

reasonFor returns background-match when the computed contrast falls below limits.minVisibleContrastRatio, read from the rule pack. The rule fires at high with action flag — reported and retained, never stripped — guarded by the same container clause that stands the specific rules down on a whole-page text layer. containerVisibility is never: selecting the text is the only way a reader finds it.

How often it fires

10.3% 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.

Seen in the wild

10 Jul 2025 · 0DIN · vendor disclosure
Phishing For Gemini

An email hid an instruction inside a zero-size white span, and Gemini's "summarise this email" obediently appended a fabricated Google security warning telling the reader to call an attacker's phone number.

Every recorded incident, across all techniques.

next

Check your own file

Three commands: a key, credit, a verdict.

Start with the API