NormalizedNode class
A normalized, interpreted view of a raw node: role inferred, text merged, viewport visibility flagged, action set extracted.
Constructors
-
NormalizedNode({required int rawId, required String role, required String text, required String normalizedText, required List<
String> normalizedTokens, required Rect bounds, required bool scrollable, required bool visible, required double visibleFraction, required int layer, required bool hasAction, required String identifier, required List<String> actions, required int parentIndex, required int siblingIndex, required String subtreeText, bool selected = false, String value = '', String? checked, bool editable = false, bool secure = false, int overlayId = 0, bool? disabled, String placeholder = '', UiRange? range, VisualSignature? visual}) -
const
Properties
-
actions
→ List<
String> -
final
- bounds → Rect
-
final
- checked → String?
-
Tri-state checked/toggled state:
'true'/'false'/'mixed', or null when the node carries neitherhasCheckedStatenorhasToggledState.final - disabled → bool?
-
MEASURED enablement, tri-state (Android parity):
true= disabled,false= enabled, null = the node carries nohasEnabledState, so nothing was measured. Never widened tofalsefrom absence.final - editable → bool
-
SemanticsFlag.isTextField— the only nodesset_textcan drive.final - hasAction → bool
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- identifier → String
-
final
- layer → int
-
Modal stacking depth; ordinary page nodes stay on layer zero.
final
- normalizedText → String
-
textafternormaliseForMatch— lowercased, whitespace-collapsed,%expanded, sentence punctuation flattened to spaces.final -
normalizedTokens
→ List<
String> -
normalizedTextsplit into a token bag (single-space boundaries, empty tokens dropped).final - overlayId → int
-
final
- parentIndex → int
-
final
- placeholder → String
-
An input field's hint (
SemanticsData.hint), editable nodes only. Never merged into text: it is copy describing the field, not content.final - range → UiRange?
-
A slider's numeric range, only when the host reported both bounds.
final
- rawId → int
-
final
- role → String
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollable → bool
-
final
- secure → bool
-
SemanticsFlag.isObscured— password/PIN style fields.final - selected → bool
-
truewhen the node carriesSemanticsFlag.isSelected.final - siblingIndex → int
-
final
- subtreeText → String
-
Concatenated
normalizedTextof this node and every kept descendant, joined by single spaces.final - text → String
-
final
- value → String
-
The control's CURRENT VALUE (
SemanticsData.attributedValue) — a text field's contents, a slider's "50%", a dropdown's selection.final - visible → bool
-
final
- visibleFraction → double
-
Fraction of the node's bounds that falls inside the viewport, in
[0.0, 1.0].final - visual → VisualSignature?
-
How the node is DRAWN (its glyph-hint style signature), for leaf-ish
tappables the capture collected glyphs for; null when not looked at.
In-memory only — never on the wire. Lets the verifier see a tap whose
whole effect is visual (a custom radio's dot moving).
final
Methods
-
copyWith(
{String? role, String? identifier, String? subtreeText, String? text, String? normalizedText, List< String> ? normalizedTokens, bool? selected, String? checked, VisualSignature? visual}) → NormalizedNode -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited