C01 inline style display:none
Expect: flagged
Before [C01] Inline display none text. after.
C02 display:none from a stylesheet rule
Expect: flagged
Before [C02] Stylesheet display none text. after.
C03 hidden attribute
Expect: flagged
Before [C03] Hidden attribute text. after.
C04 hidden="until-found" (find-in-page can show it)
Expect: flagged (by the attribute)
[C04] Until found text, search for untilfoundword.
C05 visibility:hidden (keeps its space)
Expect: flagged
Before [C05] Visibility hidden text. after.
C22 display:none on an ancestor
Expect: flagged (the ancestor)
[C22] Nested text under a hidden ancestor.
C26 SVG <text visibility="hidden">
Expect: flagged
C27 visibility:hidden sizer (sets the box width)
Expect: flagged. Removal shrinks the box. A mask can change its width.
[C27] The longest label sets the width.Short
C30 hidden element added after load
Expect: flagged on the next pass
C19 closed <details>
Expect: not flagged (details is excluded, and computed style is visible)
Summary is visible
[C19] Closed details body text.
C25 <dialog> that is not open
Expect: not flagged (dialog is excluded)
C29 popover
Expect: not flagged ([popover] is excluded)
[C29] Popover text that starts closed.
C31 display:none that contains a link
Expect: not flagged (contains a[href])
[C31] Hidden text with a
link inside.
C34 <template> (never rendered)
Expect: not flagged (template is skipped). The button stamps a copy.
[C34] Template content text.
C06 visibility:collapse (table row)
Expect: not flagged
| Row 1 is visible |
| [C06] Collapsed row text. |
C07 opacity:0
Expect: not flagged (opacity is excluded on purpose)
Before [C07] Opacity zero text. after.
C08 color:transparent
Expect: not flagged
Before [C08] Transparent colour text. after.
C09 text colour equals the background
Expect: not flagged
Before [C09] White on white text. after.
C10 font-size:0
Expect: not flagged
Before [C10] Zero font size text. after.
C11 height:0; overflow:hidden
Expect: not flagged
C12 collapsed accordion (max-height:0, animates open)
Expect: not flagged
[C12] Accordion body text.
C13 clip: rect(0 0 0 0)
Expect: not flagged
Before [C13] Clipped text. after.
C14 clip-path: inset(50%)
Expect: not flagged
Before [C14] Clip path text. after.
C15 off-screen (left:-9999px)
Expect: not flagged
Before [C15] Off screen text. after.
C16 transform: scale(0)
Expect: not flagged
Before [C16] Scaled to zero text. after.
C17 text-indent:-9999px
Expect: not flagged
C18 content-visibility:hidden
Expect: not flagged
[C18] Content visibility hidden text.
C20 filter: opacity(0)
Expect: not flagged
Before [C20] Filter opacity text. after.
C21 covered by an opaque overlay
Expect: not flagged
[C21] Text under an overlay.
C23 :hover menu (move the pointer over the box, or use the button)
Expect: flagged (display:none until hover). Shows with no DOM change.
Hover here
C24 fade-in animation (opacity 0 to 1 after 4 s)
Expect: not flagged. The button replays the animation.
Before [C24] Fade in text. after.
C32 screen-reader text (.sr-only, and the same CSS as .offscreen-x)
Expect: not flagged (computed style is visible; .sr-only is also excluded)
Before [C32a] Screen reader text.[C32b] Same CSS, other class. after.
C35 display:none in a closed shadow root
Expect: not flagged (the sweep does not enter shadow roots)
C36 display:none in a same-origin iframe
Expect: not flagged (the sweep does not enter frames)
C28 [hidden] with an author override to display:block
Expect: flagged, but the text is visible
[C28] Hidden attribute, but CSS shows it.
C33 aria-hidden="true" (visible on screen)
Expect: flagged, but the text is visible
[C33] Aria hidden but visible text.
C37 visibility:hidden parent with a visibility:visible child
Expect: flagged (the parent), and the visible child is masked too
[C37a] Hidden parent text. [C37b] Visible child text.
No visibility check (tier 1 in the extension)
C00 <meta name=description>, HTML comment, <noscript>
Expect: not reported by findHiddenText(). The extension masks these in a separate pass.
(no visible content)