Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 41524d97b39bf5a4eebab351524cb582e4b28143
https://github.com/WebKit/WebKit/commit/41524d97b39bf5a4eebab351524cb582e4b28143
Author: Tyler Wilcock <[email protected]>
Date: 2026-03-17 (Tue, 17 Mar 2026)
Changed paths:
A
LayoutTests/http/tests/site-isolation/accessibility/client/search-backward-from-ignored-framehost-expected.txt
A
LayoutTests/http/tests/site-isolation/accessibility/client/search-backward-from-ignored-framehost.html
M Source/WebCore/accessibility/AXCrossProcessSearch.cpp
M Source/WebCore/accessibility/AXCrossProcessSearch.h
M Source/WebCore/accessibility/AXSearchManager.cpp
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/testing/Internals.h
M Source/WebCore/testing/Internals.idl
M
Source/WebKit/Resources/cocoa/NotificationAllowList/ForwardedNotifications.def
M
Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementClientMac.h
M
Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementClientMac.mm
Log Message:
-----------
AX: After interacting out of a remote frame, VoiceOver sometimes cannot
progress forwards or backwards with VO-Left / VO-Right
https://bugs.webkit.org/show_bug.cgi?id=310130
rdar://172768578
Reviewed by Joshua Hoffman.
When given an immediate-descendants search for an ignored anchor object (like a
FrameHost), we
used to return results, which can be a problem for ATs who may think that those
descendants
belong to the anchor, when in fact the anchor has no true descendants because
it is ignored and
thus not truly "in tree". In this specific case, VoiceOver tried to find the
search result
in the frame host's children, and of course cannot do so, causing broken
behavior.
Fix this by eagerly disallowing this type of search, returning empty results.
*
LayoutTests/http/tests/site-isolation/accessibility/client/search-backward-from-ignored-framehost-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/accessibility/client/search-backward-from-ignored-framehost.html:
Added.
* Source/WebCore/accessibility/AXCrossProcessSearch.cpp:
(WebCore::setShouldMockChildFrameSearchResultsForTesting):
(WebCore::shouldMockChildFrameSearchResultsForTesting):
(WebCore::performSearchWithCrossProcessCoordination):
* Source/WebCore/accessibility/AXCrossProcessSearch.h:
* Source/WebCore/accessibility/AXSearchManager.cpp:
(WebCore::AXSearchManager::findMatchingObjectsInternalAsStream):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(attributeValueForTesting):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setShouldMockChildFrameSearchResultsForTesting):
* Source/WebCore/testing/Internals.h:
* Source/WebCore/testing/Internals.idl:
*
Source/WebKit/Resources/cocoa/NotificationAllowList/ForwardedNotifications.def:
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementClientMac.h:
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementClientMac.mm:
(WTR::axCopyAttributeValueAsBoolean):
(WTR::AccessibilityUIElementClientMac::isIgnored const):
Canonical link: https://commits.webkit.org/309450@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications