Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f59caaa996fa2faaddb3a9675e90c2d9e962c6cc
https://github.com/WebKit/WebKit/commit/f59caaa996fa2faaddb3a9675e90c2d9e962c6cc
Author: Anne van Kesteren <[email protected]>
Date: 2026-10-08 (Thu, 08 Oct 2026)
Changed paths:
A
LayoutTests/accessibility/isolated-tree/mac/listbox-options-added-and-removed-expected.txt
A
LayoutTests/accessibility/isolated-tree/mac/listbox-options-added-and-removed.html
A
LayoutTests/accessibility/mac/listbox-options-added-and-removed-expected.txt
A LayoutTests/accessibility/mac/listbox-options-added-and-removed.html
M Source/WebCore/html/HTMLSelectElement.cpp
Log Message:
-----------
AX: list box accessibility children are not updated when options are added or
removed
https://bugs.webkit.org/show_bug.cgi?id=326674
rdar://189412211
Reviewed by Tyler Wilcock.
The accessibility children of a list box are its list items, which
RenderListBox paints itself,
so the render tree does not report changes to them. HTMLSelectElement used to
tell the
AXObjectCache when its list items changed. 292818@main replaced that with a
call in
ContainerNode::childrenChanged(), but AXObjectCache only handles that call for
nodes without a
renderer, and a list box has one. Since then, adding an option to a list box,
or removing one,
leaves its accessibility children stale. So does adding an option to a div in
it, and, with the
isolated tree, to one of its optgroups.
Notify the AXObjectCache again when the list items of a list box change.
Exempting list boxes
in AXObjectCache, as is done for canvas fallback content, would only handle
changes to the
children of the select, but list items can also be inside an optgroup or
another element.
Tests: accessibility/isolated-tree/mac/listbox-options-added-and-removed.html
accessibility/mac/listbox-options-added-and-removed.html
Canonical link: https://commits.webkit.org/323117@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications