Represents a widget element found in the UI tree during automation.
Created by find/2 and used for scoped assertions, automation flows, and
runtime inspection. Contains the widget's ID, type, props, and children.
Summary
Functions
Returns the a11y props map from the element, or nil if not set.
Creates an Element from a ui_node map (%{id, type, props, children}).
Returns the accessibility role for this element.
Returns the resolved accessibility map for this element.
Extracts text content from an element.
Types
Functions
Returns the a11y props map from the element, or nil if not set.
Creates an Element from a ui_node map (%{id, type, props, children}).
Returns the accessibility role for this element.
Reads the role from the element's a11y props first. Falls back to inferring from the widget type for elements without a11y (e.g., manually constructed Elements in tests).
Returns the resolved accessibility map for this element.
The normalized tree already carries the author's explicit a11y
values plus any tree-authored defaults (role from the widget-type
table, implicit radio_group wiring). This helper layers in the
widget-level fallbacks the render pipeline would apply:
text_input/text_editor/combo_box/pick_list:placeholderflows intodescriptionwhen unset.image/svg/qr_code:altflows intolabelwhen unset.
Returns an empty map (%{}) for elements the normalizer left
untouched, so tests can match on individual keys without having
to special-case nil.
Extracts text content from an element.
Checks props in order: "content", "label", "value", "placeholder". Returns nil if no text prop is found.