Max Design

Published:

Have you ever wondered how browsers turn user interactions into a screen reader announcement?

Here’s a simple model that shows the key steps. This covers: an event firing, DOM updates, changes in the accessibility tree, and finally the AXEvent that reaches assistive technologies.

Steps that occur inside the browser

  1. A user event occurs
    Click, key press, pointer movement, etc.

  2. The browser processes the event
    It determines what was interacted with (hit-testing), applies default element behaviour, and updates internal state.

  3. The browser updates layout or repainting if needed
    Only when something visual has changed — text, position, open/closed state, etc.

  4. The browser updates the accessibility tree
    It synchronises accessibility information with DOM and layout changes, computing names, roles, states, relationships, and values.

  5. The browser generates AXEvents
    Examples: value changed, state changed, focus changed, live region updated.

  6. The browser sends AXEvents to the OS accessibility API
    Using the appropriate platform API:

    • AX API — macOS, iOS
    • UIA — Windows
    • ATK / AT-SPI — Linux

Steps that occur outside the browser

  1. The OS accessibility API notifies assistive technology
    Screen readers subscribe to these OS-level notifications and receive them as events.

  2. The assistive technology decides what to do
    Announce, queue, merge, interrupt, delay, or ignore the event based on its logic and user settings.

Related articles

What is an AXEvent?
Detailed explanation of AXevents.

What really happens when a user clicks an accordion button?
A more detailed explanation of an event.

What are DOM mutations?
DOM mutations are any changes to the accessibility tree.

End-to-end browser and accessibility event architecture
A full explanation of how browsers and assistive technologies communicate.