[webkit-changes] [WebKit/WebKit] 30687a: AX: Per spec, aria-controls should be exposed via ...

Tyler Wilcock noreply at github.com
Sat Jan 14 16:11:03 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 30687a5c5877fbf0d2418ba415c296c7552f91df
      https://github.com/WebKit/WebKit/commit/30687a5c5877fbf0d2418ba415c296c7552f91df
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2023-01-14 (Sat, 14 Jan 2023)

  Changed paths:
    M LayoutTests/accessibility-isolated-tree/TestExpectations
    M LayoutTests/accessibility/aria-controls-with-tabs-expected.txt
    M LayoutTests/accessibility/aria-controls-with-tabs.html
    M LayoutTests/accessibility/mac/relationships-in-frames.html
    M Source/WebCore/accessibility/AXLogger.cpp
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AXObjectCache.h
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
    M Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
    M Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm

  Log Message:
  -----------
  AX: Per spec, aria-controls should be exposed via AXLinkedUIElements and not AXARIAControls
https://bugs.webkit.org/show_bug.cgi?id=250625
rdar://problem/104265235

Reviewed by Chris Fleizach.

Per spec (https://www.w3.org/TR/core-aam-1.2), aria-controls should be exposed via AXLinkedUIElements
and not AXARIAControls (which is not a specced attribute). This patch implements that and removes
AXARIAControls entirely.

This patch also fixes a bug where AXPropertyName::IsSelected is not updated when aria-controls changes.
New testcases are added to aria-controls-with-tabs.html to cover this.

We still don't pass aria-controls-with-tabs.html in ITM because we need to update AXPropertyName::IsSelected
when focus changes. That change will come in a later patch.

* LayoutTests/accessibility-isolated-tree/TestExpectations:
* LayoutTests/accessibility/aria-controls-with-tabs-expected.txt:
* LayoutTests/accessibility/aria-controls-with-tabs.html:
* LayoutTests/accessibility/mac/relationships-in-frames.html:
Wait for dynamic change to aria-controls to propagate to the isolated tree.
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::linkedObjects const):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::ariaControlsElementAtIndex):
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):

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




More information about the webkit-changes mailing list