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