do not count Hidden nodes at the beginning of the scrollable (flutter/engine#6381)
This commit is contained in:
@@ -720,17 +720,19 @@ class AccessibilityBridge
|
||||
event.setMaxScrollX((int) max);
|
||||
}
|
||||
if (object.scrollChildren > 0) {
|
||||
// We don't need to add 1 to the scroll index because TalkBack does this automagically.
|
||||
event.setItemCount(object.scrollChildren);
|
||||
event.setFromIndex(object.scrollIndex);
|
||||
int visibleChildren = object.childrenInHitTestOrder.size() - 1;
|
||||
// We assume that only children at the end of the list can be hidden.
|
||||
assert(!object.childrenInHitTestOrder.get(object.scrollIndex).hasFlag(Flag.IS_HIDDEN));
|
||||
for (; visibleChildren >= 0; visibleChildren--) {
|
||||
SemanticsObject child = object.childrenInHitTestOrder.get(visibleChildren);
|
||||
int visibleChildren = 0;
|
||||
// handle hidden children at the beginning and end of the list.
|
||||
for (SemanticsObject child : object.childrenInHitTestOrder) {
|
||||
if (!child.hasFlag(Flag.IS_HIDDEN)) {
|
||||
break;
|
||||
}
|
||||
visibleChildren += 1;
|
||||
}
|
||||
assert(object.scrollIndex + visibleChildren <= object.scrollChildren);
|
||||
assert(!object.childrenInHitTestOrder.get(object.scrollIndex).hasFlag(Flag.IS_HIDDEN));
|
||||
event.setToIndex(object.scrollIndex + visibleChildren);
|
||||
}
|
||||
sendAccessibilityEvent(event);
|
||||
|
||||
Reference in New Issue
Block a user