[webkit-changes] [WebKit/WebKit] 280682: AX: Remove unnecessary AXProperty::SelectedChildren

Tyler Wilcock noreply at github.com
Thu Jan 2 07:25:53 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 28068289ec6f7379404b5ff52adbf07c18f06bdb
      https://github.com/WebKit/WebKit/commit/28068289ec6f7379404b5ff52adbf07c18f06bdb
  Author: Tyler Wilcock <tyler_w at apple.com>
  Date:   2025-01-02 (Thu, 02 Jan 2025)

  Changed paths:
    M LayoutTests/accessibility/combobox/combobox-active-element-selected-children-expected.txt
    M LayoutTests/accessibility/combobox/combobox-active-element-selected-children.html
    M LayoutTests/accessibility/combobox/mac/aria-combobox-activedescendant-expected.txt
    M LayoutTests/accessibility/combobox/mac/aria-combobox-activedescendant.html
    M LayoutTests/accessibility/list/list-active-element-selected-children-expected.txt
    M LayoutTests/accessibility/list/list-active-element-selected-children.html
    M LayoutTests/accessibility/list/listbox-active-element-selected-children-expected.txt
    M LayoutTests/accessibility/list/listbox-active-element-selected-children.html
    M LayoutTests/resources/accessibility-helper.js
    M Source/WebCore/accessibility/AXCoreObject.cpp
    M Source/WebCore/accessibility/AXCoreObject.h
    M Source/WebCore/accessibility/AXLogger.cpp
    M Source/WebCore/accessibility/AXObjectCache.cpp
    M Source/WebCore/accessibility/AccessibilityListBox.cpp
    M Source/WebCore/accessibility/AccessibilityListBox.h
    M Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp
    M Source/WebCore/accessibility/AccessibilityMenuListPopup.h
    M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityObject.h
    M Source/WebCore/accessibility/atspi/AccessibilityObjectSelectionAtspi.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp
    M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
    M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
    M Source/WebCore/inspector/InspectorAuditAccessibilityObject.cpp
    M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp

  Log Message:
  -----------
  AX: Remove unnecessary AXProperty::SelectedChildren
https://bugs.webkit.org/show_bug.cgi?id=285153
rdar://142037291

Reviewed by Chris Fleizach.

We can compute this property on-demand with information we have already cached off the main-thread. This change allows
us to do less up-front work when creating each object, and guarantees this property can never get stale (because it doesn't exist).
We also need to do less work when keeping the tree up-to-date (e.g. we no longer need to handle AXSelectedChildrenChanged in updateIsolatedTree).

* LayoutTests/accessibility/combobox/combobox-active-element-selected-children-expected.txt:
* LayoutTests/accessibility/combobox/combobox-active-element-selected-children.html:
* LayoutTests/accessibility/combobox/mac/aria-combobox-activedescendant-expected.txt:
* LayoutTests/accessibility/combobox/mac/aria-combobox-activedescendant.html:
* LayoutTests/accessibility/list/list-active-element-selected-children-expected.txt:
* LayoutTests/accessibility/list/list-active-element-selected-children.html:
* LayoutTests/accessibility/list/listbox-active-element-selected-children-expected.txt:
* LayoutTests/accessibility/list/listbox-active-element-selected-children.html:
* LayoutTests/resources/accessibility-helper.js:
* Source/WebCore/accessibility/AXCoreObject.cpp:
(WebCore::AXCoreObject::canHaveSelectedChildren const):
(WebCore::AXCoreObject::selectedChildren):
(WebCore::AXCoreObject::ariaListboxSelectedChildren):
(WebCore::AXCoreObject::ariaSelectedRows):
(WebCore::AXCoreObject::selectedListItems):
(WebCore::AXCoreObject::isActiveDescendantOfFocusedContainer const):
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
* Source/WebCore/accessibility/AccessibilityListBox.cpp:
(WebCore::AccessibilityListBox::selectedChildren): Deleted.
* Source/WebCore/accessibility/AccessibilityListBox.h:
* Source/WebCore/accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::selectedChildren): Deleted.
* Source/WebCore/accessibility/AccessibilityMenuListPopup.h:
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::textAsLabelFor const):
(WebCore::AccessibilityNodeObject::stringValue const):
(WebCore::accessibleNameForNode):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::ariaSelectedRows): Deleted.
(WebCore::AccessibilityObject::ariaListboxSelectedChildren): Deleted.
(WebCore::AccessibilityObject::canHaveSelectedChildren const): Deleted.
(WebCore::AccessibilityObject::selectedChildren): Deleted.
(WebCore::AccessibilityObject::selectedListItems): Deleted.
(WebCore::AccessibilityObject::isActiveDescendantOfFocusedContainer const): Deleted.
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::selectedChildren): Deleted.
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperties):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* Source/WebCore/inspector/InspectorAuditAccessibilityObject.cpp:
(WebCore::InspectorAuditAccessibilityObject::getSelectedChildNodes):
* Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list