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

Reply via email to