[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