[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