OptionalBoundingThe element's bounding box in viewport pixels, when available.
True when the element is disabled/non-interactive.
Stable per-snapshot index the controller uses to target this element.
Accessible name / label / visible text (trimmed, may be empty).
ARIA/semantic role (e.g. 'button', 'link', 'textbox', 'checkbox').
OptionalScopeNearest labeled ancestor region as role:name (e.g. group:All applications), or undefined when the element sits in no named region.
Lets a re-resolution tell same-named elements apart by WHERE they live.
True when the element is a scrollable container (rendered with a |SCROLL| marker).
A selector the adapter can act on to re-resolve this element.
OptionalValueCurrent value for inputs (e.g. '' → rendered as "(empty)"), when applicable.
One interactive element discovered by the adapter's extractor for a step — the unit of element-grounded perception. The extractor assigns a stable per-snapshot Index; the controller references it in a ClickElementAction/TypeIntoElementAction, and the engine resolves index → this element → a locator action with actionability auto-wait. Also recorded (role/name/selector/bbox) onto the StepRecord as the raw material that makes recorded traces replayable and self-healable.
App-agnostic: the extractor derives all of this from the a11y tree + a generic interactivity probe; nothing here names any specific app.