A11yNode

data class A11yNode(val nodeId: String, val composableName: String, val bounds: Rect, val contentDescription: String?, val isTouchTarget: Boolean, val textColor: Color?, val backgroundColors: List<Color>, val isFocusable: Boolean, val isMergedDescendant: Boolean, val depth: Int, val role: A11yRole? = null, val effectiveTouchBounds: Rect? = null, val parentNodeId: String? = null, val isEnabled: Boolean = true, val isCollectionContainer: Boolean = false, val textLabel: String? = null, val hasExplicitContentDescription: Boolean = false, val isTraversalGroup: Boolean = false, val unclippedBounds: Rect? = null, val isVisibleToUser: Boolean = true)

Normalized representation of one UI semantics node scanned by the accessibility rules.

Constructors

Link copied to clipboard
constructor(nodeId: String, composableName: String, bounds: Rect, contentDescription: String?, isTouchTarget: Boolean, textColor: Color?, backgroundColors: List<Color>, isFocusable: Boolean, isMergedDescendant: Boolean, depth: Int, role: A11yRole? = null, effectiveTouchBounds: Rect? = null, parentNodeId: String? = null, isEnabled: Boolean = true, isCollectionContainer: Boolean = false, textLabel: String? = null, hasExplicitContentDescription: Boolean = false, isTraversalGroup: Boolean = false, unclippedBounds: Rect? = null, isVisibleToUser: Boolean = true)

Properties

Link copied to clipboard

Candidate background colors sampled behind the node.

Link copied to clipboard

Pixel bounds relative to the scanned root.

Link copied to clipboard

Best-effort composable or role name used in reports.

Link copied to clipboard

Accessible label exposed by the node, if any.

Link copied to clipboard
val depth: Int

Depth in the semantics tree.

Link copied to clipboard

Effective pointer target bounds in root pixels for clickable nodes.

Link copied to clipboard

True when contentDescription came from Compose's ContentDescription semantics rather than falling back to textLabel.

Link copied to clipboard

True when the node exposes semantic collection information.

Link copied to clipboard

False when the node or one of its semantic ancestors is disabled.

Link copied to clipboard

True when the node can participate in focus traversal.

Link copied to clipboard

True when the node is inside a parent that merges semantics.

Link copied to clipboard

True when the node exposes a click action.

Link copied to clipboard

Whether this node establishes a separate accessibility traversal scope.

Link copied to clipboard

False for context-only nodes that must not receive an issue highlight.

Link copied to clipboard

Stable id for grouping issues that belong to the same semantics node.

Link copied to clipboard

Id of the immediate parent in the unmerged semantics tree, or null for the root. Rules use this to distinguish true siblings from unrelated nodes at the same depth.

Link copied to clipboard

Accessibility role mapped from the platform semantics role, if any.

Link copied to clipboard

Foreground text color when it can be extracted.

Link copied to clipboard

Visible semantic text TalkBack can append to contentDescription. Keeping this separate lets rules reason about the complete spoken label instead of treating a shared prefix, such as "Book cover image", as the whole accessible name.

Link copied to clipboard

Full layout bounds, including content clipped by a scrolling viewport.