[webkit-changes] [WebKit/WebKit] e7ad56: AX ITM: When a dialog pops up and focus is set to ...
AndresGonzalezApple
noreply at github.com
Mon Sep 11 18:03:26 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e7ad56900d13e92168a843d467321c0d4ea1c2c9
https://github.com/WebKit/WebKit/commit/e7ad56900d13e92168a843d467321c0d4ea1c2c9
Author: Andres Gonzalez <andresg_22 at apple.com>
Date: 2023-09-11 (Mon, 11 Sep 2023)
Changed paths:
M LayoutTests/accessibility/mac/aria-modal-auto-focus.html
M Source/WebCore/accessibility/AXObjectCache.cpp
Log Message:
-----------
AX ITM: When a dialog pops up and focus is set to a button inside the dialog, VoiceOver does not track the correct focused element.
https://bugs.webkit.org/show_bug.cgi?id=261424
<rdar://problem/115305551>
Reviewed by Tyler Wilcock.
Made the following test more thorough to cover this case:
* LayoutTests/accessibility/mac/aria-modal-auto-focus.html:
When the first dialog in this test is shown and the "new" button is focused, we receive a focus change notification for that element. However, that Node is subsequently removed and no further focus change notification is fired. Thus the cached focused object ID doesn't match any existing object and therefore the tree returns no focused object. This patch addresses the problem by resetting the focused Object ID when a dialog changes its show/hide state which is already being tracked with the flag m_deferredRegenerateIsolatedTree.
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::setIsolatedTreeFocusedObject):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
Canonical link: https://commits.webkit.org/267887@main
More information about the webkit-changes
mailing list