SemanticsNode class Null safety

A node that represents some semantic data.

The semantics tree is maintained during the semantics phase of the pipeline (i.e., during PipelineOwner.flushSemantics), which happens after compositing. The semantics tree is then uploaded into the engine for use by assistive technology.

Mixed in types


SemanticsNode({Key? key, VoidCallback? showOnScreen})
Creates a semantic node. [...]
SemanticsNode.root({Key? key, VoidCallback? showOnScreen, required SemanticsOwner owner})
Creates a semantic node to represent the root of the semantics tree. [...]


attached bool
Whether this node is in a tree whose root is attached to something. [...]
read-only, inherited
childrenCount int
The number of children this node has.
currentValueLength int?
The current number of characters that have been entered into an editable text field. [...]
decreasedValue String
The value that value will have after a SemanticsAction.decrease action has been performed. [...]
depth int
The depth of this node in the tree. [...]
read-only, inherited
elevation double
The elevation along the z-axis at which the rect of this SemanticsNode is located above its parent. [...]
elevationAdjustment double?
The elevation adjustment that the parent imposes on this node. [...]
read / write
hasChildren bool
Whether this node has a non-zero number of children.
hashCode int
The hash code for this object. [...]
read-only, inherited
hint String
A brief description of the result of performing an action on this node. [...]
hintOverrides SemanticsHintOverrides?
Provides hint values which override the default hints on supported platforms.
id int
The unique identifier for this node. [...]
increasedValue String
The value that value will have after a SemanticsAction.increase action has been performed. [...]
indexInParent int?
The index of this node within the parent's list of semantic children. [...]
read / write
isInvisible bool
Whether the node is invisible. [...]
isMergedIntoParent bool
Whether this node merges its semantic information into an ancestor node.
read / write
isMultiline bool?
If this node represents a text field, this indicates whether or not it's a multiline text field.
isPartOfNodeMerging bool
Whether this node is taking part in a merge of semantic information. [...]
key Key?
Uniquely identifies this node in the list of sibling nodes. [...]
label String
A textual description of this node. [...]
maxValueLength int?
The maximum number of characters that can be entered into an editable text field. [...]
mergeAllDescendantsIntoThisNode bool
Whether this node and all of its descendants should be treated as one logical entity.
owner SemanticsOwner?
The owner for this node (null if unattached). [...]
read-only, override
parent SemanticsNode?
The parent of this node in the tree.
read-only, override
parentPaintClipRect Rect?
The paint clip from an ancestor that was applied to this node. [...]
read / write
parentSemanticsClipRect Rect?
The semantic clip from an ancestor that was applied to this node. [...]
read / write
platformViewId int?
The id of the platform view, whose semantics nodes will be added as children to this node. [...]
rect Rect
The bounding box for this node in its coordinate system.
read / write
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
scrollChildCount int?
The total number of scrollable children that contribute to semantics. [...]
scrollExtentMax double?
Indicates the maximum in-range value for scrollPosition if the node is scrollable. [...]
scrollExtentMin double?
Indicates the minimum in-range value for scrollPosition if the node is scrollable. [...]
scrollIndex int?
The index of the first visible semantic child of a scroll node.
scrollPosition double?
Indicates the current scrolling position in logical pixels if the node is scrollable. [...]
sortKey SemanticsSortKey?
Determines the position of this node among its siblings in the traversal sort order. [...]
tags Set<SemanticsTag>?
The SemanticsTags this node is tagged with. [...]
read / write
textDirection TextDirection?
The reading direction for label, value, hint, increasedValue, and decreasedValue.
textSelection TextSelection?
The currently selected text (or the position of the cursor) within value if this node represents a text field.
thickness double
Describes how much space the SemanticsNode takes up along the z-axis. [...]
transform Matrix4?
The transform from this node's coordinate system to its parent's coordinate system. [...]
read / write
value String
A textual description for the current value of the node. [...]


adoptChild(covariant AbstractNode child) → void
Mark the given node as being a child of this node. [...]
@mustCallSuper, @protected, inherited
attach(covariant SemanticsOwner owner) → void
Mark this node as attached to the given owner. [...]
debugDescribeChildren({DebugSemanticsDumpOrder childOrder = DebugSemanticsDumpOrder.inverseHitTest}) List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
debugListChildrenInOrder(DebugSemanticsDumpOrder childOrder) List<SemanticsNode>
Returns the list of direct children of this node in the specified order.
detach() → void
Mark this node as detached. [...]
dropChild(covariant AbstractNode child) → void
Disconnect the given node from this node. [...]
@mustCallSuper, @protected, inherited
getSemanticsData() SemanticsData
Returns a summary of the semantics for this node. [...]
hasFlag(SemanticsFlag flag) bool
Whether this node currently has a given SemanticsFlag.
isTagged(SemanticsTag tag) bool
Whether this node is tagged with tag.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
redepthChild(AbstractNode child) → void
Adjust the depth of the given child to be greater than this node's own depth. [...]
@protected, inherited
redepthChildren() → void
Adjust the depth of this node's children, if any. [...]
sendEvent(SemanticsEvent event) → void
Sends a SemanticsEvent associated with this SemanticsNode. [...]
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style = DiagnosticsTreeStyle.sparse, DebugSemanticsDumpOrder childOrder = DebugSemanticsDumpOrder.traversalOrder}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
toString({DiagnosticLevel minLevel =}) String
A string representation of this object. [...]
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, DebugSemanticsDumpOrder childOrder = DebugSemanticsDumpOrder.traversalOrder}) String
Returns a string representation of this node and its descendants. [...]
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object. [...]
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode. [...]
updateWith({required SemanticsConfiguration? config, List<SemanticsNode>? childrenInInversePaintOrder}) → void
Reconfigures the properties of this object to describe the configuration provided in the config argument and the children listed in the childrenInInversePaintOrder argument. [...]
visitChildren(SemanticsNodeVisitor visitor) → void
Visits the immediate children of this node. [...]


operator ==(Object other) bool
The equality operator. [...]