[webkit-changes] [WebKit/WebKit] f172d9: AX: Assistive technologies report the wrong row an...
Tyler Wilcock
noreply at github.com
Sat Jan 11 16:41:17 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f172d9ef0d9efd1bd9462ff801ce9bb8bcf54c5e
https://github.com/WebKit/WebKit/commit/f172d9ef0d9efd1bd9462ff801ce9bb8bcf54c5e
Author: Tyler Wilcock <tyler_w at apple.com>
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
More information about the webkit-changes
mailing list