Skip to main content
Category: ARIA and Semantic Structure

Accessibility Tree

Also known as: Browser Accessibility Tree
Simply put

The accessibility tree is a structured representation of a web page that browsers create automatically to describe the page's content to assistive technologies such as screen readers. It focuses on the meaning and function of page elements rather than how they look visually. Assistive technologies rely on this information to convey what is on the page to users.

Formal definition

The accessibility tree is an API layer generated by the browser (user agent) from the Document Object Model (DOM), typically representing a subset of the DOM tree. During its creation, the browser parses roles, states, properties, and accessible names and descriptions of elements, exposing this semantic information to assistive technologies through platform accessibility APIs. It generally contains no visual styling information; instead, it communicates the structure, roles, and interactive states of user interface objects. Because the accessibility tree reflects what is exposed to assistive technology, it is commonly inspected via browser developer tools to debug and verify how content will be presented to screen readers and other assistive technologies.

Why it matters

The accessibility tree is the bridge between a web page and the assistive technologies people depend on to perceive and operate digital content. Because screen readers and other assistive technologies rely on this structured, semantic representation rather than the visual layout, the quality of the accessibility tree directly determines whether a user can understand what an element is, what state it is in, and how to interact with it. When markup uses proper semantic elements and correct roles, states, and accessible names, the tree conveys accurate meaning; when it does not, users of assistive technology may encounter controls that are unlabeled, mislabeled, or entirely missing.

Many common accessibility failures can be traced to how content is exposed to the accessibility tree. A button implemented with a non-semantic element, an image without an accessible name, or an interactive widget with incorrect roles may look correct on screen but be conveyed poorly or not at all through the accessibility tree. Understanding this layer helps teams recognize why visual inspection alone is insufficient and why passing automated checks does not guarantee that content is genuinely usable with a screen reader. Manual testing and testing with actual assistive technologies remain necessary to confirm that the intended meaning reaches users.

Because the accessibility tree reflects precisely what is exposed to assistive technology, it is a practical focal point for debugging accessibility issues. Inspecting it can reveal discrepancies between what developers intend and what users actually receive. This makes it a valuable diagnostic tool for engineers and quality teams, though it is a technical concept rather than a compliance standard in itself, and it does not replace evaluation against recognized guidelines or, where relevant, legal review.

Who it's relevant to

Accessibility Engineers and Front-End Developers
Developers building and maintaining interactive interfaces rely on the accessibility tree to verify that their markup exposes correct roles, states, properties, and accessible names. Inspecting the tree through browser developer tools helps confirm that custom widgets and dynamic content are conveyed to assistive technologies as intended, rather than relying on visual appearance alone.
Quality Assurance and Accessibility Testers
Testers use the accessibility tree as a diagnostic reference to understand what information a page actually provides to screen readers and other assistive technologies. Because automated checks detect only a portion of issues, examining the tree supports manual and assistive-technology testing when confirming how content will be presented to users.
UX and Interaction Designers
Designers benefit from understanding that the accessibility tree focuses on meaning and function rather than visual styling. This awareness informs decisions about labeling, semantics, and component behavior so that the experience communicated through assistive technology aligns with the intended design.
Compliance and Accessibility Program Owners
Those overseeing accessibility programs can use the accessibility tree to help teams diagnose why content may be inaccessible and to reinforce that visual correctness does not guarantee an accessible experience. Note that the accessibility tree is a technical concept and not a compliance standard; conformance should be evaluated against recognized guidelines, and legal questions should be directed to qualified counsel.

Inside Accessibility Tree

Role
The semantic type of an element (for example button, link, heading, or checkbox) that communicates to assistive technologies what the element is and how a user can interact with it. Roles are derived from native HTML semantics or explicitly set through ARIA.
Name (Accessible Name)
The label by which an element is identified to assistive technology users. It may be computed from element content, associated labels, alt text, aria-label, or aria-labelledby, following the W3C accessible name computation.
Value
The current value or content of an element where applicable, such as the text entered in a form field or the selected option in a control.
State and Properties
Dynamic and descriptive attributes conveyed to assistive technology, such as whether a control is checked, expanded, disabled, selected, or required. These are often expressed through ARIA states and properties or native element attributes.
Description
Supplementary information beyond the accessible name, commonly computed from attributes such as aria-describedby, that provides additional context about an element.
Hierarchical Structure
The tree's parent-child relationships that represent the structural and semantic organization of the interface, which the browser derives from the DOM after applying semantics and visibility rules.

Common questions

Answers to the questions practitioners most commonly ask about Accessibility Tree.

Is the accessibility tree the same thing as the DOM?
No. While the accessibility tree is derived from the Document Object Model (DOM), it is a separate structure. The browser processes the DOM (along with any applied ARIA and CSS) to construct the accessibility tree, which represents elements in terms of their accessible name, role, state, and properties rather than their raw markup. Elements present in the DOM may be pruned from or altered in the accessibility tree, so the two structures are not interchangeable.
Does having a valid accessibility tree mean my page is accessible?
Not necessarily. A well-formed accessibility tree is an important foundation, but it does not by itself guarantee an accessible experience. The tree exposes roles, names, and states to assistive technologies, yet usability still depends on factors such as logical reading order, meaningful accessible names, keyboard operability, and how the content behaves with real assistive technology. Meeting the technical structure of the tree should be verified through manual and assistive technology testing, since automated checks detect only a portion of issues.
How can I inspect the accessibility tree during development?
Major browsers include developer tools that expose the accessibility tree. These tools generally let you select an element and view its computed accessible name, role, states, and properties, which helps you confirm what assistive technologies are likely to receive. Because implementations can vary, it is often useful to inspect the tree in more than one browser and to corroborate findings with testing using actual assistive technology such as a screen reader.
How do ARIA attributes affect the accessibility tree?
ARIA attributes can modify how elements appear in the accessibility tree by setting or overriding roles, accessible names, and states. For example, attributes may change an element's exposed role or supply an accessible name. Because ARIA changes the exposed semantics without changing native behavior, it should be applied carefully; incorrect or excessive ARIA can misrepresent an element in the tree and degrade the assistive technology experience. Native HTML semantics are generally preferred where they are sufficient.
Why might an element I see on the page be missing from the accessibility tree?
Elements can be excluded from the accessibility tree for several reasons. Content hidden with certain CSS or attributes, or elements marked to be ignored by assistive technology, may be pruned from the tree even though they render visually or exist in the DOM. Conversely, content removed from view in specific ways may still remain exposed. Inspecting the tree helps identify these mismatches so that what users perceive visually aligns with what assistive technology conveys.
How does the accessibility tree relate to meeting WCAG success criteria?
The accessibility tree is the mechanism through which many WCAG-relevant properties, such as name, role, and value, are exposed to assistive technologies, which is commonly associated with success criteria addressing programmatic determinability. However, conformance is determined by evaluating the criteria themselves rather than by the tree in isolation, and it applies to specific WCAG versions and levels. A correct tree supports conformance but does not substitute for full evaluation, which should combine automated, manual, and assistive technology testing.

Common misconceptions

The accessibility tree is identical to the DOM.
The accessibility tree is generally derived from the DOM but is not the same. The browser transforms the DOM by applying semantics, computing accessible names, and often omitting elements that are hidden or not exposed, so the two structures can differ.
If content appears visually on screen, it is automatically represented in the accessibility tree.
Visual rendering and accessibility exposure are separate. Elements can be present visually yet be missing, mislabeled, or hidden from the accessibility tree, and conversely some content may be exposed to assistive technology without a conventional visual presence. Inspecting the tree is needed to confirm what assistive technologies actually receive.
A correctly populated accessibility tree guarantees an accessible, usable experience.
A well-formed accessibility tree supports accessibility but does not guarantee it. Automated inspection detects only a portion of issues, and manual testing with assistive technologies is generally required to confirm that the experience works for users in practice.

Best practices

Prefer native HTML semantics, which expose appropriate roles, names, states, and properties to the accessibility tree by default, and add ARIA only where native semantics are insufficient.
Ensure every interactive element has an accessible name computed through reliable mechanisms such as visible labels, associated label elements, alt text, or aria-labelledby.
Use the accessibility inspection tools built into browsers and developer tools to view the computed accessibility tree and confirm that roles, names, values, and states match the intended interface.
Keep dynamic states and properties (such as expanded, checked, selected, or disabled) synchronized with the actual interface state so the tree reflects the current condition of each control.
Verify that content hidden or removed from view is handled correctly, so that decorative or off-screen content is appropriately omitted while meaningful content remains exposed to assistive technologies.
Complement inspection of the accessibility tree with manual testing using screen readers and other assistive technologies, since the tree alone does not confirm real-world usability.