Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 753f2b89233a3e207383034641d41f1af99ffc4a
https://github.com/WebKit/WebKit/commit/753f2b89233a3e207383034641d41f1af99ffc4a
Author: Anne van Kesteren <[email protected]>
Date: 2026-10-15 (Thu, 15 Oct 2026)
Changed paths:
A
LayoutTests/accessibility/isolated-tree/mac/listbox-visible-children-expected.txt
A LayoutTests/accessibility/isolated-tree/mac/listbox-visible-children.html
A LayoutTests/accessibility/mac/listbox-visible-children-expected.txt
A LayoutTests/accessibility/mac/listbox-visible-children.html
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
Log Message:
-----------
AX: a scrolled list box reports its first options as its visible children
https://bugs.webkit.org/show_bug.cgi?id=327530
rdar://190019796
Reviewed by Tyler Wilcock.
306603@main made AccessibilityNodeObject::visibleChildren() approximate the
visible children of a
list box that RenderListBox doesn't render with its first options, as many as
its size. But that
approximation runs before the RenderListBox branch, so a native list box also
reports its first
options as visible, however far it is scrolled. With the isolated tree, the
visible children were
also computed once, when the object of a list box was created, and never
updated.
Ask RenderListBox which items are visible again. For other select list boxes,
return the children
whose boxes intersect the padding box of the select, in the coordinates of the
select, so that this
follows its scroll position. isOffScreen(), which ARIA list boxes use, and
elementRect() would also
count a row that only touches the padding box, as it overlaps the border of the
select or after
snapping to pixels. visibleChildren() isn't const, so its const_casts go away,
along with the
suppressions 323718@main added for them. The isolated tree no longer caches the
visible children. It
gets them from the main thread when asked, as it does for other values that
depend on geometry it
doesn't track.
Tests: accessibility/isolated-tree/mac/listbox-visible-children.html
accessibility/mac/listbox-visible-children.html
Canonical link: https://commits.webkit.org/323803@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications