IndexedSemantics class

A widget that annotates the child semantics with an index.

Semantic indexes are used by TalkBack/Voiceover to make announcements about the current scroll state. Certain widgets like the ListView will automatically provide a child index for building semantics. A user may wish to manually provide semanitc indexes if not all child of the scrollable contribute semantics.

Sample code

The example below handles spacers in a scrollable that don't contribute semantics. The automatic indexes would give the spaces a semantic index, causing scroll announcements to erroneously state that there are four items visible.

ListView(
  addSemanticIndexes: false,
  semanticChildCount: 2,
  children: const <Widget>[
    IndexedSemantics(index: 0, child: Text('First')),
    Spacer(),
    IndexedSemantics(index: 1, child: Text('Second')),
    Spacer(),
  ],
)

See also:

Inheritance

Constructors

IndexedSemantics({Key key, @required int index, Widget child })
Creates a widget that annotated the first child semantics node with an index. [...]
const

Properties

index int
The index used to annotate the first child semantics node.
final
child Widget
The widget below this widget in the tree. [...]
final, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createRenderObject(BuildContext context) RenderIndexedSemantics
Creates an instance of the RenderObject class that this RenderObjectWidget represents, using the configuration described by this RenderObjectWidget. [...]
override
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
override
updateRenderObject(BuildContext context, covariant RenderIndexedSemantics renderObject) → void
Copies the configuration described by this RenderObjectWidget to the given RenderObject, which will be of the same type as returned by this object's createRenderObject. [...]
override
createElement() SingleChildRenderObjectElement
RenderObjectWidgets always inflate to a RenderObjectElement subclass.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
didUnmountRenderObject(covariant RenderObject renderObject) → void
A render object previously associated with this widget has been removed from the tree. The given RenderObject will be of the same type as returned by this object's createRenderObject.
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toDiagnosticsNode({String name, DiagnosticsTreeStyle style }) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this object.
inherited
toStringDeep({String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited