Title: [152783] trunk
- Revision
- 152783
- Author
- [email protected]
- Date
- 2013-07-17 09:15:35 -0700 (Wed, 17 Jul 2013)
Log Message
Regression: columnheader/rowheader roles not exposed correctly
https://bugs.webkit.org/show_bug.cgi?id=113628
Reviewed by Tim Horton.
Source/WebCore:
When we determine the row and column headers we look at the ARIA role being returned, but
since TableCell overrides the determineAccessibilityRole method, the ARIA role is never set.
Test: platform/mac/accessibility/aria-columnrowheaders.html
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::determineAccessibilityRole):
LayoutTests:
* platform/mac/accessibility/aria-columnrowheaders-expected.txt: Added.
* platform/mac/accessibility/aria-columnrowheaders.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (152782 => 152783)
--- trunk/LayoutTests/ChangeLog 2013-07-17 15:34:44 UTC (rev 152782)
+++ trunk/LayoutTests/ChangeLog 2013-07-17 16:15:35 UTC (rev 152783)
@@ -1,3 +1,13 @@
+2013-07-17 Chris Fleizach <[email protected]>
+
+ Regression: columnheader/rowheader roles not exposed correctly
+ https://bugs.webkit.org/show_bug.cgi?id=113628
+
+ Reviewed by Tim Horton.
+
+ * platform/mac/accessibility/aria-columnrowheaders-expected.txt: Added.
+ * platform/mac/accessibility/aria-columnrowheaders.html: Added.
+
2013-07-17 Simon Pena <[email protected]>
[GTK] Make DRT obbey testRunner's addURLToRedirect
Added: trunk/LayoutTests/platform/mac/accessibility/aria-columnrowheaders-expected.txt (0 => 152783)
--- trunk/LayoutTests/platform/mac/accessibility/aria-columnrowheaders-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-columnrowheaders-expected.txt 2013-07-17 16:15:35 UTC (rev 152783)
@@ -0,0 +1,151 @@
+Placeholder content header 2 header 3
+obj1 obj2 obj3
+obj1 obj2 obj3
+This tests that ARIA rowheader and columnheader roles are identified correctly.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+AXRole: AXCell
+AXSubrole: (null)
+AXRoleDescription: cell
+AXChildren:
+AXHelp:
+AXParent:
+AXSize: NSSize: {124, 18}
+AXTitle:
+AXDescription:
+AXValue:
+AXFocused: 0
+AXEnabled: 1
+AXWindow:
+AXSelectedTextMarkerRange: (null)
+AXStartTextMarker:
+AXEndTextMarker:
+AXVisited: 0
+AXLinkedUIElements: (null)
+AXSelected: 0
+AXBlockQuoteLevel: 0
+AXTopLevelUIElement:
+AXRowIndexRange: NSRange: {0, 1}
+AXColumnIndexRange: NSRange: {0, 1}
+AXARIABusy: 0
+AXRequired: 0
+
+------------
+AXRole: AXCell
+AXSubrole: (null)
+AXRoleDescription: cell
+AXChildren:
+AXHelp:
+AXParent:
+AXSize: NSSize: {54, 18}
+AXTitle:
+AXDescription:
+AXValue:
+AXFocused: 0
+AXEnabled: 1
+AXWindow:
+AXSelectedTextMarkerRange: (null)
+AXStartTextMarker:
+AXEndTextMarker:
+AXVisited: 0
+AXLinkedUIElements: (null)
+AXSelected: 0
+AXBlockQuoteLevel: 0
+AXTopLevelUIElement:
+AXRowIndexRange: NSRange: {0, 1}
+AXColumnIndexRange: NSRange: {1, 1}
+AXARIABusy: 0
+AXRequired: 0
+
+------------
+AXRole: AXCell
+AXSubrole: (null)
+AXRoleDescription: cell
+AXChildren:
+AXHelp:
+AXParent:
+AXSize: NSSize: {54, 18}
+AXTitle:
+AXDescription:
+AXValue:
+AXFocused: 0
+AXEnabled: 1
+AXWindow:
+AXSelectedTextMarkerRange: (null)
+AXStartTextMarker:
+AXEndTextMarker:
+AXVisited: 0
+AXLinkedUIElements: (null)
+AXSelected: 0
+AXBlockQuoteLevel: 0
+AXTopLevelUIElement:
+AXRowIndexRange: NSRange: {0, 1}
+AXColumnIndexRange: NSRange: {2, 1}
+AXARIABusy: 0
+AXRequired: 0
+
+------------
+
+
+
+AXRole: AXCell
+AXSubrole: (null)
+AXRoleDescription: cell
+AXChildren:
+AXHelp:
+AXParent:
+AXSize: NSSize: {28, 18}
+AXTitle:
+AXDescription:
+AXValue:
+AXFocused: 0
+AXEnabled: 1
+AXWindow:
+AXSelectedTextMarkerRange: (null)
+AXStartTextMarker:
+AXEndTextMarker:
+AXVisited: 0
+AXLinkedUIElements: (null)
+AXSelected: 0
+AXBlockQuoteLevel: 0
+AXTopLevelUIElement:
+AXRowIndexRange: NSRange: {1, 1}
+AXColumnIndexRange: NSRange: {0, 1}
+AXARIABusy: 0
+AXRequired: 0
+
+------------
+AXRole: AXCell
+AXSubrole: (null)
+AXRoleDescription: cell
+AXChildren:
+AXHelp:
+AXParent:
+AXSize: NSSize: {28, 18}
+AXTitle:
+AXDescription:
+AXValue:
+AXFocused: 0
+AXEnabled: 1
+AXWindow:
+AXSelectedTextMarkerRange: (null)
+AXStartTextMarker:
+AXEndTextMarker:
+AXVisited: 0
+AXLinkedUIElements: (null)
+AXSelected: 0
+AXBlockQuoteLevel: 0
+AXTopLevelUIElement:
+AXRowIndexRange: NSRange: {2, 1}
+AXColumnIndexRange: NSRange: {0, 1}
+AXARIABusy: 0
+AXRequired: 0
+
+------------
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/platform/mac/accessibility/aria-columnrowheaders.html (0 => 152783)
--- trunk/LayoutTests/platform/mac/accessibility/aria-columnrowheaders.html (rev 0)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-columnrowheaders.html 2013-07-17 16:15:35 UTC (rev 152783)
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<div role="grid" id="grid">
+ <div role="row">
+ <span id="test" role="columnheader" aria-readonly="true">Placeholder content</span>
+ <span role="columnheader">header 2</span>
+ <span role="columnheader">header 3</span>
+ </div>
+
+ <div role="row">
+ <span role="rowheader" id="obj1">obj1</span>
+ <span role="gridcell">obj2</span>
+ <span role="gridcell">obj3</span>
+ </div>
+
+ <div role="row">
+ <span role="rowheader">obj1</span>
+ <span role="gridcell">obj2</span>
+ <span role="gridcell">obj3</span>
+ </div>
+</div>
+
+
+
+<div id="console"></div>
+
+<script>
+
+ description("This tests that ARIA rowheader and columnheader roles are identified correctly.");
+
+ if (window.accessibilityController) {
+
+ var grid = accessibilityController.accessibleElementById("grid");
+
+ debug(grid.attributesOfColumnHeaders());
+ debug("\n");
+ debug(grid.attributesOfRowHeaders());
+ }
+
+</script>
+
+<script src=""
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (152782 => 152783)
--- trunk/Source/WebCore/ChangeLog 2013-07-17 15:34:44 UTC (rev 152782)
+++ trunk/Source/WebCore/ChangeLog 2013-07-17 16:15:35 UTC (rev 152783)
@@ -1,3 +1,18 @@
+2013-07-17 Chris Fleizach <[email protected]>
+
+ Regression: columnheader/rowheader roles not exposed correctly
+ https://bugs.webkit.org/show_bug.cgi?id=113628
+
+ Reviewed by Tim Horton.
+
+ When we determine the row and column headers we look at the ARIA role being returned, but
+ since TableCell overrides the determineAccessibilityRole method, the ARIA role is never set.
+
+ Test: platform/mac/accessibility/aria-columnrowheaders.html
+
+ * accessibility/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::determineAccessibilityRole):
+
2013-07-17 Christophe Dumez <[email protected]>
Get rid of SVGPoint special case from the bindings generator
Modified: trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp (152782 => 152783)
--- trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp 2013-07-17 15:34:44 UTC (rev 152782)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp 2013-07-17 16:15:35 UTC (rev 152783)
@@ -96,8 +96,12 @@
AccessibilityRole AccessibilityTableCell::determineAccessibilityRole()
{
+ // Always call determineAccessibleRole so that the ARIA role is set.
+ // Even though this object reports a Cell role, the ARIA role will be used
+ // to determine if it's a column header.
+ AccessibilityRole defaultRole = AccessibilityRenderObject::determineAccessibilityRole();
if (!isTableCell())
- return AccessibilityRenderObject::determineAccessibilityRole();
+ return defaultRole;
return CellRole;
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes