Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1d898339cf40cb4413bb9ace932b45068d399595
https://github.com/WebKit/WebKit/commit/1d898339cf40cb4413bb9ace932b45068d399595
Author: Joshua Hoffman <[email protected]>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AXObjectCache.h
M Source/WebCore/accessibility/AXTextMarker.cpp
M Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp
M Source/WebCore/accessibility/AccessibilityList.cpp
M Source/WebCore/accessibility/AccessibilityMathMLElement.cpp
M Source/WebCore/accessibility/AccessibilityNodeObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.h
M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
M Source/WebCore/accessibility/AccessibilitySVGObject.cpp
M Source/WebCore/accessibility/AccessibilityTable.cpp
M Source/WebCore/accessibility/AccessibilityTableCell.cpp
M Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp
M Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm
M Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h
M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h
M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
Log Message:
-----------
AX: Use ElementName instead of TagName across live and isolated objects
https://bugs.webkit.org/show_bug.cgi?id=292996
rdar://151312403
Reviewed by Tyler Wilcock.
Our use of TagName on the isolated tree differed from our live tree tags, which
were qualified names/atom strings. This difference makes moving implementations
to AXCoreObject less graceful.
Moving to ElementName, a uint16_t, for both the live and isolated objects,
allows us
to share methods like hasElementName and elementName, without conversions
betweeen
types.
Because of this change, many places had to be updated to use Elements, rather
than
Nodes, which requires a downcast. This doesn't add complexity, however, because
previously when using `hasTagName`, we would have to downcast to HTMLElement
every
time. There were some cases I optimized as well, to only require one downcast
instead of one per tag-name check, which we would do in the past.
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::elementName):
(WebCore::isRowGroup):
(WebCore::isAccessibilityList):
(WebCore::AXObjectCache::handleChildrenChanged):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::traverseToOffsetInRange):
(WebCore::isReplacedNodeOrBR):
(WebCore::characterOffsetNodeIsBR):
(WebCore::canHaveRelations):
(WebCore::AXObjectCache::addLabelForRelation):
* Source/WebCore/accessibility/AXObjectCache.h:
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::AXTextMarker::boundaryPoint const):
* Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::parentTable const):
* Source/WebCore/accessibility/AccessibilityList.cpp:
(WebCore::AccessibilityList::isUnorderedList const):
(WebCore::AccessibilityList::isOrderedList const):
(WebCore::AccessibilityList::isDescriptionList const):
(WebCore::AccessibilityList::determineAccessibilityRoleWithCleanChildren):
* Source/WebCore/accessibility/AccessibilityMathMLElement.cpp:
(WebCore::AccessibilityMathMLElement::determineAccessibilityRole):
(WebCore::AccessibilityMathMLElement::addChildren):
(WebCore::AccessibilityMathMLElement::isMathText const):
(WebCore::AccessibilityMathMLElement::isMathNumber const):
(WebCore::AccessibilityMathMLElement::isMathIdentifier const):
(WebCore::AccessibilityMathMLElement::isMathMultiscript const):
(WebCore::AccessibilityMathMLElement::isMathTable const):
(WebCore::AccessibilityMathMLElement::isMathTableRow const):
(WebCore::AccessibilityMathMLElement::isMathTableCell const):
(WebCore::AccessibilityMathMLElement::mathUnderObject):
(WebCore::AccessibilityMathMLElement::mathOverObject):
(WebCore::AccessibilityMathMLElement::mathSubscriptObject):
(WebCore::AccessibilityMathMLElement::mathSuperscriptObject):
(WebCore::AccessibilityMathMLElement::mathPrescripts):
(WebCore::AccessibilityMathMLElement::mathPostscripts):
* Source/WebCore/accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAccessibilityRoleFromNode const):
(WebCore::AccessibilityNodeObject::addChildren):
(WebCore::AccessibilityNodeObject::canHaveChildren const):
(WebCore::AccessibilityNodeObject::computeIsIgnored const):
(WebCore::AccessibilityNodeObject::isNativeImage const):
(WebCore::AccessibilityNodeObject::headingTagLevel const):
(WebCore::AccessibilityNodeObject::isFieldset const):
(WebCore::nodeActionElement):
(WebCore::AccessibilityNodeObject::isGenericFocusableElement const):
(WebCore::AccessibilityNodeObject::captionForFigure const):
(WebCore::AccessibilityNodeObject::usesAltTagForTextComputation const):
(WebCore::AccessibilityNodeObject::visibleText const):
(WebCore::AccessibilityNodeObject::alternativeTextForWebArea const):
(WebCore::AccessibilityNodeObject::title const):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::hasRowGroupTag const):
(WebCore::AccessibilityObject::dependsOnTextUnderElement const):
(WebCore::AccessibilityObject::hasElementName const):
(WebCore::AccessibilityObject::supportsDatetimeAttribute const):
(WebCore::AccessibilityObject::elementName const):
(WebCore::AccessibilityObject::isStyleFormatGroup const):
(WebCore::AccessibilityObject::isFigureElement const):
(WebCore::AccessibilityObject::isOutput const):
(WebCore::AccessibilityObject::hasTagName const): Deleted.
(WebCore::AccessibilityObject::tagName const): Deleted.
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeIsIgnored const):
(WebCore::AccessibilityRenderObject::rootEditableElementForPosition const):
(WebCore::AccessibilityRenderObject::expandedTextValue const):
(WebCore::AccessibilityRenderObject::supportsExpandedTextValue const):
(WebCore::AccessibilityRenderObject::addCanvasChildren):
* Source/WebCore/accessibility/AccessibilitySVGObject.cpp:
(WebCore::AccessibilitySVGObject::inheritsPresentationalRole const):
* Source/WebCore/accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::isDataTable const):
(WebCore::AccessibilityTable::computeCellSlots):
* Source/WebCore/accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::computeIsIgnored const):
(WebCore::AccessibilityTableCell::isTableHeaderCell const):
(WebCore::AccessibilityTableCell::isColumnHeader const):
(WebCore::AccessibilityTableCell::isRowHeader const):
(WebCore::AccessibilityTableCell::titleUIElement const):
* Source/WebCore/accessibility/atspi/AccessibilityObjectAtspi.cpp:
(WebCore::AccessibilityObjectAtspi::attributes const):
* Source/WebCore/accessibility/ios/AccessibilityObjectIOS.mm:
(WebCore::blockquoteLevel):
* Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper isSVGGroupElement]):
(-[WebAccessibilityObjectWrapper detailParentForSummaryObject:]):
(-[WebAccessibilityObjectWrapper detailParentForObject:]):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeProperties):
(WebCore::AXIsolatedObject::setProperty):
(WebCore::AXIsolatedObject::hasRowGroupTag const):
(WebCore::AXIsolatedObject::headingTagLevel const):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::subrolePlatformString const):
Canonical link: https://commits.webkit.org/295005@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes