[webkit-changes] [WebKit/WebKit] 9e2750: AX: VoiceOver doesn't read column headers of cells...

Tyler Wilcock noreply at github.com
Sun Sep 10 00:03:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9e27509d48e3165866b703bf1610fbdd76b5b44d
      https://github.com/WebKit/WebKit/commit/9e27509d48e3165866b703bf1610fbdd76b5b44d
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2023-09-10 (Sun, 10 Sep 2023)

  Changed paths:
    A LayoutTests/accessibility/display-contents/role-row-headers-expected.txt
    A LayoutTests/accessibility/display-contents/role-row-headers.html
    M LayoutTests/platform/glib/TestExpectations
    M LayoutTests/platform/mac-wk1/TestExpectations
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp
    M Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl
    M Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm

  Log Message:
  -----------
  AX: VoiceOver doesn't read column headers of cells within display:contents role="row" elements
https://bugs.webkit.org/show_bug.cgi?id=261353
rdar://problem/115190637

Reviewed by Chris Fleizach.

This happened due to a combination of two factors:

  1. Table header containers and table columns rely on inserting children
     for which they aren't the rightful parent in order to return the correct
     information from AX APIs

  2. AccessibilityObject::insertChild exits early if it detects a
     display:contents child is trying to be inserted by something other
     than it's rightful parent.

This patch makes an exception to rule 2 for table header containers and
table columns, resulting in display:contents elements matching the
behavior of non-display:contents elements.

* LayoutTests/accessibility/display-contents/role-row-headers-expected.txt: Added.
* LayoutTests/accessibility/display-contents/role-row-headers.html: Added.
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::insertChild):
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::columns):
* Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::columns):

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




More information about the webkit-changes mailing list