Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f172d9ef0d9efd1bd9462ff801ce9bb8bcf54c5e
      
https://github.com/WebKit/WebKit/commit/f172d9ef0d9efd1bd9462ff801ce9bb8bcf54c5e
  Author: Tyler Wilcock <[email protected]>
  Date:   2025-01-11 (Sat, 11 Jan 2025)

  Changed paths:
    A LayoutTests/accessibility/rowspan-zero-table-expected.txt
    A LayoutTests/accessibility/rowspan-zero-table.html
    A LayoutTests/platform/glib/accessibility/rowspan-zero-table-expected.txt
    M LayoutTests/platform/ios/TestExpectations
    A LayoutTests/platform/ios/accessibility/rowspan-zero-table-expected.txt
    M Source/WebCore/accessibility/AccessibilityTable.cpp
    M Source/WebCore/accessibility/AccessibilityTableCell.cpp

  Log Message:
  -----------
  AX: Assistive technologies report the wrong row and column information for 
tables who have cells with rowspan="0"
https://bugs.webkit.org/show_bug.cgi?id=285802
rdar://142747830

Reviewed by Chris Fleizach.

Accessibility implements the "Forming a table" algorithm for computing its cell 
slots:

https://html.spec.whatwg.org/multipage/tables.html#forming-a-table

In this model, rowspan="0" is a special value that states the cell should span 
all remaining rows.

Prior to recent change https://bugs.webkit.org/show_bug.cgi?id=185341, the 
visual rendering for rowspan="0" was not
correct — it equated the zero value to rowspan=1. So we did the same in the 
accessibility implementation, ensuring we
match what is visually rendered.

But with the change from bug 185341, the visual rendering now spans all 
remaining rows as is specified. This commit
updates the accessibility implementation of the algorithm to match. Fortunately 
this was pretty easy, since we already
implemented the algorithm for growing downwards cells 
(https://html.spec.whatwg.org/multipage/tables.html#algorithm-for-growing-downward-growing-cells)
for anything with a rowspan greater than 1. For rowspan=0, we just create a new 
`DownwardGrowingCell` with `remainingRowsToSpan`
equal to that of the max possible rowspan, allowing the cell to extend for as 
long as the table does.

* LayoutTests/accessibility/rowspan-zero-table-expected.txt: Added.
* LayoutTests/accessibility/rowspan-zero-table.html: Added.
* LayoutTests/platform/ios/TestExpectations: Enable new test.
* LayoutTests/platform/ios/accessibility/rowspan-zero-table-expected.txt: Added.
* Source/WebCore/accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::computeCellSlots):
* Source/WebCore/accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::rowSpan const):

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