Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5a62df176e3b50f969cef1d86afff9c007a0f2f1
https://github.com/WebKit/WebKit/commit/5a62df176e3b50f969cef1d86afff9c007a0f2f1
Author: Tyler Wilcock <[email protected]>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
A LayoutTests/accessibility/aria-actions-ignored-target-expected.txt
A LayoutTests/accessibility/aria-actions-ignored-target.html
M LayoutTests/platform/glib/TestExpectations
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
Log Message:
-----------
AX: VoiceOver does not expose aria-actions custom actions when the action
target is accessibility-ignored
https://bugs.webkit.org/show_bug.cgi?id=316854
rdar://179286650
Reviewed by Dominic Mazzoni.
When an element with aria-actions points at action targets that are themselves
accessibility-ignored, VoiceOver exposed no custom actions for the source
element,
even though the relation itself was built and synced correctly.
This happened whenever the action target was ignored. As an optimization, we
cache
only a limited set of properties for nodes that are ignored, unless they are
"unconnected" nodes (not in the exposed tree) that are part of a relation.
However, we failed to add the ignored object into
AXIsolatedTree::m_unconnectedNodes
until after the oject had already been created, defeating the behavior of
caching all
properties for objects in relations. Because we didn't cache all properties for
these
objects, they computed an empty accname, and thus were not allowed to be
exposed as actions.
This fix is simple: add to m_unconnectedNodes before creating the isolated
object.
* LayoutTests/accessibility/aria-actions-ignored-target-expected.txt: Added.
* LayoutTests/accessibility/aria-actions-ignored-target.html: Added.
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::addUnconnectedNode):
Canonical link: https://commits.webkit.org/315097@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications