wtf( )unctionsystem design, drawn
← all problemsAccessibilityHard

The label that vanished when the wrapper became visible

A search field was labelled by reference to another element, and it worked. Somebody then made the surrounding wrapper visible — a purely visual change, no markup moved — and the field lost its name entirely.

The team wrote up what they had learned. Six rules went onto the accessibility guide. Four of them are false, and each false one is a rule somebody currently relies on.

Tap every rule on the guide that is false.
?Whether hidden text counts toward a name depends on which node the reference landed on — so a visual change to an unrelated wrapper can silently delete an accessible name.

Boundaries, outermost first: The accessibility guide: title names it (for an icon button), References chain (A to B to C), Clipped text counts (the sr-only pattern), opacity: 0 hides it (from the computation), Hidden text counts (in every reference), labelledby wins (over aria-label) Outside every boundary: Search field (labelled by reference; FAILED: no name) This diagram draws no connections between its components.

Tap every component that is wrong.