Title: [216134] trunk
- Revision
- 216134
- Author
- n_w...@apple.com
- Date
- 2017-05-03 12:33:19 -0700 (Wed, 03 May 2017)
Log Message
AX: VO skips cells after cell with aria-colspan
https://bugs.webkit.org/show_bug.cgi?id=171579
Reviewed by Chris Fleizach.
Source/WebCore:
We should consider the previous cells' column span value when
calculating the column index.
Test: accessibility/mac/aria-grid-column-span.html
* accessibility/AccessibilityARIAGridCell.cpp:
(WebCore::AccessibilityARIAGridCell::columnIndexRange):
LayoutTests:
* accessibility/mac/aria-grid-column-span-expected.txt: Added.
* accessibility/mac/aria-grid-column-span.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (216133 => 216134)
--- trunk/LayoutTests/ChangeLog 2017-05-03 19:27:09 UTC (rev 216133)
+++ trunk/LayoutTests/ChangeLog 2017-05-03 19:33:19 UTC (rev 216134)
@@ -1,3 +1,13 @@
+2017-05-03 Nan Wang <n_w...@apple.com>
+
+ AX: VO skips cells after cell with aria-colspan
+ https://bugs.webkit.org/show_bug.cgi?id=171579
+
+ Reviewed by Chris Fleizach.
+
+ * accessibility/mac/aria-grid-column-span-expected.txt: Added.
+ * accessibility/mac/aria-grid-column-span.html: Added.
+
2017-05-03 Ryan Haddad <ryanhad...@apple.com>
Mark http/tests/websocket/tests/hybi/inspector/binary.html as flaky.
Added: trunk/LayoutTests/accessibility/aria-grid-column-span-expected.txt (0 => 216134)
--- trunk/LayoutTests/accessibility/aria-grid-column-span-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/aria-grid-column-span-expected.txt 2017-05-03 19:33:19 UTC (rev 216134)
@@ -0,0 +1,17 @@
+Month Jan Mar
+Expenses 100 130 90
+This tests that cells that span multiple columns within an ARIA grid have correct column index range
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS cell1.role is 'AXRole: AXCell'
+PASS cell1.columnIndexRange() is '{1, 2}'
+PASS cell2.role is 'AXRole: AXCell'
+PASS cell2.columnIndexRange() is '{3, 1}'
+PASS cell3.role is 'AXRole: AXCell'
+PASS cell3.columnIndexRange() is '{2, 1}'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/accessibility/aria-grid-column-span.html (0 => 216134)
--- trunk/LayoutTests/accessibility/aria-grid-column-span.html (rev 0)
+++ trunk/LayoutTests/accessibility/aria-grid-column-span.html 2017-05-03 19:33:19 UTC (rev 216134)
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<style>
+div[role=grid] {
+ display: table;
+}
+div[role=row] {
+ display: table-row;
+}
+div[role=gridcell], div[role=rowheader] {
+ padding: 1em;
+ display:table-cell;
+}
+</style>
+<body id="body">
+
+<div role="grid">
+<div role="row">
+<div role="rowheader">Month</div>
+<div role="gridcell" id="cell1" aria-colspan="2">Jan</div>
+<div role="gridcell" id="cell2">Mar</div>
+</div>
+<div role="row">
+<div role="rowheader">Expenses</div>
+<div role="gridcell">100</div>
+<div role="gridcell" id="cell3">130</div>
+<div role="gridcell">90</div>
+</div>
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that cells that span multiple columns within an ARIA grid have correct column index range");
+
+ if (window.accessibilityController) {
+
+ var cell1 = accessibilityController.accessibleElementById("cell1");
+ shouldBe("cell1.role", "'AXRole: AXCell'");
+ shouldBe("cell1.columnIndexRange()", "'{1, 2}'");
+
+ var cell2 = accessibilityController.accessibleElementById("cell2");
+ shouldBe("cell2.role", "'AXRole: AXCell'");
+ shouldBe("cell2.columnIndexRange()", "'{3, 1}'");
+
+ // also test cell index without column span
+ var cell3 = accessibilityController.accessibleElementById("cell3");
+ shouldBe("cell3.role", "'AXRole: AXCell'");
+ shouldBe("cell3.columnIndexRange()", "'{2, 1}'");
+ }
+</script>
+
+<script src=""
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (216133 => 216134)
--- trunk/Source/WebCore/ChangeLog 2017-05-03 19:27:09 UTC (rev 216133)
+++ trunk/Source/WebCore/ChangeLog 2017-05-03 19:33:19 UTC (rev 216134)
@@ -1,3 +1,18 @@
+2017-05-03 Nan Wang <n_w...@apple.com>
+
+ AX: VO skips cells after cell with aria-colspan
+ https://bugs.webkit.org/show_bug.cgi?id=171579
+
+ Reviewed by Chris Fleizach.
+
+ We should consider the previous cells' column span value when
+ calculating the column index.
+
+ Test: accessibility/mac/aria-grid-column-span.html
+
+ * accessibility/AccessibilityARIAGridCell.cpp:
+ (WebCore::AccessibilityARIAGridCell::columnIndexRange):
+
2017-05-03 Jiewen Tan <jiewen_...@apple.com>
ASSERTION FAILED: m_scriptExecutionContext->isContextThread() seen with LayoutTest crypto/workers/crypto-random-values-limits-worker.html
Modified: trunk/Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp (216133 => 216134)
--- trunk/Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp 2017-05-03 19:27:09 UTC (rev 216133)
+++ trunk/Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp 2017-05-03 19:33:19 UTC (rev 216134)
@@ -143,11 +143,14 @@
const AccessibilityChildrenVector& siblings = parent->children();
unsigned childrenSize = siblings.size();
+ unsigned indexWithSpan = 0;
for (unsigned k = 0; k < childrenSize; ++k) {
- if (siblings[k].get() == this) {
- columnRange.first = k;
+ auto child = siblings[k].get();
+ if (child == this) {
+ columnRange.first = indexWithSpan;
break;
}
+ indexWithSpan += is<AccessibilityTableCell>(*child) ? std::max(downcast<AccessibilityTableCell>(*child).ariaColumnSpan(), 1) : 1;
}
// ARIA 1.1, aria-colspan attribute is intended for cells and gridcells which are not contained in a native table.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes