-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
The Semantics traversal order API has been implemented in the framework and on Android, but the iOS engine work still needs to be completed.
The engine now receives, for each semantics node, a "nextNodeId" which is the next node in the traversal order. On Android this calls setTraversalBefore to indicate the order, but on iOS there isn't a similar facility.
The place in the code that orders accessibility nodes is here. It currently orders them geometrically (upper left to lower right), but we don't want that (it doesn't respect directionality, or the custom ordering API in the framework).
In addition, it orders them only on the basis of ordering the children of each node, and not globally: the custom ordering is completely orthogonal to the widget hierarchy, and could order any semantics node after any other.
I think that an approach similar to the one given in stackoverflow here is a possible solution, but I don't know enough iOS development to know for sure.
This is part of implementing #12187