scopesRoute constant

SemanticsFlag const scopesRoute

Whether the semantics node is the root of a subtree for which a route name should be announced.

When a node with this flag is removed from the semantics tree, the framework will select the last in depth-first, paint order node with this flag. When a node with this flag is added to the semantics tree, it is selected automatically, unless there were multiple nodes with this flag added. In this case, the last added node in depth-first, paint order will be selected.

From this selected node, the framework will search in depth-first, paint order for the first node with a namesRoute flag and a non-null, non-empty label. The namesRoute and scopesRoute flags may be on the same node. The label of the found node will be announced as an edge transition. If no non-empty, non-null label is found then:

  • VoiceOver will make a chime announcement.
  • TalkBack will make no announcement

Semantic nodes annotated with this flag are generally not a11y focusable.

This is used in widgets such as Routes, Drawers, and Dialogs to communicate significant changes in the visible screen.


static const SemanticsFlag scopesRoute = SemanticsFlag._(_kScopesRouteIndex, 'scopesRoute');