[web:a11y] implement scopesRoute
and namesRoute
applied to separate nodes
#126030
Closed
2 tasks done
Labels
a: accessibility
Accessibility, e.g. VoiceOver or TalkBack. (aka a11y)
c: new feature
Nothing broken; request for a new capability
customer: huggsy (g3)
customer: samehere
engine
flutter/engine repository. See also e: labels.
P1
High-priority issues at the top of the work list
platform-web
Web applications specifically
Is there an existing issue for this?
Use case
Splitting off the discussion in flutter/engine#41681 into a standalone issue. That PR implements
scopesRoute
,namesRoute
andlabel
when all three are applied on the same node, in which case we use a combination ofaria-label
+role="dialog"
. However,scopesRoute
andnamesRoute
do not have to be on the same node, which requires a different strategy.Proposal
When
scopesRoute
andnamesRoute
are not on the same node, we look for the nearestscopesRoute
ancestor of thenamesRoute
node and setaria-labelledby
on the ancestor pointing down to the descendant.Example:
Consider the following hypothetical structure of the Flutter semantics tree:
This structure can be translated to ARIA tree as follows:
See also:
The text was updated successfully, but these errors were encountered: