Text Zoom Test — How It Works
Updated: 10/7/2025
Description: Checks that text elements remain present and accessible after applying 200% Zoom.
Action Flow
- Obtains the full accessibility tree (AXTree)
- Captures all elements containing text before zoom
- Extracts elements with significant text roles
- Filters elements that have text content (
name,value,text content,aria-label) - Applies 200% Zoom to the page
- Captures elements again
- Compares whether elements are still present
An element is considered "text" if it meets any of these criteria:
- Has text content: non-empty
nameorvalue - Specific text role:
text,statictext,heading,paragraph,listitem, etc. - Is focusable and has text
Scope
- It is common for pages where navbar links collapse into a Hamburger Menu after Zoom is applied. These elements, even though they change position in the DOM/AXTree, remain present and accessible on the page. Currently, to validate these elements and prevent false positives, the test checks by node ID, but two variants may occur when applying the test:
- When applying 200% Zoom, the DOM/AXTree changes, and if these elements are inside an element requiring user interaction (hamburger menu, accordion), the test may report false positives. Since if they are not activated, these elements do not yet exist in the Accessibility Tree.
- When applying 200% Zoom, the DOM/AXTree changes and these elements cannot be relocated in the new DOM, so they are not reported.
- In the last test update, most of the previously mentioned cases have been mitigated.
- The test does not check text sizes
- The test does not check that navigation is correct
- The test does not check cropped/overlapping content
- Elements in Carousels, Sliders, Comboboxes, Selects, Accordions, and generally those requiring user interaction may generate false positives.
- Elements that undergo re-rendering may generate false positives.
Out of Scope Cases
Search Input on React.dev
The search input on this page is reported as a false positive. It is a particularly unusual case of re-rendering and internal assignment of role, name, aria-label, or text content. The re-rendering is a consequence of modern web technologies such as React, NextJS, among others.
SVG - Image on Kayak
On this website, false positives associated with element re-rendering (Login Button, Language Selector, Language Selector) were mitigated, but the image/svg element representing the selected language is still reported. How these elements behave when the Accessibility Tree is obtained should be evaluated.
