Diff
Modified: trunk/LayoutTests/ChangeLog (174566 => 174567)
--- trunk/LayoutTests/ChangeLog 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/ChangeLog 2014-10-10 08:32:58 UTC (rev 174567)
@@ -1,3 +1,29 @@
+2014-10-10 Andrzej Badowski <[email protected]>
+
+ [ATK] Changing the mapping of ARIA rowheader and columnheader into respective ATK roles.
+ https://bugs.webkit.org/show_bug.cgi?id=136150
+
+ Reviewed by Chris Fleizach.
+
+ Minor changes in the roles-exposed test to check the mapping of rowheader and columnheader.
+ As a result of changes in the code test also shows the changes for the <th> element.
+ Changes expectations so that they cover propoer mapping of RowHeaderRole and ColumnHeaderRole.
+
+ * accessibility/aria-tables-expected.txt:
+ * accessibility/roles-exposed.html:
+ * accessibility/table-roles-hierarchy-expected.txt: Added.
+ * accessibility/table-roles-hierarchy.html: Added.
+ * platform/efl/accessibility/roles-exposed-expected.txt: Added.
+ * platform/efl/accessibility/table-attributes-expected.txt:
+ * platform/efl/accessibility/table-cells-expected.txt:
+ * platform/efl/accessibility/table-detection-expected.txt:
+ * platform/gtk/accessibility/roles-exposed-expected.txt: Added.
+ * platform/gtk/accessibility/table-attributes-expected.txt:
+ * platform/gtk/accessibility/table-cells-expected.txt:
+ * platform/gtk/accessibility/table-sections-expected.txt:
+ * platform/mac/accessibility/aria-tables-expected.txt: Copied from LayoutTests/accessibility/aria-tables-expected.txt.
+ * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Added.
+
2014-10-09 Simon Fraser <[email protected]>
Rename some tests that oddly had -html.html suffixes.
Modified: trunk/LayoutTests/accessibility/aria-tables-expected.txt (174566 => 174567)
--- trunk/LayoutTests/accessibility/aria-tables-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/accessibility/aria-tables-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -12,9 +12,9 @@
cell
AXRole: AXTable
AXRole: AXTable
+AXRole: AXColumnHeader
+AXRole: AXColumnHeader
+AXRole: AXRowHeader
AXRole: AXCell
-AXRole: AXCell
-AXRole: AXCell
-AXRole: AXCell
Test passed
Modified: trunk/LayoutTests/accessibility/roles-exposed.html (174566 => 174567)
--- trunk/LayoutTests/accessibility/roles-exposed.html 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/accessibility/roles-exposed.html 2014-10-10 08:32:58 UTC (rev 174567)
@@ -206,8 +206,8 @@
<!-- [ATK] Object not exposed (webkit.org/b/125491) --><div data-platform="mac" role="rowgroup" class="ex">
<!-- [ATK] Object not exposed (webkit.org/b/125491) --><div data-platform="mac" role="row" class="ex">
<!-- Note: diff between rowheader, columnheader, and gridcell is in cross-reference from grid; need additional non-role verification in another test. -->
- <!-- [ATK] Wrong role (webkit.org/b/125493) --><div data-platform="mac" role="rowheader" class="ex">X</div>
- <!-- [ATK] Wrong role (webkit.org/b/125493) --><div data-platform="mac" role="columnheader" class="ex">X</div>
+ <div data-platform="atk,mac" role="rowheader" class="ex">X</div>
+ <div data-platform="atk,mac" role="columnheader" class="ex">X</div>
<div data-platform="atk,mac" role="gridcell" class="ex">X</div>
</div>
</div>
@@ -270,8 +270,8 @@
<!-- [ATK] Object not exposed (webkit.org/b/125491) --><div role="rowgroup" data-platform="mac" class="ex">
<!-- [ATK] Object not exposed (webkit.org/b/125491) --><div role="row" data-platform="mac" class="ex">
<!-- Note: diff between rowheader, columnheader, and gridcell is in cross-reference from grid; need additional non-role verification in another test. -->
- <!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="rowheader" data-platform="mac" class="ex">X</div>
- <!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="columnheader" data-platform="mac" class="ex">X</div>
+ <div role="rowheader" data-platform="atk,mac" class="ex">X</div>
+ <div role="columnheader" data-platform="atk,mac" class="ex">X</div>
<div role="gridcell" data-platform="atk,mac" class="ex">X</div>
</div>
</div>
Added: trunk/LayoutTests/accessibility/table-roles-hierarchy-expected.txt (0 => 174567)
--- trunk/LayoutTests/accessibility/table-roles-hierarchy-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/table-roles-hierarchy-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -0,0 +1,26 @@
+No Country Capital
+1. Poland Warsaw
+2. Russia Moscow
+3. Ukraine Kiev
+All 3 countries 3 capitals
+
+
+This shows the hierarchy of table roles.
+
+role: AXRole: AXTable
+ role: AXRole: AXColumnHeader
+ role: AXRole: AXColumnHeader
+ role: AXRole: AXColumnHeader
+ role: AXRole: AXRowHeader
+ role: AXRole: AXCell
+ role: AXRole: AXCell
+ role: AXRole: AXRowHeader
+ role: AXRole: AXCell
+ role: AXRole: AXCell
+ role: AXRole: AXRowHeader
+ role: AXRole: AXCell
+ role: AXRole: AXCell
+ role: AXRole: AXRowHeader
+ role: AXRole: AXCell
+ role: AXRole: AXCell
+
Added: trunk/LayoutTests/accessibility/table-roles-hierarchy.html (0 => 174567)
--- trunk/LayoutTests/accessibility/table-roles-hierarchy.html (rev 0)
+++ trunk/LayoutTests/accessibility/table-roles-hierarchy.html 2014-10-10 08:32:58 UTC (rev 174567)
@@ -0,0 +1,95 @@
+<html>
+<head>
+ <script src=""
+ <script>
+ var tableAXObject;
+ var indentLevel = 0;
+
+ if (window.testRunner) {
+ testRunner.dumpAsText();
+ }
+
+ function indent(count) {
+ var spaces = " ";
+ return spaces.substr(0, count);
+ }
+
+ function dumpObject(axObject) {
+ debug(indent(indentLevel) + "role: " + axObject.role);
+ if (axObject.subrole && axObject.subrole != 'AXSubrole: ') debug(indent(indentLevel) + "subrole: " + axObject.subrole);
+ }
+
+ function dumpChildren(axObject) {
+ var count = axObject.childrenCount
+ if (!count)
+ return;
+
+ indentLevel += 4;
+ for (var ndx = 0; ndx < count; ndx++) {
+ var childAXObject = axObject.childAtIndex(ndx);
+ dumpObject(childAXObject);
+ if (childAXObject.childrenCount) {
+ // don't bother dumping static text children
+ if (childAXObject.role != "AXRole: AXStaticText")
+ dumpChildren(childAXObject);
+ }
+ }
+ indentLevel -= 4;
+ }
+ function dumpTableAX()
+ {
+ if (!window.accessibilityController)
+ return;
+ var table = accessibilityController.accessibleElementById("table1");
+
+ dumpObject(table);
+ dumpChildren(table);
+ }
+ </script>
+</head>
+<body _onload_="dumpTableAX()">
+
+<table id="table1">
+ <thead>
+ <tr>
+ <th>No</th>
+ <th>Country</th>
+ <th>Capital</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <th>1.</th>
+ <td>Poland</td>
+ <td>Warsaw</td>
+ </tr>
+ <tr>
+ <th>2.</th>
+ <td>Russia</td>
+ <td>Moscow</td>
+ </tr>
+ <tr>
+ <th>3.</th>
+ <td>Ukraine</td>
+ <td>Kiev</td>
+ </tr>
+ </tbody>
+ <tfoot>
+ <tr>
+ <th>All</th>
+ <td>3 countries</td>
+ <td>3 capitals</td>
+ </tr>
+ </tfoot>
+</table>
+
+<br>
+<br>
+<br>
+
+<p>This shows the hierarchy of table roles.</p>
+
+<div id=console></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/platform/efl/accessibility/roles-exposed-expected.txt (0 => 174567)
--- trunk/LayoutTests/platform/efl/accessibility/roles-exposed-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/efl/accessibility/roles-exposed-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -0,0 +1,397 @@
+ X
+This tests that native elements and ARIA overrides result in the expected role, subrole and role description.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+a[href]
+ AXRole: AXLink
+
+address
+ AXRole: AXLandmarkContentInfo
+
+article
+ AXRole: AXArticle
+
+aside
+ AXRole: AXLandmarkComplementary
+
+blockquote
+ AXRole: AXGroup
+
+button
+ AXRole: AXButton
+
+dl
+ AXRole: AXDescriptionList
+
+dt
+ AXRole: AXDescriptionTerm
+
+dd
+ AXRole: AXDescriptionValue
+
+div
+ AXRole: AXSection
+
+fieldset
+ AXRole: AXGroup
+
+legend
+ AXRole: AXLabel
+
+form
+ AXRole: AXForm
+
+header
+ AXRole: AXLandmarkBanner
+
+hgroup
+ AXRole: AXGroup
+
+h1
+ AXRole: AXHeading
+
+h2
+ AXRole: AXHeading
+
+h3
+ AXRole: AXHeading
+
+h4
+ AXRole: AXHeading
+
+h5
+ AXRole: AXHeading
+
+h6
+ AXRole: AXHeading
+
+hr
+ AXRole: AXSeparator
+
+img[alt='X']
+ AXRole: AXImage
+
+input[type='button']
+ AXRole: AXButton
+
+input[type='checkbox']
+ AXRole: AXCheckBox
+
+input[type='date']
+ AXRole: AXTextField
+
+input[type='datetime']
+ AXRole: AXTextField
+
+input[type='datetime-local']
+ AXRole: AXTextField
+
+input[type='email']
+ AXRole: AXTextField
+
+input[type='file']
+ AXRole: AXButton
+
+input[type='image']
+ AXRole: AXButton
+
+input[type='month']
+ AXRole: AXTextField
+
+input[type='number']
+ AXRole: AXTextField
+
+input[type='password']
+ AXRole: AXPasswordField
+
+input[type='radio']
+ AXRole: AXRadioButton
+
+input[type='range']
+ AXRole: AXSlider
+
+input[type='reset']
+ AXRole: AXButton
+
+input[type='search']
+ AXRole: AXTextField
+
+input[type='submit']
+ AXRole: AXButton
+
+input[type='tel']
+ AXRole: AXTextField
+
+input[type='text']
+ AXRole: AXTextField
+
+input[type='time']
+ AXRole: AXTextField
+
+input[type='url']
+ AXRole: AXTextField
+
+input[type='week']
+ AXRole: AXTextField
+
+math
+ AXRole: AXMath
+
+nav
+ AXRole: AXLandmarkNavigation
+
+ol
+ AXRole: AXList
+
+li
+ AXRole: AXListItem
+
+p
+ AXRole: AXParagraph
+
+pre
+ AXRole: AXGroup
+
+progress
+ AXRole: AXProgressIndicator
+
+select:not([multiple])
+ AXRole: AXComboBox
+
+select[multiple]
+ AXRole: AXList
+
+option
+ AXRole: AXListItem
+
+optgroup
+ AXRole: AXListItem
+
+table
+ AXRole: AXTable
+
+th
+ AXRole: AXColumnHeader
+
+td
+ AXRole: AXCell
+
+th
+ AXRole: AXRowHeader
+
+textarea
+ AXRole: AXTextField
+
+ul
+ AXRole: AXList
+
+li
+ AXRole: AXListItem
+
+div[role=command]
+ AXRole: AXSection
+
+div[role=composite]
+ AXRole: AXSection
+
+div[role=input]
+ AXRole: AXSection
+
+div[role=landmark]
+ AXRole: AXSection
+
+div[role=range]
+ AXRole: AXSection
+
+div[role=roletype]
+ AXRole: AXSection
+
+div[role=section]
+ AXRole: AXSection
+
+div[role=sectionhead]
+ AXRole: AXSection
+
+div[role=select]
+ AXRole: AXSection
+
+div[role=structure]
+ AXRole: AXSection
+
+div[role=widget]
+ AXRole: AXSection
+
+div[role=window]
+ AXRole: AXSection
+
+div[role=alert]
+ AXRole: AXAlert
+
+div[role=alertdialog]
+ AXRole: AXAlert
+
+div[role=application]
+ AXRole: AXEmbedded
+
+div[role=article]
+ AXRole: AXArticle
+
+div[role=banner]
+ AXRole: AXLandmarkBanner
+
+div[role=button]
+ AXRole: AXButton
+
+div[role=checkbox]
+ AXRole: AXCheckBox
+
+div[role=combobox]
+ AXRole: AXComboBox
+
+div[role=complementary]
+ AXRole: AXLandmarkComplementary
+
+div[role=contentinfo]
+ AXRole: AXLandmarkContentInfo
+
+div[role=definition]
+ AXRole: AXDefinition
+
+div[role=dialog]
+ AXRole: AXDialog
+
+div[role=directory]
+ AXRole: AXList
+
+div[role=grid]
+ AXRole: AXTable
+
+div[role=rowheader]
+ AXRole: AXRowHeader
+
+div[role=columnheader]
+ AXRole: AXColumnHeader
+
+div[role=gridcell]
+ AXRole: AXCell
+
+div[role=group]
+ AXRole: AXGroup
+
+div[role=heading]
+ AXRole: AXHeading
+
+div[role=img]
+ AXRole: AXImage
+
+div[role=link]
+ AXRole: AXLink
+
+div[role=list]
+ AXRole: AXList
+
+div[role=listitem]
+ AXRole: AXListItem
+
+div[role=option]
+ AXRole: AXListItem
+
+div[role=log]
+ AXRole: AXLog
+
+div[role=main]
+ AXRole: AXLandmarkMain
+
+div[role=marquee]
+ AXRole: AXMarquee
+
+div[role=math]
+ AXRole: AXMath
+
+div[role=menu]
+ AXRole: AXMenu
+
+div[role=menuitem]
+ AXRole: AXMenuItem
+
+div[role=menuitemcheckbox]
+ AXRole: AXCheckMenuItem
+
+div[role=menuitemradio]
+ AXRole: AXRadioMenuItem
+
+div[role=menubar]
+ AXRole: AXMenuBar
+
+div[role=menuitem]
+ AXRole: AXMenuItem
+
+div[role=menuitemcheckbox]
+ AXRole: AXCheckMenuItem
+
+div[role=menuitemradio]
+ AXRole: AXRadioMenuItem
+
+div[role=navigation]
+ AXRole: AXLandmarkNavigation
+
+div[role=note]
+ AXRole: AXComment
+
+div[role=progressbar]
+ AXRole: AXProgressIndicator
+
+div[role=radiogroup]
+ AXRole: AXGroup
+
+div[role=radio]
+ AXRole: AXRadioButton
+
+div[role=scrollbar]
+ AXRole: AXScrollBar
+
+div[role=search]
+ AXRole: AXLandmarkSearch
+
+div[role=separator]
+ AXRole: AXSeparator
+
+div[role=slider]
+ AXRole: AXSlider
+
+div[role=spinbutton]
+ AXRole: AXSpinButton
+
+div[role=tablist]
+ AXRole: AXTabGroup
+
+div[role=tab]
+ AXRole: AXTab
+
+div[role=textbox]
+ AXRole: AXTextField
+
+div[role=timer]
+ AXRole: AXTimer
+
+div[role=toolbar]
+ AXRole: AXToolbar
+
+div[role=treegrid]
+ AXRole: AXTable
+
+div[role=rowheader]
+ AXRole: AXRowHeader
+
+div[role=columnheader]
+ AXRole: AXColumnHeader
+
+div[role=gridcell]
+ AXRole: AXCell
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Modified: trunk/LayoutTests/platform/efl/accessibility/table-attributes-expected.txt (174566 => 174567)
--- trunk/LayoutTests/platform/efl/accessibility/table-attributes-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/platform/efl/accessibility/table-attributes-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -8,7 +8,7 @@
South 3333 1111 2222
--------------------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -27,7 +27,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -46,7 +46,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -65,7 +65,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -84,7 +84,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -107,7 +107,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -126,7 +126,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -145,7 +145,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -164,7 +164,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -195,7 +195,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -214,7 +214,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -233,7 +233,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -252,7 +252,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -271,7 +271,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -290,7 +290,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -309,7 +309,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -328,7 +328,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -347,7 +347,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -366,7 +366,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -385,7 +385,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -404,7 +404,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -480,7 +480,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -499,7 +499,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitEfl
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
Modified: trunk/LayoutTests/platform/efl/accessibility/table-cells-expected.txt (174566 => 174567)
--- trunk/LayoutTests/platform/efl/accessibility/table-cells-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/platform/efl/accessibility/table-cells-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -10,7 +10,7 @@
South 3333 1111 2222
------------------------
[0,0]
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -30,7 +30,7 @@
AXPlatformAttributes: toolkit:WebKitEfl
------------------------
[3,1]
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
@@ -50,7 +50,7 @@
AXPlatformAttributes: toolkit:WebKitEfl
------------------------
[1,1]
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 0.000000, 0.000000 }
Modified: trunk/LayoutTests/platform/efl/accessibility/table-detection-expected.txt (174566 => 174567)
--- trunk/LayoutTests/platform/efl/accessibility/table-detection-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/platform/efl/accessibility/table-detection-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -457,14 +457,13 @@
This should be a table even though it uses table-row-group for it's display type.
-AXRole: AXGroup
+AXRole: AXTable
AXParent: AXWebArea
-AXChildren: 0
+AXChildren: 4
AXPosition: { 0.000000, 0.000000 }
-AXSize: { 35.000000, 21.000000 }
+AXSize: { 84.000000, 47.000000 }
AXTitle:
AXDescription:
-AXValue: head
AXFocusable: 0
AXFocused: 0
AXSelectable: 0
Added: trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt (0 => 174567)
--- trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -0,0 +1,397 @@
+ X
+This tests that native elements and ARIA overrides result in the expected role, subrole and role description.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+a[href]
+ AXRole: AXLink
+
+address
+ AXRole: AXLandmarkContentInfo
+
+article
+ AXRole: AXArticle
+
+aside
+ AXRole: AXLandmarkComplementary
+
+blockquote
+ AXRole: AXGroup
+
+button
+ AXRole: AXButton
+
+dl
+ AXRole: AXDescriptionList
+
+dt
+ AXRole: AXDescriptionTerm
+
+dd
+ AXRole: AXDescriptionValue
+
+div
+ AXRole: AXSection
+
+fieldset
+ AXRole: AXGroup
+
+legend
+ AXRole: AXLabel
+
+form
+ AXRole: AXForm
+
+header
+ AXRole: AXLandmarkBanner
+
+hgroup
+ AXRole: AXGroup
+
+h1
+ AXRole: AXHeading
+
+h2
+ AXRole: AXHeading
+
+h3
+ AXRole: AXHeading
+
+h4
+ AXRole: AXHeading
+
+h5
+ AXRole: AXHeading
+
+h6
+ AXRole: AXHeading
+
+hr
+ AXRole: AXSeparator
+
+img[alt='X']
+ AXRole: AXImage
+
+input[type='button']
+ AXRole: AXButton
+
+input[type='checkbox']
+ AXRole: AXCheckBox
+
+input[type='date']
+ AXRole: AXTextField
+
+input[type='datetime']
+ AXRole: AXTextField
+
+input[type='datetime-local']
+ AXRole: AXTextField
+
+input[type='email']
+ AXRole: AXTextField
+
+input[type='file']
+ AXRole: AXButton
+
+input[type='image']
+ AXRole: AXButton
+
+input[type='month']
+ AXRole: AXTextField
+
+input[type='number']
+ AXRole: AXTextField
+
+input[type='password']
+ AXRole: AXPasswordField
+
+input[type='radio']
+ AXRole: AXRadioButton
+
+input[type='range']
+ AXRole: AXSlider
+
+input[type='reset']
+ AXRole: AXButton
+
+input[type='search']
+ AXRole: AXTextField
+
+input[type='submit']
+ AXRole: AXButton
+
+input[type='tel']
+ AXRole: AXTextField
+
+input[type='text']
+ AXRole: AXTextField
+
+input[type='time']
+ AXRole: AXTextField
+
+input[type='url']
+ AXRole: AXTextField
+
+input[type='week']
+ AXRole: AXTextField
+
+math
+ AXRole: AXMath
+
+nav
+ AXRole: AXLandmarkNavigation
+
+ol
+ AXRole: AXList
+
+li
+ AXRole: AXListItem
+
+p
+ AXRole: AXParagraph
+
+pre
+ AXRole: AXGroup
+
+progress
+ AXRole: AXProgressIndicator
+
+select:not([multiple])
+ AXRole: AXComboBox
+
+select[multiple]
+ AXRole: AXList
+
+option
+ AXRole: AXListItem
+
+optgroup
+ AXRole: AXListItem
+
+table
+ AXRole: AXTable
+
+th
+ AXRole: AXColumnHeader
+
+td
+ AXRole: AXCell
+
+th
+ AXRole: AXRowHeader
+
+textarea
+ AXRole: AXTextField
+
+ul
+ AXRole: AXList
+
+li
+ AXRole: AXListItem
+
+div[role=command]
+ AXRole: AXSection
+
+div[role=composite]
+ AXRole: AXSection
+
+div[role=input]
+ AXRole: AXSection
+
+div[role=landmark]
+ AXRole: AXSection
+
+div[role=range]
+ AXRole: AXSection
+
+div[role=roletype]
+ AXRole: AXSection
+
+div[role=section]
+ AXRole: AXSection
+
+div[role=sectionhead]
+ AXRole: AXSection
+
+div[role=select]
+ AXRole: AXSection
+
+div[role=structure]
+ AXRole: AXSection
+
+div[role=widget]
+ AXRole: AXSection
+
+div[role=window]
+ AXRole: AXSection
+
+div[role=alert]
+ AXRole: AXAlert
+
+div[role=alertdialog]
+ AXRole: AXAlert
+
+div[role=application]
+ AXRole: AXEmbedded
+
+div[role=article]
+ AXRole: AXArticle
+
+div[role=banner]
+ AXRole: AXLandmarkBanner
+
+div[role=button]
+ AXRole: AXButton
+
+div[role=checkbox]
+ AXRole: AXCheckBox
+
+div[role=combobox]
+ AXRole: AXComboBox
+
+div[role=complementary]
+ AXRole: AXLandmarkComplementary
+
+div[role=contentinfo]
+ AXRole: AXLandmarkContentInfo
+
+div[role=definition]
+ AXRole: AXDefinition
+
+div[role=dialog]
+ AXRole: AXDialog
+
+div[role=directory]
+ AXRole: AXList
+
+div[role=grid]
+ AXRole: AXTable
+
+div[role=rowheader]
+ AXRole: AXRowHeader
+
+div[role=columnheader]
+ AXRole: AXColumnHeader
+
+div[role=gridcell]
+ AXRole: AXCell
+
+div[role=group]
+ AXRole: AXGroup
+
+div[role=heading]
+ AXRole: AXHeading
+
+div[role=img]
+ AXRole: AXImage
+
+div[role=link]
+ AXRole: AXLink
+
+div[role=list]
+ AXRole: AXList
+
+div[role=listitem]
+ AXRole: AXListItem
+
+div[role=option]
+ AXRole: AXListItem
+
+div[role=log]
+ AXRole: AXLog
+
+div[role=main]
+ AXRole: AXLandmarkMain
+
+div[role=marquee]
+ AXRole: AXMarquee
+
+div[role=math]
+ AXRole: AXMath
+
+div[role=menu]
+ AXRole: AXMenu
+
+div[role=menuitem]
+ AXRole: AXMenuItem
+
+div[role=menuitemcheckbox]
+ AXRole: AXCheckMenuItem
+
+div[role=menuitemradio]
+ AXRole: AXRadioMenuItem
+
+div[role=menubar]
+ AXRole: AXMenuBar
+
+div[role=menuitem]
+ AXRole: AXMenuItem
+
+div[role=menuitemcheckbox]
+ AXRole: AXCheckMenuItem
+
+div[role=menuitemradio]
+ AXRole: AXRadioMenuItem
+
+div[role=navigation]
+ AXRole: AXLandmarkNavigation
+
+div[role=note]
+ AXRole: AXComment
+
+div[role=progressbar]
+ AXRole: AXProgressIndicator
+
+div[role=radiogroup]
+ AXRole: AXGroup
+
+div[role=radio]
+ AXRole: AXRadioButton
+
+div[role=scrollbar]
+ AXRole: AXScrollBar
+
+div[role=search]
+ AXRole: AXLandmarkSearch
+
+div[role=separator]
+ AXRole: AXSeparator
+
+div[role=slider]
+ AXRole: AXSlider
+
+div[role=spinbutton]
+ AXRole: AXSpinButton
+
+div[role=tablist]
+ AXRole: AXTabGroup
+
+div[role=tab]
+ AXRole: AXTab
+
+div[role=textbox]
+ AXRole: AXTextField
+
+div[role=timer]
+ AXRole: AXTimer
+
+div[role=toolbar]
+ AXRole: AXToolbar
+
+div[role=treegrid]
+ AXRole: AXTable
+
+div[role=rowheader]
+ AXRole: AXRowHeader
+
+div[role=columnheader]
+ AXRole: AXColumnHeader
+
+div[role=gridcell]
+ AXRole: AXCell
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Modified: trunk/LayoutTests/platform/gtk/accessibility/table-attributes-expected.txt (174566 => 174567)
--- trunk/LayoutTests/platform/gtk/accessibility/table-attributes-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/platform/gtk/accessibility/table-attributes-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -8,7 +8,7 @@
South 3333 1111 2222
--------------------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 235.000000, 26.000000 }
@@ -27,7 +27,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 235.000000, 26.000000 }
@@ -46,7 +46,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 378.000000, 26.000000 }
@@ -65,7 +65,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 447.000000, 26.000000 }
@@ -84,7 +84,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 447.000000, 26.000000 }
@@ -107,7 +107,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
@@ -126,7 +126,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
@@ -145,7 +145,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 89.000000 }
@@ -164,7 +164,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 89.000000 }
@@ -195,7 +195,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
@@ -214,7 +214,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
@@ -233,7 +233,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 370.000000, 26.000000 }
@@ -252,7 +252,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 439.000000, 26.000000 }
@@ -271,7 +271,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 439.000000, 26.000000 }
@@ -290,7 +290,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
@@ -309,7 +309,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
@@ -328,7 +328,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 370.000000, 26.000000 }
@@ -347,7 +347,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 439.000000, 55.000000 }
@@ -366,7 +366,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 491.000000, 55.000000 }
@@ -385,7 +385,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 89.000000 }
@@ -404,7 +404,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 317.000000, 89.000000 }
@@ -480,7 +480,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 89.000000 }
@@ -499,7 +499,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 317.000000, 118.000000 }
Modified: trunk/LayoutTests/platform/gtk/accessibility/table-cells-expected.txt (174566 => 174567)
--- trunk/LayoutTests/platform/gtk/accessibility/table-cells-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/platform/gtk/accessibility/table-cells-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -10,7 +10,7 @@
South 3333 1111 2222
------------------------
[0,0]
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 235.000000, 26.000000 }
@@ -30,7 +30,7 @@
AXPlatformAttributes: toolkit:WebKitGtk
------------------------
[3,1]
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 447.000000, 55.000000 }
@@ -50,7 +50,7 @@
AXPlatformAttributes: toolkit:WebKitGtk
------------------------
[1,1]
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 227.000000, 26.000000 }
Modified: trunk/LayoutTests/platform/gtk/accessibility/table-sections-expected.txt (174566 => 174567)
--- trunk/LayoutTests/platform/gtk/accessibility/table-sections-expected.txt 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/LayoutTests/platform/gtk/accessibility/table-sections-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -17,7 +17,7 @@
THEAD, TFOOT table
--------------------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 363.000000, 60.000000 }
@@ -27,7 +27,7 @@
AXValue: 1
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -36,7 +36,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 383.000000, 60.000000 }
@@ -46,7 +46,7 @@
AXValue: a
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -78,7 +78,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 60.000000 }
@@ -88,7 +88,7 @@
AXValue: 1
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -97,7 +97,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 89.000000 }
@@ -116,7 +116,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 118.000000 }
@@ -163,7 +163,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 60.000000 }
@@ -173,7 +173,7 @@
AXValue: 1
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -182,7 +182,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 375.000000, 60.000000 }
@@ -192,7 +192,7 @@
AXValue: a
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -220,7 +220,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 89.000000 }
@@ -277,7 +277,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 118.000000 }
@@ -403,7 +403,7 @@
Multi-TBODY table
--------------------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 60.000000 }
@@ -413,7 +413,7 @@
AXValue: 1
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -422,7 +422,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 375.000000, 60.000000 }
@@ -432,7 +432,7 @@
AXValue: a
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -464,7 +464,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 60.000000 }
@@ -474,7 +474,7 @@
AXValue: 1
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -483,7 +483,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 89.000000 }
@@ -502,7 +502,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 118.000000 }
@@ -549,7 +549,7 @@
--------------------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 60.000000 }
@@ -559,7 +559,7 @@
AXValue: 1
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -568,7 +568,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXColumnHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 375.000000, 60.000000 }
@@ -578,7 +578,7 @@
AXValue: a
AXFocusable: 0
AXFocused: 0
-AXSelectable: 1
+AXSelectable: 0
AXSelected: 0
AXMultiSelectable: 0
AXEnabled: 1
@@ -606,7 +606,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 89.000000 }
@@ -663,7 +663,7 @@
AXChecked: 0
AXPlatformAttributes: toolkit:WebKitGtk
------------
-AXRole: AXCell
+AXRole: AXRowHeader
AXParent: AXTable: Example #1: Nested Stubs
AXChildren: 0
AXPosition: { 355.000000, 118.000000 }
Copied: trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt (from rev 174563, trunk/LayoutTests/accessibility/aria-tables-expected.txt) (0 => 174567)
--- trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -0,0 +1,20 @@
+header 1
+header 2
+header 3
+cell
+cell
+cell
+cell
+cell
+cell
+header 1 header 2 header 2
+cell cell cell
+cell
+AXRole: AXTable
+AXRole: AXTable
+AXRole: AXCell
+AXRole: AXCell
+AXRole: AXCell
+AXRole: AXCell
+Test passed
+
Added: trunk/LayoutTests/platform/mac/accessibility/table-roles-hierarchy-expected.txt (0 => 174567)
--- trunk/LayoutTests/platform/mac/accessibility/table-roles-hierarchy-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac/accessibility/table-roles-hierarchy-expected.txt 2014-10-10 08:32:58 UTC (rev 174567)
@@ -0,0 +1,86 @@
+No Country Capital
+1. Poland Warsaw
+2. Russia Moscow
+3. Ukraine Kiev
+All 3 countries 3 capitals
+
+
+This shows the hierarchy of table roles.
+
+role: AXRole: AXTable
+ role: AXRole: AXRow
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXRow
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXRow
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXRow
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXRow
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXColumn
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXColumn
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXColumn
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXGroup
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+ role: AXRole: AXCell
+ role: AXRole: AXStaticText
+
Modified: trunk/Source/WebCore/ChangeLog (174566 => 174567)
--- trunk/Source/WebCore/ChangeLog 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/Source/WebCore/ChangeLog 2014-10-10 08:32:58 UTC (rev 174567)
@@ -1,3 +1,29 @@
+2014-10-10 Andrzej Badowski <[email protected]>
+
+ [ATK] Changing the mapping of ARIA rowheader and columnheader into respective ATK roles.
+ https://bugs.webkit.org/show_bug.cgi?id=136150
+
+ Reviewed by Chris Fleizach.
+
+ Expose ColumnHeaderRole and RowHeaderRole objects into ATK.
+
+ Test: accessibility/table-roles-hierarchy.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ Platforms based on ATK: added distinction of roles for the <th> elements.
+ * accessibility/AccessibilityTableCell.cpp:
+ (WebCore::AccessibilityTableCell::determineAccessibilityRole):
+ Platforms based on ATK: the return value is determined in the ancestor.
+ * accessibility/atk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ In addition to CellRole also included ColumnHeaderRole and RowHeaderRole.
+ * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+ (atkRole):
+ Changing the mapping of ARIA rowheader and columnheader into respective ATK roles.
+ (getInterfaceMaskFromObject):
+ In addition to CellRole also included ColumnHeaderRole and RowHeaderRole.
+
2014-10-09 Carlos Garcia Campos <[email protected]>
MediaPlayer should use a reference for the MediaPlayerClient
Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (174566 => 174567)
--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2014-10-10 08:32:58 UTC (rev 174567)
@@ -2551,11 +2551,23 @@
if (node && (node->hasTagName(rpTag) || node->hasTagName(rtTag)))
return AnnotationRole;
-#if PLATFORM(GTK)
+#if PLATFORM(GTK) || PLATFORM(EFL)
// Gtk ATs expect all tables, data and layout, to be exposed as tables.
- if (node && (node->hasTagName(tdTag) || node->hasTagName(thTag)))
+ if (node && (node->hasTagName(tdTag)))
return CellRole;
+ if (node && (node->hasTagName(thTag))) {
+ for (Node* parentNode = node->parentNode(); parentNode; parentNode = parentNode->parentNode()) {
+ if (parentNode->hasTagName(theadTag))
+ return ColumnHeaderRole;
+ if (parentNode->hasTagName(tbodyTag) || parentNode->hasTagName(tfootTag))
+ return RowHeaderRole;
+ if (parentNode->hasTagName(tableTag))
+ return CellRole;
+ }
+ return CellRole;
+ }
+
if (node && node->hasTagName(trTag))
return RowRole;
Modified: trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp (174566 => 174567)
--- trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp 2014-10-10 08:32:58 UTC (rev 174567)
@@ -108,10 +108,13 @@
// 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 !PLATFORM(EFL) && !PLATFORM(GTK)
if (!isTableCell())
return defaultRole;
return CellRole;
+#endif
+ return defaultRole;
}
bool AccessibilityTableCell::isTableHeaderCell() const
Modified: trunk/Source/WebCore/accessibility/atk/AccessibilityObjectAtk.cpp (174566 => 174567)
--- trunk/Source/WebCore/accessibility/atk/AccessibilityObjectAtk.cpp 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/Source/WebCore/accessibility/atk/AccessibilityObjectAtk.cpp 2014-10-10 08:32:58 UTC (rev 174567)
@@ -56,7 +56,7 @@
return IgnoreObject;
// Include all tables, even layout tables. The AT can decide what to do with each.
- if (role == CellRole || role == TableRole)
+ if (role == CellRole || role == TableRole || role == ColumnHeaderRole || role == RowHeaderRole)
return IncludeObject;
// The object containing the text should implement AtkText itself.
Modified: trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp (174566 => 174567)
--- trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp 2014-10-10 08:22:39 UTC (rev 174566)
+++ trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp 2014-10-10 08:32:58 UTC (rev 174567)
@@ -662,8 +662,10 @@
case RadioGroupRole:
case TabPanelRole:
return ATK_ROLE_PANEL;
- case RowHeaderRole: // Row headers are cells after all.
- case ColumnHeaderRole: // Column headers are cells after all.
+ case RowHeaderRole:
+ return ATK_ROLE_ROW_HEADER;
+ case ColumnHeaderRole:
+ return ATK_ROLE_COLUMN_HEADER;
case CellRole:
return coreObject->inheritsPresentationalRole() ? ATK_ROLE_SECTION : ATK_ROLE_TABLE_CELL;
case LinkRole:
@@ -1175,7 +1177,7 @@
interfaceMask |= 1 << WAITable;
#if ATK_CHECK_VERSION(2,11,90)
- if (role == CellRole)
+ if (role == CellRole || role == ColumnHeaderRole || role == RowHeaderRole)
interfaceMask |= 1 << WAITableCell;
#endif