Fully transparent slide text
A run whose text fill is set to complete transparency, so nothing of it is painted.
How the text is hidden
PowerPoint's formatting pane has a Text Fill → Transparency slider. At 100% it writes <a:alpha val="0"/> inside the run's <a:solidFill>. The run keeps its colour, its size and its place in the flow; the renderer draws nothing.
Why a model still reads it
Alpha is a paint instruction attached to the fill, not to the characters. Text extraction never consults it, so the run comes back whole.
What we do about it
readRunOpacity reads a:alpha under the run's own a:solidFill; val is in thousandths of a percent and is normalised to a 0–1 opacity. computeReason marks the run zero-opacity when that value is at or below limits.maxInvisibleOpacity, read from the rule pack. The check runs ahead of the colour and size tests, because a fully transparent run has no visible colour to reason about. Severity high, flagged; visibilityOf maps zero-opacity to never.
How often it fires
0% of 120 real Zenodo conference decks (corpus-zenodopptx as re-fetched 2026-08-23), measured 2026-08-24.
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.
Check your own file
Three commands: a key, credit, a verdict.
Start with the API