Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 42fadaaad75df0cc6d52416d2cc4403ed38c643b
      
https://github.com/WebKit/WebKit/commit/42fadaaad75df0cc6d52416d2cc4403ed38c643b
  Author: Tyler Wilcock <[email protected]>
  Date:   2024-04-30 (Tue, 30 Apr 2024)

  Changed paths:
    M 
LayoutTests/accessibility/ax-thread-text-apis/display-contents-end-text-marker.html
    M LayoutTests/accessibility/mac/malformed-table-expected.txt
    M LayoutTests/accessibility/mac/malformed-table.html
    M Source/WebCore/accessibility/AXTextMarker.cpp
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/accessibility/AccessibilityTable.cpp

  Log Message:
  -----------
  AX: Off-main-thread text markers don't include text inside table caption 
elements
https://bugs.webkit.org/show_bug.cgi?id=273442
rdar://problem/127258583

Reviewed by Chris Fleizach.

Prior to this patch, table caption text was skipped by the off-main-thread text 
marker implementation.
This happened because in the text marker appendChildren function (downstream of 
findObjectWithRuns), we
only considered a table's rows as candidates for finding text runs, not any 
caption.

Fixing this exposed an oddity in AccessibiltyTable::addChildren(). Despite 
caption elements needing to
be the first child of table elements (per spec) in the DOM, 
AccessibiltyTable::addChildren always added
them as the last child in the AX tree. This matters for the off-main-thread 
text marker implementation because
we traverse the AX tree in the order it's built to get the next object with 
text runs.

With this patch, we now insert the caption element into the AX tree when we 
find it as we traverse, same as every
other object (it will typically be first, minus any author error).

This removes one failure condition from 
ax-thread-text-apis/display-contents-end-text-marker.html.

* 
LayoutTests/accessibility/ax-thread-text-apis/display-contents-end-text-marker.html:
Remove one reason this test fails.
* LayoutTests/accessibility/mac/malformed-table-expected.txt:
* LayoutTests/accessibility/mac/malformed-table.html:
Re-write this test to our modern style. Add +1 to row index to account for 
captions now
being in the "right" place in the AX tree
* Source/WebCore/accessibility/AXTextMarker.cpp:
(WebCore::appendChildren):
* Source/WebCore/accessibility/AccessibilityObject.cpp:
(WebCore::Accessibility::appendChildrenToArray):
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
* Source/WebCore/accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):

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