Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: efb294f5df0971dd60d1440060f0f07a9ff7e5f4
      
https://github.com/WebKit/WebKit/commit/efb294f5df0971dd60d1440060f0f07a9ff7e5f4
  Author: Joshua Hoffman <[email protected]>
  Date:   2025-04-15 (Tue, 15 Apr 2025)

  Changed paths:
    A LayoutTests/accessibility/mac/caret-browsing-soft-line-breaks-expected.txt
    A LayoutTests/accessibility/mac/caret-browsing-soft-line-breaks.html
    M LayoutTests/accessibility/mac/resources/accessibility-helper.js
    M Source/WebCore/accessibility/AXObjectCache.cpp

  Log Message:
  -----------
  AX: [AX Thread Text APIs] visible position text markers don't account for 
trimmed spaces
https://bugs.webkit.org/show_bug.cgi?id=291547
rdar://149249815

Reviewed by Tyler Wilcock.

In 293140@main, AXTextRuns started to include spaces that were trimmed at the 
end of runs. One fallout
from this is that when we convert Visible Positions to text markers, we don't 
take these trimmed spaces
into account. This means that in caret navigation, the text state change 
notifications that are being
sent don't properly account for these positions, creating some unexpected 
behavior.

To fix this, when converting from visible positions to text markers, we can 
look for DOM offset differences
when text box line's change, and determine when we have a trimmed space we need 
to account for. This is the
same mechanism we use to construct AXTextRuns.

* LayoutTests/accessibility/mac/caret-browsing-soft-line-breaks-expected.txt: 
Added.
* LayoutTests/accessibility/mac/caret-browsing-soft-line-breaks.html: Added.
* LayoutTests/accessibility/mac/resources/accessibility-helper.js:
(characterAtStartMarkerOfSelectedTextMarkerRange):
* Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):

Canonical link: https://commits.webkit.org/293717@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

Reply via email to