Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: ef1d7119a4db5d2a8bd38b5ec902625a2cd9322d
https://github.com/WebKit/WebKit/commit/ef1d7119a4db5d2a8bd38b5ec902625a2cd9322d
Author: Dominic Mazzoni <[email protected]>
Date: 2026-08-13 (Thu, 13 Aug 2026)
Changed paths:
A
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline-expected.txt
A
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html
A
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline-expected.txt
A
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline.html
A
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline-expected.txt
A
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline.html
M LayoutTests/platform/ios/TestExpectations
M Source/WebCore/accessibility/AXCoreObject.h
M Source/WebCore/accessibility/AXLogger.cpp
M Source/WebCore/accessibility/AXObjectCache.cpp
M Source/WebCore/accessibility/AXTextMarker.cpp
M Source/WebCore/accessibility/AXTextMarker.h
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/AccessibilityObject.h
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/isolatedtree/mac/AXIsolatedObjectMac.mm
M Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
M Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
Log Message:
-----------
AX: live and isolated tree don't agree on several attributes when a textarea
ends in a line break
https://bugs.webkit.org/show_bug.cgi?id=321454
rdar://184544371
Reviewed by Tyler Wilcock.
The character count and text marker range weren't consistent between the live
tree and
isolated tree, for a textarea engine with a line break. Fix it by introducing a
new
isCollapsedTrailingLineBreak() method and corresponding isolated node property,
so
that it can be detected and stripped from the isolated tree.
Tests:
accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html
accessibility/mac/textarea-line-range-with-trailing-newline.html
accessibility/text-marker/textarea-character-count-with-trailing-newline.html
*
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline-expected.txt:
Added.
*
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html:
Added.
*
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline-expected.txt:
Added.
* LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline.html:
Added.
*
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline-expected.txt:
Added.
*
LayoutTests/accessibility/text-marker/textarea-character-count-with-trailing-newline.html:
Added.
* LayoutTests/platform/ios/TestExpectations:
* Source/WebCore/accessibility/AXCoreObject.h:
* Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::visiblePositionForTextMarkerData):
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::AXTextMarkerRange::forEachTextPiece const):
(WebCore::AXTextMarkerRange::length const):
(WebCore::AXTextMarkerRange::toString const):
(WebCore::AXTextMarker::characterRangeForLine const):
(WebCore::AXTextMarker::lineNumberForIndex const):
(WebCore::AXTextMarker::atLineBoundaryForDirection const):
(WebCore::AXTextMarker::findLine const):
* Source/WebCore/accessibility/AXTextMarker.h:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isCollapsedTrailingLineBreak const):
* Source/WebCore/accessibility/AccessibilityObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h:
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::createIsolatedObjectData):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h:
* Source/WebCore/accessibility/isolatedtree/mac/AXIsolatedObjectMac.mm:
(WebCore::AXIsolatedObject::visibleCharacterRange const):
(WebCore::AXIsolatedObject::textMarkerRangeForNSRange const):
(WebCore::AXIsolatedObject::textLength const):
* Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(handleLengthForTextMarkerRangeAttribute):
* Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElementIOS::lineTextMarkerRangeForTextMarker):
(WTR::AccessibilityUIElementIOS::misspellingTextMarkerRange):
(WTR::AccessibilityUIElementIOS::textMarkerRangeLength):
(WTR::AccessibilityUIElementIOS::previousTextMarker):
(WTR::AccessibilityUIElementIOS::nextTextMarker):
(WTR::AccessibilityUIElementIOS::stringForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::rectsForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElementIOS::startTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::endTextMarkerForTextMarkerRange):
(WTR::AccessibilityUIElementIOS::accessibilityElementForTextMarker):
(WTR::AccessibilityUIElementIOS::indexForTextMarker):
(WTR::AccessibilityUIElementIOS::textMarkerRangeMatchesTextNearMarkers):
Canonical link: https://commits.webkit.org/319133@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications