Summary
Parallel tree to DOM — roles, names, states exposed to assistive tech. Not identical to DOM (aria overrides, visibility). DevTools Accessibility pane inspects computed name from label/aria/text. Broken tree → screen reader silence or wrong announcements.
Code example
<button aria-label="Close dialog">×</button>
<label for="email">Email</label>
<input id="email" aria-describedby="email-hint" />
<span id="email-hint">We never share your email.</span>
Key points
- Parallel tree to DOM — roles, names, states exposed to assistive tech.
- Not identical to DOM (aria overrides, visibility).
- DevTools Accessibility pane inspects computed name from label/aria/text.
- Broken tree → screen reader silence or wrong announcements.