Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 40976d39a2c1327795871923d5f90f7329d20537
https://github.com/WebKit/WebKit/commit/40976d39a2c1327795871923d5f90f7329d20537
Author: Dominic Mazzoni <[email protected]>
Date: 2026-08-27 (Thu, 27 Aug 2026)
Changed paths:
A
LayoutTests/accessibility/isolated-tree/mac/line-for-index-at-end-of-value-expected.txt
A
LayoutTests/accessibility/isolated-tree/mac/line-for-index-at-end-of-value.html
A
LayoutTests/accessibility/isolated-tree/mac/range-for-line-trailing-blank-line-expected.txt
A
LayoutTests/accessibility/isolated-tree/mac/range-for-line-trailing-blank-line.html
M
LayoutTests/accessibility/isolated-tree/mac/range-for-line-with-block-line-breaks-expected.txt
M
LayoutTests/accessibility/isolated-tree/mac/range-for-line-with-block-line-breaks.html
M
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-after-dynamic-edit-expected.txt
M
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-after-dynamic-edit.html
M
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline-expected.txt
M
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html
A
LayoutTests/accessibility/isolated-tree/textarea-line-for-index-expected.txt
A LayoutTests/accessibility/isolated-tree/textarea-line-for-index.html
A LayoutTests/accessibility/mac/line-for-index-at-end-of-value-expected.txt
A LayoutTests/accessibility/mac/line-for-index-at-end-of-value.html
M
LayoutTests/accessibility/mac/range-for-line-trailing-blank-line-expected.txt
M LayoutTests/accessibility/mac/range-for-line-trailing-blank-line.html
M
LayoutTests/accessibility/mac/range-for-line-with-block-line-breaks-expected.txt
M LayoutTests/accessibility/mac/range-for-line-with-block-line-breaks.html
M
LayoutTests/accessibility/mac/textarea-line-range-after-dynamic-edit-expected.txt
M LayoutTests/accessibility/mac/textarea-line-range-after-dynamic-edit.html
M
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline-expected.txt
M
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline.html
M LayoutTests/accessibility/textarea-line-for-index-expected.txt
M Source/WebCore/accessibility/AXTextMarker.cpp
M Source/WebCore/accessibility/AccessibilityObject.cpp
M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
Log Message:
-----------
AX: AXLineForIndex fails when passed an index equal to the length of the field
https://bugs.webkit.org/show_bug.cgi?id=322690
rdar://185961392
Reviewed by Tyler Wilcock.
If there are n characters in a text field, then AXLineForIndex should
return a valid line index range for 0...n, inclusive. AXInsertionPointLineNumber
already handled this case correctly.
There were two separate bugs:
AccessibilityObject::doAXLineForIndex passed lastIndexOK = false to
AccessibilityRenderObject::visiblePositionForIndex, so it returned null instead
of a valid VisiblePosition at the text length.
AXTextMarker::lineNumberForIndex walked lines and asked whether the index fell
inside one, but the index at the very end of the last line fell outside every
line.
Also found and fixed while writing these tests:
AXIsolatedObject::insertionPointLineNumber
failed for a multiline field with no text, now fixed to return 0.
Tests: accessibility/isolated-tree/mac/line-for-index-at-end-of-value.html
accessibility/isolated-tree/mac/range-for-line-trailing-blank-line.html
accessibility/isolated-tree/textarea-line-for-index.html
accessibility/mac/line-for-index-at-end-of-value.html
*
LayoutTests/accessibility/isolated-tree/mac/line-for-index-at-end-of-value-expected.txt:
Added.
*
LayoutTests/accessibility/isolated-tree/mac/line-for-index-at-end-of-value.html:
Added.
*
LayoutTests/accessibility/isolated-tree/mac/range-for-line-trailing-blank-line-expected.txt:
Copied from
LayoutTests/accessibility/mac/range-for-line-trailing-blank-line-expected.txt.
*
LayoutTests/accessibility/isolated-tree/mac/range-for-line-trailing-blank-line.html:
Copied from
LayoutTests/accessibility/mac/range-for-line-trailing-blank-line.html.
*
LayoutTests/accessibility/isolated-tree/mac/range-for-line-with-block-line-breaks-expected.txt:
*
LayoutTests/accessibility/isolated-tree/mac/range-for-line-with-block-line-breaks.html:
*
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-after-dynamic-edit-expected.txt:
*
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-after-dynamic-edit.html:
*
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline-expected.txt:
*
LayoutTests/accessibility/isolated-tree/mac/textarea-line-range-with-trailing-newline.html:
* LayoutTests/accessibility/isolated-tree/textarea-line-for-index-expected.txt:
Copied from LayoutTests/accessibility/textarea-line-for-index-expected.txt.
* LayoutTests/accessibility/isolated-tree/textarea-line-for-index.html: Added.
* LayoutTests/accessibility/mac/line-for-index-at-end-of-value-expected.txt:
Added.
* LayoutTests/accessibility/mac/line-for-index-at-end-of-value.html: Added.
* LayoutTests/accessibility/mac/range-for-line-trailing-blank-line-expected.txt:
* LayoutTests/accessibility/mac/range-for-line-trailing-blank-line.html:
*
LayoutTests/accessibility/mac/range-for-line-with-block-line-breaks-expected.txt:
* LayoutTests/accessibility/mac/range-for-line-with-block-line-breaks.html:
*
LayoutTests/accessibility/mac/textarea-line-range-after-dynamic-edit-expected.txt:
* LayoutTests/accessibility/mac/textarea-line-range-after-dynamic-edit.html:
*
LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline-expected.txt:
* LayoutTests/accessibility/mac/textarea-line-range-with-trailing-newline.html:
* LayoutTests/accessibility/textarea-line-for-index-expected.txt:
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::AXTextMarker::lineNumberForIndex const):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::doAXLineForIndex):
* Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::insertionPointLineNumber const):
Canonical link: https://commits.webkit.org/319963@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications