[webkit-changes] [WebKit/WebKit] ee7f5c: Make AXCoreObject::visibleChildren, AXCoreObject::...

Tyler Wilcock noreply at github.com
Mon Apr 17 09:49:01 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ee7f5c504b704506aa8f20d7b81e1d281fdeb1d9
      https://github.com/WebKit/WebKit/commit/ee7f5c504b704506aa8f20d7b81e1d281fdeb1d9
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2023-04-17 (Mon, 17 Apr 2023)

  Changed paths:
    M LayoutTests/accessibility/presentational-children-expected.txt
    M LayoutTests/accessibility/presentational-children.html
    M Source/WebCore/accessibility/AccessibilityListBox.cpp
    M Source/WebCore/accessibility/AccessibilityListBox.h
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/accessibility/AccessibilityNodeObject.h
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/AccessibilityObjectInterface.h
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm

  Log Message:
  -----------
  Make AXCoreObject::visibleChildren, AXCoreObject::isPresentationalChildOfAriaRole, and AXCoreObject::ariaRoleHasPresentationalChildren work for display:contents elements
https://bugs.webkit.org/show_bug.cgi?id=255371
rdar://problem/107962942

Reviewed by Chris Fleizach and Andres Gonzalez.

None of these methods inherently require a renderer, but are still only
implemented for AccessibilityRenderObject, meaning they won't work for
display:contents elements. This patch fixes this by moving the
implementations to the appropriate base class for each method.

Other significant changes worth mentioning:
  1. `visibleChildren` for ARIA listboxes had a bug where it selected
     children that were `isOffScreen` rather than `!isOffScreen`.
  2. NSAccessibilityVisibleChildrenAttribute was removed as a supported
     attribute for menus and menu bars since we always return nil for
     this combination of role and attribute.

* LayoutTests/accessibility/presentational-children-expected.txt:
* LayoutTests/accessibility/presentational-children.html:
* Source/WebCore/accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::visibleChildren):
* Source/WebCore/accessibility/AccessibilityListBox.h:
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleChildren):
* Source/WebCore/accessibility/AccessibilityNodeObject.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren const):
(WebCore::AccessibilityObject::isPresentationalChildOfAriaRole const):
* Source/WebCore/accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isPresentationalChildOfAriaRole const): Deleted.
(WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren const): Deleted.
* Source/WebCore/accessibility/AccessibilityObjectInterface.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole const): Deleted.
(WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren const): Deleted.
(WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren): Deleted.
(WebCore::AccessibilityRenderObject::visibleChildren): Deleted.
* Source/WebCore/accessibility/AccessibilityRenderObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

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




More information about the webkit-changes mailing list