Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3ddf18520f0c97d18703a7ef07ed9813f18f0a5b
https://github.com/WebKit/WebKit/commit/3ddf18520f0c97d18703a7ef07ed9813f18f0a5b
Author: Dominic Mazzoni <[email protected]>
Date: 2026-10-12 (Mon, 12 Oct 2026)
Changed paths:
A
LayoutTests/accessibility/mac/client/focus-changed-notification-expected.txt
A LayoutTests/accessibility/mac/client/focus-changed-notification.html
A
LayoutTests/http/tests/site-isolation/accessibility/client/focus-changed-notification-in-iframe-expected.txt
A
LayoutTests/http/tests/site-isolation/accessibility/client/focus-changed-notification-in-iframe.html
A
LayoutTests/http/tests/site-isolation/accessibility/resources/iframe-with-two-text-inputs.html
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
M Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.h
M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
M Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm
M Tools/WebKitTestRunner/TestController.cpp
M Tools/WebKitTestRunner/TestController.h
Log Message:
-----------
AX: VoiceOver does not consistently follow focus changes in iframes with site
isolation on
https://bugs.webkit.org/show_bug.cgi?id=326906
rdar://189567901
Reviewed by Tyler Wilcock.
The fix is a simple change to WebProcess::accessibilityFocusedUIElement to
query the
accessibility element for the focused frame rather than the main frame.
However, properly testing this required some more infrastructure. This patch
adds
support for listening for client / native accessibility notifications from
layout
tests, enabling a test to listen for a notification even across multiple
processes,
and using the same client notification API that VoiceOver uses.
Tests: accessibility/mac/client/focus-changed-notification.html
http/tests/site-isolation/accessibility/client/focus-changed-notification-in-iframe.html
* LayoutTests/accessibility/mac/client/focus-changed-notification-expected.txt:
Added.
* LayoutTests/accessibility/mac/client/focus-changed-notification.html: Added.
*
LayoutTests/http/tests/site-isolation/accessibility/client/focus-changed-notification-in-iframe-expected.txt:
Added.
*
LayoutTests/http/tests/site-isolation/accessibility/client/focus-changed-notification-in-iframe.html:
Added.
*
LayoutTests/http/tests/site-isolation/accessibility/resources/iframe-with-two-text-inputs.html:
Added.
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::accessibilityFocusedUIElement):
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityController.h:
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityControllerMac.mm:
(WTR::AccessibilityController::addNotificationListener):
(WTR::AccessibilityController::removeNotificationListener):
(WTR::AccessibilityController::addClientNotificationListener):
(WTR::AccessibilityController::removeClientNotificationListener):
(WTR::AccessibilityController::clientNotificationReceived):
(WTR::AccessibilityController::resetToConsistentState):
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* Tools/WebKitTestRunner/TestController.h:
Canonical link: https://commits.webkit.org/323486@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications