Skip to content

Phase 4 Step 8: Accessibility tree #49

@thomasnemer

Description

@thomasnemer

Parent: #41

Goal

Build an accessibility tree parallel to the DOM and expose it to platform assistive technologies via AccessKit.

Prerequisites

  • Step 7 (Shadow DOM) — the composed tree is what the accessibility tree represents

Implementation

  • Build accessibility tree parallel to DOM: compute role, name, state, and relationships from ARIA attributes and HTML semantics
  • Platform bridge via accesskit crate (AT-SPI2 on Linux, NSAccessibility on macOS, UIA on Windows)
  • Integrate accesskit_winit with the existing winit event loop in ie-shell
  • Incremental updates: push a11y tree changes when DOM mutates
  • Map HTML elements to appropriate ARIA roles by default (implicit semantics)
  • New dependencies: accesskit, accesskit_winit

Tests

  • Accessibility tree construction tests (correct roles, names, states)
  • ARIA attribute mapping tests
  • Implicit role tests for HTML elements
  • Incremental update tests (DOM change → a11y tree update)
  • Integration test with AccessKit adapter

Acceptance Criteria

  • Accessibility tree is built from the composed DOM tree
  • ARIA roles, names, and states are computed correctly
  • Platform assistive technologies can read the tree via AccessKit
  • Tree updates incrementally when the DOM changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions