Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d24a85185308d8cda1f94ae4300cd9bb2ba894e2
      
https://github.com/WebKit/WebKit/commit/d24a85185308d8cda1f94ae4300cd9bb2ba894e2
  Author: Tyler Wilcock <[email protected]>
  Date:   2026-10-01 (Thu, 01 Oct 2026)

  Changed paths:
    M LayoutTests/accessibility/aria-selected-menu-items.html
    M LayoutTests/accessibility/custom-elements/menuitem-expected.txt
    M LayoutTests/accessibility/custom-elements/menuitem-shadow-expected.txt
    M LayoutTests/accessibility/custom-elements/menuitem-shadow.html
    M LayoutTests/accessibility/custom-elements/menuitem.html
    M 
LayoutTests/accessibility/display-contents/descendant-menu-item-expected.txt
    M LayoutTests/accessibility/display-contents/descendant-menu-item.html
    M 
LayoutTests/accessibility/element-reflection-ariaactivedescendant-expected.txt
    M LayoutTests/accessibility/element-reflection-ariaactivedescendant.html
    M LayoutTests/accessibility/isolated-tree/aria-selected-menu-items.html
    M 
LayoutTests/accessibility/isolated-tree/custom-elements/menuitem-expected.txt
    M 
LayoutTests/accessibility/isolated-tree/custom-elements/menuitem-shadow-expected.txt
    M 
LayoutTests/accessibility/isolated-tree/custom-elements/menuitem-shadow.html
    M LayoutTests/accessibility/isolated-tree/custom-elements/menuitem.html
    M 
LayoutTests/accessibility/isolated-tree/display-contents/descendant-menu-item-expected.txt
    M 
LayoutTests/accessibility/isolated-tree/display-contents/descendant-menu-item.html
    M 
LayoutTests/accessibility/isolated-tree/element-reflection-ariaactivedescendant-expected.txt
    M 
LayoutTests/accessibility/isolated-tree/element-reflection-ariaactivedescendant.html
    A 
LayoutTests/accessibility/isolated-tree/mac/focused-aria-menu-item-is-not-selected-expected.txt
    A 
LayoutTests/accessibility/isolated-tree/mac/focused-aria-menu-item-is-not-selected.html
    A 
LayoutTests/accessibility/mac/focused-aria-menu-item-is-not-selected-expected.txt
    A LayoutTests/accessibility/mac/focused-aria-menu-item-is-not-selected.html
    M 
LayoutTests/platform/glib/accessibility/aria-selected-menu-items-expected.txt
    M 
LayoutTests/platform/mac/accessibility/aria-selected-menu-items-expected.txt
    M 
LayoutTests/platform/mac/accessibility/isolated-tree/aria-selected-menu-items-expected.txt
    M Source/WebCore/accessibility/AXCoreObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp

  Log Message:
  -----------
  AX: VoiceOver announces every focused ARIA menu item as "selected"
https://bugs.webkit.org/show_bug.cgi?id=325896
rdar://188185386

Reviewed by Dominic Mazzoni and Chris Fleizach.

AccessibilityObject::isSelected() treats a focused menu item, or the active 
descendant of its menu, as
selected, and AXCoreObject::selectedChildren() reports that item as its menu or 
menubar's selected child.
182638@main added this for ATK, which announces the highlighted menu item with 
a selected state change,
and enabled it on every platform.

VoiceOver announces the selected state of web menu items (e.g. the selected 
option of a base-appearance
select), so it announced every focused ARIA menu item as "selected", and 
checked ones as "selected,
ticked". iOS exposes isSelected() as the selected trait too. But ARIA menu 
items have no selected state,
and Chromium doesn't report focused menu items as selected either.

Fix this by keeping this behavior to ATSPI. Elsewhere, a menu item is only 
selected if it has
aria-selected="true", and a menu's selected children are its selected items, 
which is what a pop-up
button's menu already reported. A base-appearance select is unaffected.

Tests that checked aria-activedescendant support through a menubar's selected 
children now focus the
menubar and check that its active descendant becomes the focused element, which 
works on every platform.
The custom-elements menuitem tests and 
display-contents/descendant-menu-item.html now only expect the
active menu item to be selected on ATSPI, and aria-selected-menu-items.html's 
macOS expectations no longer
report focused or active menu items as selected.

* LayoutTests/accessibility/aria-selected-menu-items.html:
* LayoutTests/accessibility/custom-elements/menuitem-expected.txt:
* LayoutTests/accessibility/custom-elements/menuitem-shadow-expected.txt:
* LayoutTests/accessibility/custom-elements/menuitem-shadow.html:
* LayoutTests/accessibility/custom-elements/menuitem.html:
* LayoutTests/accessibility/display-contents/descendant-menu-item-expected.txt:
* LayoutTests/accessibility/display-contents/descendant-menu-item.html:
* 
LayoutTests/accessibility/element-reflection-ariaactivedescendant-expected.txt:
* LayoutTests/accessibility/element-reflection-ariaactivedescendant.html:
* LayoutTests/accessibility/isolated-tree/aria-selected-menu-items.html:
* LayoutTests/accessibility/isolated-tree/custom-elements/menuitem-expected.txt:
* 
LayoutTests/accessibility/isolated-tree/custom-elements/menuitem-shadow-expected.txt:
* LayoutTests/accessibility/isolated-tree/custom-elements/menuitem-shadow.html:
* LayoutTests/accessibility/isolated-tree/custom-elements/menuitem.html:
* 
LayoutTests/accessibility/isolated-tree/display-contents/descendant-menu-item-expected.txt:
* 
LayoutTests/accessibility/isolated-tree/display-contents/descendant-menu-item.html:
* 
LayoutTests/accessibility/isolated-tree/element-reflection-ariaactivedescendant-expected.txt:
* 
LayoutTests/accessibility/isolated-tree/element-reflection-ariaactivedescendant.html:
* 
LayoutTests/accessibility/isolated-tree/mac/focused-aria-menu-item-is-not-selected-expected.txt:
 Added.
* 
LayoutTests/accessibility/isolated-tree/mac/focused-aria-menu-item-is-not-selected.html:
 Added.
* 
LayoutTests/accessibility/mac/focused-aria-menu-item-is-not-selected-expected.txt:
 Added.
* LayoutTests/accessibility/mac/focused-aria-menu-item-is-not-selected.html: 
Added.
* LayoutTests/platform/glib/accessibility/aria-selected-menu-items-expected.txt:
* LayoutTests/platform/mac/accessibility/aria-selected-menu-items-expected.txt:
* 
LayoutTests/platform/mac/accessibility/isolated-tree/aria-selected-menu-items-expected.txt:
* Source/WebCore/accessibility/AXCoreObject.cpp:
(WebCore::AXCoreObject::canHaveSelectedChildren const):
(WebCore::AXCoreObject::selectedChildren):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isSelected const):

Canonical link: https://commits.webkit.org/322397@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to