Tag
aria
- Sep 9, 2026 The Role Attribute as a Contract With the Accessibility Tree How a role token rewrites what the accessibility tree exposes, why it adds no behaviour, and how the first valid token in a list wins. accessibility
- Aug 17, 2026 Roving tabindex and aria-activedescendant as Competing Models Two ways to keep one tab stop inside a composite widget: moving real DOM focus between items, or holding focus on a container and pointing at an item. Their costs differ in event routing, virtualisation, and IME handling. accessibility
- Aug 1, 2026 Accessible Name Computation How a screen reader derives the single name string for an element from text, labels, aria-labelledby, and fallbacks, and why precedence rules matter. accessibility
- Jul 21, 2026 Hiding Subtrees Without Breaking Focus or the Tree display none, visibility hidden, aria-hidden, and the hidden attribute remove content from different layers. Choosing wrong leaves focusable nodes inside invisible subtrees or visible text absent from the tree. accessibility
- Jul 4, 2026 Custom Widgets Over Virtualized Content When only the visible window of a list exists in the DOM, the accessibility tree holds a fragment of the data. Position, size, and the active item have to be reported through attributes rather than structure. accessibility
- Jul 3, 2026 The Combobox Popup Contract: Ownership, Focus, and Announcement What a text input and its suggestion list must agree on to be one widget: the popup relationship, where DOM focus lives during typing, and who announces the active option. accessibility
- Apr 3, 2026 Implicit Live Values in status, alert, log, and timer Roles Live roles carry default politeness and atomicity from their definitions, so the role chooses behaviour the author never wrote. Where those defaults help, and where overriding them produces a contradictory tree. accessibility
- Feb 16, 2026 Accessible Name Computation: Which Attribute Wins aria-labelledby, aria-label, label elements, alt text, and element content are consulted in a fixed order. The order, the recursion rules, and the roles that refuse a name entirely. web platform
- Nov 24, 2025 Bridging One Semantics Tree to Two Accessibility APIs A shared widget description must be projected into two different accessibility object models. The projection is lossy in both directions, and the losses are what make a screen unusable rather than merely imperfect. mobile computing
- Apr 7, 2025 How Live Regions Turn DOM Mutations Into Speech Live regions do not announce anything themselves; they mark a subtree as interesting so that mutations inside it are queued, and politeness, atomicity, and relevance decide what is spoken. accessibility
- Sep 18, 2024 Modal Inertness: What a Dialog Must Remove From the Rest of the Page A dialog is modal only if the rest of the document is unreachable by keyboard, pointer, and the accessibility tree. The containment mechanics, and the focus restoration that fails when the trigger is gone. accessibility
- Jun 19, 2024 The Accessibility Tree as a Test Oracle How browsers expose roles, names, states, and relations through the accessibility API, and how tests can assert on that projection instead of on markup. accessibility
- Apr 28, 2024 Mirroring Widget State Into ARIA Attributes Without Drift Why every interactive custom widget keeps state in two places, which attributes the tree actually reads, and how a render boundary prevents the two copies from disagreeing. accessibility
- Mar 8, 2024 Live Regions Under Re-Rendering: Why Framework Updates Announce Nothing A live region depends on text mutations inside a stable node. Diffing renderers replace nodes, batch writes, and mount regions on demand, which silences announcements in ways that look random. accessibility
- Jul 20, 2023 Contract Tests for Stateful ARIA Widgets A role-specific contract of states, key bindings, and announcements that can be asserted mechanically, and where the ARIA authoring practices stop being testable. accessibility