[webkit-changes] [WebKit/WebKit] b10496: AX: aria-controls-with-tabs fails in ITM

Joshua Hoffman noreply at github.com
Mon Aug 28 22:09:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b1049697ce8bd42217ddb507e245aad309847ec4
      https://github.com/WebKit/WebKit/commit/b1049697ce8bd42217ddb507e245aad309847ec4
  Author: hoffmanjoshua <jhoffman23 at apple.com>
  Date:   2023-08-28 (Mon, 28 Aug 2023)

  Changed paths:
    M LayoutTests/accessibility-isolated-tree/TestExpectations
    M LayoutTests/accessibility/aria-controls-with-tabs.html
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h

  Log Message:
  -----------
  AX: aria-controls-with-tabs fails in ITM
https://bugs.webkit.org/show_bug.cgi?id=260621
rdar://problem/114334241

Reviewed by Tyler Wilcock.

This patch addresses an issue where tabpanels with focus do not update the tabs that aria-control them.
This is addressed by adding a new method to traverse upwards in the tree to find a tabpanel ancestor
and recompute isSelected for its associated tab when the focus changes. This traversal happens twice:
once for the newly focused node and once for the previously focused node.

* LayoutTests/accessibility-isolated-tree/TestExpectations:
* LayoutTests/accessibility/aria-controls-with-tabs.html:
Test updated to use expectAsync rather than expect.

* Source/WebCore/accessibility/AXObjectCache.cpp:
* Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::handleTabPanelSelected):
New method to handle tabpanels gaining focus, called when the focus changes.

Canonical link: https://commits.webkit.org/267391@main




More information about the webkit-changes mailing list