AX: Merge layout test from Mac and GTK checking accessibility roles
authormario.prada@samsung.com <mario.prada@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jan 2014 13:15:49 +0000 (13:15 +0000)
committermario.prada@samsung.com <mario.prada@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 15 Jan 2014 13:15:49 +0000 (13:15 +0000)
https://bugs.webkit.org/show_bug.cgi?id=126685

Reviewed by Chris Fleizach.

Merged GTK and Mac tests into one cross-platform test that is
aware of the platform-specific differences by declaring which
elements are supported in which platforms and which platform
specific roles (if it's the case) should be expected.

* accessibility/roles-exposed-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt.
* accessibility/roles-exposed.html: Added.
* platform/gtk/accessibility/roles-exposed.html: Removed.
* platform/mac/accessibility/role-subrole-roledescription.html: Removed.
* platform/mac/accessibility/roles-exposed-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/role-subrole-roledescription-expected.txt.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@162067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/accessibility/roles-exposed-expected.txt [moved from LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt with 92% similarity]
LayoutTests/accessibility/roles-exposed.html [new file with mode: 0644]
LayoutTests/platform/gtk/accessibility/roles-exposed.html [deleted file]
LayoutTests/platform/mac/accessibility/role-subrole-roledescription.html [deleted file]
LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt [moved from LayoutTests/platform/mac/accessibility/role-subrole-roledescription-expected.txt with 99% similarity]

index d77eff4..f537240 100644 (file)
@@ -1,3 +1,21 @@
+2014-01-15  Mario Sanchez Prada  <mario.prada@samsung.com>
+
+        AX: Merge layout test from Mac and GTK checking accessibility roles
+        https://bugs.webkit.org/show_bug.cgi?id=126685
+
+        Reviewed by Chris Fleizach.
+
+        Merged GTK and Mac tests into one cross-platform test that is
+        aware of the platform-specific differences by declaring which
+        elements are supported in which platforms and which platform
+        specific roles (if it's the case) should be expected.
+
+        * accessibility/roles-exposed-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt.
+        * accessibility/roles-exposed.html: Added.
+        * platform/gtk/accessibility/roles-exposed.html: Removed.
+        * platform/mac/accessibility/role-subrole-roledescription.html: Removed.
+        * platform/mac/accessibility/roles-exposed-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/role-subrole-roledescription-expected.txt.
+
 2014-01-15  Mihai Tica  <mitica@adobe.com>
 
         Reapplying:
@@ -1,4 +1,5 @@
-This tests that native elements and ARIA overrides result in the expected role and role description.
+ 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".
 
@@ -171,24 +172,12 @@ PASS: optgroup
 PASS: table
       AXRole: AXTable
       
-FAIL: tr
-      AXRole: (no element)
-      Expected: AXRow
-
 PASS: th
       AXRole: AXCell
       
-FAIL: tr
-      AXRole: (no element)
-      Expected: AXRow
-
 PASS: td
       AXRole: AXCell
       
-FAIL: tr
-      AXRole: (no element)
-      Expected: AXRow
-
 PASS: th
       AXRole: AXCell
       
@@ -279,14 +268,6 @@ PASS: div[role=directory]
 PASS: div[role=grid]
       AXRole: AXTable
       
-FAIL: div[role=rowgroup]
-      AXRole: (no element)
-      Expected: 
-
-FAIL: div[role=row]
-      AXRole: (no element)
-      Expected: AXRow
-
 PASS: div[role=gridcell]
       AXRole: AXCell
       
@@ -308,10 +289,6 @@ PASS: div[role=list]
 PASS: div[role=listitem]
       AXRole: AXListItem
       
-FAIL: div[role=listbox]
-      AXRole: AXList
-      Expected: AXListBox
-
 PASS: div[role=option]
       AXRole: AXListItem
       
@@ -399,14 +376,6 @@ PASS: div[role=toolbar]
 PASS: div[role=treegrid]
       AXRole: AXTable
       
-FAIL: div[role=rowgroup]
-      AXRole: (no element)
-      Expected: 
-
-FAIL: div[role=row]
-      AXRole: (no element)
-      Expected: AXRow
-
 PASS: div[role=gridcell]
       AXRole: AXCell
       
diff --git a/LayoutTests/accessibility/roles-exposed.html b/LayoutTests/accessibility/roles-exposed.html
new file mode 100644 (file)
index 0000000..de6100b
--- /dev/null
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML>
+<html>
+<body>
+<script src="../resources/js-test-pre.js"></script>
+
+<!-- ==================================================================================================== -->
+<!-- HTML elements in alphabetical order, excepting the need for nesting (e.g. <li> is with its <ol> and <ul> parents) -->
+<!-- ==================================================================================================== -->
+<a data-platform="atk,mac" data-role="AXLink" data-subrole="" data-roledescription="link" href="#" data-note="[href]" class="ex">X</a>
+<!-- [ATK] Skipped: not focusable --><a data-platform="mac" data-role="" data-subrole="" data-roledescription="" data-note=":not([href])" class="ex">X</a>
+<!-- [ATK] Skipped: not focusable --><abbr data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</abbr>
+<!-- http://webkit.org/b/83989 --><address data-platform="atk,mac" data-role-atk="AXLandmarkContentInfo" data-role-mac="AXGroup" data-subrole="AXLandmarkContentInfo" data-roledescription="content information" class="ex">X</address>
+<!-- skipped <area> -->
+<article data-platform="atk,mac" data-role-atk="AXArticle" data-role-mac="AXGroup" data-subrole="AXDocumentArticle" data-roledescription="article" class="ex">X</article>
+<aside data-platform="atk,mac" data-role-atk="AXLandmarkComplementary" data-role-mac="AXGroup" data-subrole="AXLandmarkComplementary" data-roledescription="complementary" class="ex">X</aside>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><audio data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</audio>
+<!-- [ATK] Skipped: not focusable --><b data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</b>
+<!-- [ATK] Skipped: not focusable --><bdo data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</bdo>
+<blockquote data-platform="atk,mac" data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</blockquote>
+<button data-platform="atk,mac" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex">X</button>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><canvas data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</canvas>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><cite data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</cite>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><code data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</code>
+<!-- skipped <command> -->
+<!-- skipped <datalist> -->
+<!-- [ATK] Skipped: not focusable --><del data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</del>
+<!-- skipped <details/summary> http://webkit.org/b/108979 -->
+<!-- [ATK] Skipped: not focusable --><dfn data-platform="mac" data-role="AXGroup" data-subrole="AXDefinition" data-roledescription="definition" class="ex">X</dfn>
+<dl data-platform="atk,mac" data-role-atk="AXDescriptionList" data-role-mac="AXList" data-subrole="AXDescriptionList" data-alternatesubrole="AXDefinitionList" data-roledescription="description list" class="ex">
+    <dt data-platform="atk,mac" data-role-atk="AXDescriptionTerm" data-role-mac="AXGroup" data-subrole="AXTerm" data-roledescription="term" class="ex">X</dt>
+    <dd data-platform="atk,mac" data-role-atk="AXDescriptionValue" data-role-mac="AXGroup" data-subrole="AXDescription" data-roledescription="description" class="ex">X</dd>
+</dl>
+<div data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<!-- [ATK] Skipped: not focusable --><em data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</em>
+<!-- skipped <embed> -->
+<fieldset data-platform="atk,mac" data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">
+    <legend data-platform="atk,mac" data-role="" data-role-atk="AXLabel" data-subrole="" data-roledescription="" class="ex">X</legend>
+</fieldset>
+<!-- skipped figure/figcaption http://webkit.org/b/108996 -->
+<!-- [ATK] Skipped: not focusable --><footer data-platform="mac" data-role="AXGroup" data-subrole="AXLandmarkContentInfo" data-roledescription="footer" class="ex">X</footer>
+<form data-platform="atk,mac" data-role-atk="AXForm" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</form>
+<!-- skipped <frame> -->
+<!-- skipped <frameset> -->
+<!-- skipped <head> -->
+<!-- http://webkit.org/b/109013 --><header data-platform="atk,mac" data-role-atk="AXLandmarkBanner" data-role-mac="AXGroup" data-subrole="AXLandmarkBanner" data-roledescription="banner" class="ex">X</header>
+<hgroup data-platform="atk,mac" data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</hgroup>
+<h1 data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h1>
+<h2 data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h2>
+<h3 data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h3>
+<h4 data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h4>
+<h5 data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h5>
+<h6 data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h6>
+<!-- http://webkit.org/b/109015 --><hr data-platform="atk,mac" data-role="" data-role-atk="AXSeparator" data-subrole="" data-roledescription="" class="ex">
+<!-- skipped <html> -->
+<!-- [ATK] Skipped: not focusable --><i data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</i>
+<!-- skipped <iframe> -->
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><img data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex" data-note=":not([src]):not([alt])">
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><img data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex" alt="" data-note="[alt='']">
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><img data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex" src="foo.png" data-note="[src]:not([alt])">
+<img data-platform="atk,mac" data-role="AXImage" data-subrole="" data-roledescription="image" class="ex" alt="X" data-note="[alt='X']">
+<input data-platform="atk,mac" type="button" value="X" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='button']">
+<!-- skipped <menu><input type="button"></menu> -->
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><!-- http://webkit.org/b/109017 --><input data-platform="mac" type="color" value="X" data-role="AXColorWell" data-subrole="" data-roledescription="color well" class="ex" data-note="[type='color']">
+<input data-platform="atk,mac" type="checkbox" data-role="AXCheckBox" data-subrole="" data-roledescription="check box" class="ex" data-note="[type='checkbox']">
+<!-- skipped <menu><input type="checkbox"></menu> -->
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="date" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='date']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="datetime" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='datetime']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="datetime-local" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='datetime-local']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="email" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='email']">
+<input data-platform="atk,mac" type="file" data-role="AXButton" data-subrole="AXFileUploadButton" data-roledescription="file upload button" class="ex" data-note="[type='file']">
+<!-- [ATK] Skipped: not focusable --><input data-platform="mac" type="hidden" data-role="" data-subrole="" data-roledescription="" class="ex" data-note="[type='hidden']">
+<input data-platform="atk,mac" type="image" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='image']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="month" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='month']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="number" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='number']">
+<input data-platform="atk,mac" type="password" value="X" data-role-atk="AXPasswordField" data-role-mac="AXTextField" data-subrole="AXSecureTextField" data-roledescription="secure text field" class="ex" data-note="[type='password']">
+<input data-platform="atk,mac" type="radio" data-role="AXRadioButton" data-subrole="" data-roledescription="radio button" class="ex" data-note="[type='radio']">
+<!-- skipped <menu><input type="radio"></menu> -->
+<input data-platform="atk,mac" type="range" data-role="AXSlider" data-subrole="" data-roledescription="slider" class="ex" data-note="[type='range']">
+<input data-platform="atk,mac" type="reset" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='reset']">
+<input data-platform="atk,mac" type="search" value="X" data-role="AXTextField" data-subrole="AXSearchField" data-roledescription="search text field" class="ex" data-note="[type='search']">
+<input data-platform="atk,mac" type="submit" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='submit']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="tel" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='tel']">
+<input data-platform="atk,mac" type="text" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='text']">
+<!-- skipped <input type="text"> with suggestions source element: http://www.w3.org/html/wg/drafts/html/master/forms.html#concept-input-list -->
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="time" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='time']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="url" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='url']">
+<!-- http://webkit.org/b/109017 --><input data-platform="atk,mac" type="week" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='week']">
+<!-- [ATK] Skipped: not focusable --><ins data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</ins>
+<!-- skipped <link> -->
+<!-- skipped <map> -->
+<!-- [ATK] Skipped: not focusable --><!-- http://webkit.org/b/109018 --><mark data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</mark>
+<math data-platform="atk,mac" data-role-atk="AXMath" data-role-mac="AXGroup" data-subrole="AXDocumentMath" data-roledescription="math" class="ex">X</math>
+<!-- skipped <menu> -->
+<!-- skipped <meta> -->
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><meter data-platform="mac" data-role="AXProgressIndicator" data-subrole="" data-roledescription="progress indicator" class="ex" value="0.75">X</meter>
+<nav data-platform="atk,mac" data-role-atk="AXLandmarkNavigation" data-role-mac="AXGroup" data-subrole="AXLandmarkNavigation" data-roledescription="navigation" class="ex">X</nav>
+<!-- skipped <noscript> -->
+<!-- skipped <object> -->
+<ol data-platform="atk,mac" data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">
+    <li data-platform="atk,mac" data-role-atk="AXListItem" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</li>
+</ol>
+<!-- skipped <optgroup> -->
+<!-- skipped <option> -->
+<!-- skipped <output> -->
+<p data-platform="atk,mac" data-role-atk="AXParagraph" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</p>
+<!-- skipped <param> -->
+<pre data-platform="atk,mac" data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</pre>
+<progress data-platform="atk,mac" data-role="AXProgressIndicator" data-subrole="" data-roledescription="progress indicator" class="ex" value="0.75">X</progress>
+<!-- [ATK] Skipped: not focusable --><q data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</q>
+<!-- skipped <ruby/rp/rt> -->
+<!-- [ATK] Skipped: not focusable --><s data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</s>
+<!-- [ATK] Skipped: not focusable --><samp data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</samp>
+<!-- skipped <script> -->
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><!-- http://webkit.org/b/109024 --><section data-platform="mac" data-role="AXGroup" data-subrole="AXDocumentRegion" data-roledescription="region" class="ex">X</section>
+<select data-platform="atk,mac" data-role-atk="AXComboBox" data-role-mac="AXPopUpButton" data-subrole="" data-roledescription="pop up button" class="ex" data-note=":not([multiple])">
+    <!-- [ATK] Object not exposed (webkit.org/b/125491) --><option data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</option>
+    <!-- [ATK] Object not exposed (webkit.org/b/125491) --><optgroup data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex" label="more">
+        <!-- [ATK] Object not exposed (webkit.org/b/125491) --><option data-platform="mac">X</option>
+    </optgroup>
+</select>
+<select data-platform="atk,mac" data-role="AXList" data-subrole="" data-roledescription="list" class="ex" multiple data-note="[multiple]">
+    <option data-platform="atk,mac" data-role-atk="AXListItem" data-role-mac="AXStaticText" data-subrole="" data-roledescription="text" class="ex">X</option>
+    <optgroup data-platform="atk,mac" data-role-atk="AXListItem" data-role-mac="AXStaticText" data-subrole="" data-roledescription="text" class="ex" label="more">
+        <option>Y</option>
+        <option>Z</option>
+    </optgroup>
+</select>
+<!-- [ATK] Skipped: not focusable --><small data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</small>
+<!-- skipped <source> -->
+<!-- [ATK] Skipped: not focusable --><span data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</span>
+<!-- [ATK] Skipped: not focusable --><strong data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</strong>
+<!-- skipped <style> -->
+<!-- [ATK] Skipped: not focusable --><sub data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</sub>
+<!-- [ATK] Skipped: not focusable --><sup data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</sup>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><svg data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</svg>
+
+<table data-platform="atk,mac" data-role="AXTable" data-subrole="" data-roledescription="table" class="ex">
+    <!-- [ATK] Skipped: not to be exposed --><caption data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</caption>
+    <!-- Not to be exposed in ATK--><thead data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">
+        <!-- [ATK] Object not exposed (webkit.org/b/125491) --><tr data-platform="mac" data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
+            <!-- Need separate test to verify colheader/rowheader -->
+            <th data-platform="atk,mac" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</th>
+        </tr>
+    </thead>
+    <!-- [ATK] Skipped: not to be exposed --><tbody data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">
+        <!-- [ATK] Object not exposed (webkit.org/b/125491) --><tr data-platform="mac" data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
+            <td data-platform="atk,mac" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</td>
+        </tr>
+    </tbody>
+    <!-- [ATK] Skipped: not to be exposed --><tfoot data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">
+        <!-- [ATK] Object not exposed (webkit.org/b/125491) --><tr data-platform="mac" data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
+            <!-- Need separate test to verify colheader/rowheader -->
+            <th data-platform="atk,mac" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</th>
+        </tr>
+    </tfoot>
+</table>
+<textarea data-platform="atk,mac" data-role-atk="AXTextField" data-role-mac="AXTextArea" data-subrole="" data-roledescription="text entry area" class="ex">X</textarea>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><time data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</time>
+<!-- skipped <title> -->
+<ul data-platform="atk,mac" data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">
+    <li data-platform="atk,mac" data-role-atk="AXListItem" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</li>
+</ul>
+<!-- [ATK] Skipped: not focusable --><var data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</var>
+<!-- skipped <video> -->
+<!-- [ATK] Skipped: not focusable --><wbr data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</wbr>
+<!-- Todo: I left off adding HTML5 elements here at previous element: https://dvcs.w3.org/hg/html-api-map/raw-file/default/Overview.html -->
+
+
+
+<!-- ==================================================================================================== -->
+<!-- Abstract ARIA roles in alphabetical order; only generic AXGroup role should be exposed on abstract roles -->
+<!-- ==================================================================================================== -->
+<div role="command"     data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="composite"   data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="input"       data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="landmark"    data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="range"       data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="roletype"    data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="section"     data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="sectionhead" data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="select"      data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="structure"   data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="widget"      data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="window"      data-platform="atk,mac" data-role-atk="AXSection" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+
+
+<!-- ==================================================================================================== -->
+<!-- Non-abstract ARIA roles in alphabetical order, excepting the need for nesting (e.g. row is with its grid parent) -->
+<!-- ==================================================================================================== -->
+<div role="alert"                    data-platform="atk,mac" data-role-atk="AXAlert" data-role-mac="AXGroup" data-subrole="AXApplicationAlert" data-roledescription="alert" class="ex">X</div>
+<div role="alertdialog"              data-platform="atk,mac" data-role-atk="AXAlert" data-role-mac="AXGroup" data-subrole="AXApplicationAlertDialog" data-roledescription="alert dialog" class="ex">X</div>
+<div role="application"              data-platform="atk,mac" data-role-atk="AXEmbedded" data-role-mac="AXGroup" data-subrole="AXLandmarkApplication" data-roledescription="application" class="ex">X</div>
+<div role="article"                  data-platform="atk,mac" data-role-atk="AXArticle" data-role-mac="AXGroup" data-subrole="AXDocumentArticle" data-roledescription="article" class="ex">X</div>
+<div role="banner"                   data-platform="atk,mac" data-role-atk="AXLandmarkBanner" data-role-mac="AXGroup" data-subrole="AXLandmarkBanner" data-roledescription="banner" class="ex">X</div>
+<div role="button"                   data-platform="atk,mac" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex">X</div>
+<div role="checkbox"                 data-platform="atk,mac" data-role="AXCheckBox" data-subrole="" data-roledescription="check box" class="ex">X</div>
+<div role="combobox"                 data-platform="atk,mac" data-role="AXComboBox" data-subrole="" data-roledescription="combo box" class="ex">X</div>
+<div role="complementary"            data-platform="atk,mac" data-role-atk="AXLandmarkComplementary" data-role-mac="AXGroup" data-subrole="AXLandmarkComplementary" data-roledescription="complementary" class="ex">X</div>
+<div role="contentinfo"              data-platform="atk,mac" data-role-atk="AXLandmarkContentInfo" data-role-mac="AXGroup" data-subrole="AXLandmarkContentInfo" data-roledescription="content information" class="ex">X</div>
+<div role="definition"               data-platform="atk,mac" data-role-atk="AXDefinition" data-role-mac="AXGroup" data-subrole="AXDefinition" data-roledescription="definition" class="ex">X</div>
+<div role="dialog"                   data-platform="atk,mac" data-role-atk="AXDialog" data-role-mac="AXGroup" data-subrole="AXApplicationDialog" data-roledescription="dialog" class="ex">X</div>
+<div role="directory"                data-platform="atk,mac" data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">X</div>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><div data-platform="mac" role="document" data-role="AXGroup" data-subrole="AXDocument" data-roledescription="document" class="ex">X</div>
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><div data-platform="mac" role="form"     data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div data-platform="atk,mac" role="grid"                     data-role="AXTable" data-subrole="" data-roledescription="table" class="ex">
+    <!-- [ATK] Object not exposed (webkit.org/b/125491) --><div data-platform="mac" role="rowgroup"             data-role="" data-subrole="" data-roledescription="" class="ex">
+        <!-- [ATK] Object not exposed (webkit.org/b/125491) --><div data-platform="mac" role="row"              data-role="AXRow" data-subrole="" data-roledescription="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"    data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
+            <!-- [ATK] Wrong role (webkit.org/b/125493) --><div data-platform="mac" role="columnheader" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
+            <div data-platform="atk,mac" role="gridcell"     data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
+        </div>
+    </div>
+</div>
+<div role="group"                    data-platform="atk,mac" data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+<div role="heading"                  data-platform="atk,mac" data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</div>
+<div role="img"                      data-platform="atk,mac" data-role="AXImage" data-subrole="" data-roledescription="image" class="ex">X</div>
+<div role="link"                     data-platform="atk,mac" data-role="AXLink" data-subrole="" data-roledescription="link" class="ex">X</div>
+<div role="list"                     data-platform="atk,mac" data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">
+    <div role="listitem"             data-platform="atk,mac" data-role-atk="AXListItem" data-role-mac="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
+</div>
+<!-- [ATK] Object not exposed (webkit.org/b/125491) --><div role="listbox" data-platform="mac" data-role="AXList" data-subrole="" data-roledescription="list" class="ex">
+    <div role="option"               data-platform="atk,mac" data-role-atk="AXListItem" data-role-mac="AXStaticText" data-subrole="" data-roledescription="text" class="ex">X</div>
+</div>
+<div role="log"                      data-platform="atk,mac" data-role-atk="AXLog" data-role-mac="AXGroup" data-subrole="AXApplicationLog" data-roledescription="log" class="ex">X</div>
+<div role="main"                     data-platform="atk,mac" data-role-atk="AXLandmarkMain" data-role-mac="AXGroup" data-subrole="AXLandmarkMain" data-roledescription="main" class="ex">X</div>
+<div role="marquee"                  data-platform="atk,mac" data-role-atk="AXMarquee" data-role-mac="AXGroup" data-subrole="AXApplicationMarquee" data-roledescription="marquee" class="ex">X</div>
+<div role="math"                     data-platform="atk,mac" data-role-atk="AXMath" data-role-mac="AXGroup" data-subrole="AXDocumentMath" data-roledescription="math" class="ex">X</div>
+<div role="menu"                     data-platform="atk,mac" data-role="AXMenu" data-subrole="" data-roledescription="menu" class="ex">
+    <!-- Note: diff between menuitem types is an attribute; need additional non-role verification in another test. -->
+    <div role="menuitem"             data-platform="atk,mac" data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
+    <div role="menuitemcheckbox"     data-platform="atk,mac" data-role-atk="AXCheckMenuItem" data-role-mac="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
+    <div role="menuitemradio"        data-platform="atk,mac" data-role-atk="AXRadioMenuItem" data-role-mac="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
+</div>
+<div role="menubar"                  data-platform="atk,mac" data-role="AXMenuBar" data-subrole="" data-roledescription="menu bar" class="ex">
+    <!-- Note: diff between menuitem types is an attribute; need additional non-role verification in another test. -->
+    <div role="menuitem"             data-platform="atk,mac" data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
+    <div role="menuitemcheckbox"     data-platform="atk,mac" data-role-atk="AXCheckMenuItem" data-role-mac="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
+    <div role="menuitemradio"        data-platform="atk,mac" data-role-atk="AXRadioMenuItem" data-role-mac="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
+</div>
+<div role="navigation"               data-platform="atk,mac" data-role-atk="AXLandmarkNavigation" data-role-mac="AXGroup" data-subrole="AXLandmarkNavigation" data-roledescription="navigation" class="ex">X</div>
+<div role="note"                     data-platform="atk,mac" data-role-atk="AXComment" data-role-mac="AXGroup" data-subrole="AXDocumentNote" data-roledescription="note" class="ex">X</div>
+<!-- [ATK] Skipped: not to be exposed --><div role="presentation" data-platform="mac" data-platform="atk,mac" data-role="" data-subrole="" data-roledescription="" class="ex">X</div>
+<div role="progressbar"              data-platform="atk,mac" data-role="AXProgressIndicator" data-subrole="" data-roledescription="progress indicator" class="ex">X</div>
+<div role="radiogroup"               data-platform="atk,mac" data-role-atk="AXGroup" data-role-mac="AXRadioGroup" data-subrole="" data-roledescription="radio group" class="ex">
+    <div role="radio"                data-platform="atk,mac" data-role="AXRadioButton" data-subrole="" data-roledescription="radio button" class="ex">X</div>
+</div>
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="region" data-platform="mac" data-role="AXGroup" data-subrole="AXDocumentRegion" data-roledescription="region" class="ex">X</div>
+<div role="scrollbar"                data-platform="atk,mac" data-role="AXScrollBar" data-subrole="" data-roledescription="scroll bar" class="ex">X</div>
+<div role="search"                   data-platform="atk,mac" data-role-atk="AXLandmarkSearch" data-role-mac="AXGroup" data-subrole="AXLandmarkSearch" data-roledescription="search" class="ex">X</div>
+<div role="separator"                data-platform="atk,mac" data-role-atk="AXSeparator" data-role-mac="AXSplitter" data-subrole="" data-roledescription="splitter" class="ex">X</div>
+<div role="slider"                   data-platform="atk,mac" data-role="AXSlider" data-subrole="" data-roledescription="slider" class="ex">X</div>
+<div role="spinbutton"               data-platform="atk,mac" data-role-atk="AXSpinButton" data-role-mac="AXIncrementor" data-subrole="" data-roledescription="stepper" class="ex">X</div>
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="status" data-platform="mac" data-role="AXGroup" data-subrole="AXApplicationStatus" data-roledescription="application status" class="ex">X</div>
+<div role="tablist"                  data-platform="atk,mac" data-role="AXTabGroup" data-subrole="" data-roledescription="tab group" class="ex">
+    <div role="tab"                  data-platform="atk,mac" data-role-atk="AXTab" data-role-mac="AXRadioButton" data-subrole="" data-roledescription="tab" class="ex">X</div>
+</div>
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="tabpanel" data-platform="mac" data-role="AXGroup" data-subrole="AXTabPanel" data-roledescription="tab panel" class="ex">X</div>
+<div role="textbox"                  data-platform="atk,mac" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex">X</div>
+<div role="timer"                    data-platform="atk,mac" data-role-atk="AXTimer" data-role-mac="AXGroup" data-subrole="AXApplicationTimer" data-roledescription="timer" class="ex">X</div>
+<div role="toolbar"                  data-platform="atk,mac" data-role="AXToolbar" data-subrole="" data-roledescription="toolbar" class="ex">X</div>
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="tooltip"                  data-platform="mac" data-role="AXGroup" data-subrole="AXUserInterfaceTooltip" data-roledescription="tooltip" class="ex">X</div>
+<!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="tree"                     data-platform="mac" data-role="AXOutline" data-subrole="" data-roledescription="outline" class="ex">
+    <!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="treeitem"             data-platform="mac" data-role="AXRow" data-subrole="AXOutlineRow" data-roledescription="outline row" class="ex">X</div>
+    <!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="group"                data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">
+        <!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="treeitem"         data-platform="mac" data-role="AXRow" data-subrole="AXOutlineRow" data-roledescription="outline row" class="ex">X</div>
+    </div>
+</div>
+<div role="treegrid"                 data-platform="atk,mac" data-role="AXTable" data-subrole="" data-roledescription="table" class="ex">
+    <!-- [ATK] Object not exposed (webkit.org/b/125491) --><div role="rowgroup"             data-platform="mac" data-role="" data-subrole="" data-roledescription="" class="ex">
+        <!-- [ATK] Object not exposed (webkit.org/b/125491) --><div role="row"              data-platform="mac" data-role="AXRow" data-subrole="" data-roledescription="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 role="rowheader"    data-platform="mac" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
+            <!-- [ATK] Wrong role (webkit.org/b/125493) --><div role="columnheader" data-platform="mac" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
+            <div role="gridcell"     data-platform="atk,mac" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
+        </div>
+    </div>
+</div>
+
+<div id="console"></div>
+<script>
+if (window.testRunner && window.accessibilityController) {
+    description("This tests that native elements and ARIA overrides result in the expected role, subrole and role description.")
+    var currentPlatform = accessibilityController.platformName;
+    var examples = document.querySelectorAll('.ex');
+    var indent = "\n      "; // newline and six spaces
+    var el, supportedPlatforms, ariaRole, axElement, role, subrole, roleDescription, output, expectedRole, expectation, matchedForPlatform, result;
+    for (var i = 0, c = examples.length; i < c; i++) {
+        el = examples[i];
+
+        supportedPlatforms = el.getAttribute('data-platform');
+        if (!supportedPlatforms || supportedPlatforms.indexOf(currentPlatform) == -1)
+            continue;
+
+        el.id = 'ex' + i;
+        ariaRole = el.getAttribute('role');
+        axElement = accessibilityController.accessibleElementById(el.id);
+        if (axElement) {
+            role = axElement.role;
+            subrole = axElement.subrole;
+            roleDescription = axElement.roleDescription;
+        } else {
+            role = 'AXRole: ';
+            subrole = 'AXSubrole: ';
+            roleDescription = 'AXRoleDescription: ';
+        }
+
+        output = el.tagName.toLowerCase() + (ariaRole?("[role="+ariaRole+"]"):'');
+        if (el.getAttribute('data-note')) {
+            output += el.getAttribute('data-note');
+        }
+        output += indent;
+        output += role + indent;
+
+        expectedRole = "";
+        if (el.hasAttribute('data-role-' + currentPlatform)) {
+            expectedRole = el.getAttribute('data-role-' + currentPlatform);
+        } else if (el.hasAttribute('data-role')) {
+            expectedRole = el.getAttribute('data-role');
+        }
+
+        expectation = expectedRole;
+        matchedResults = (role.replace('AXRole: ','') == expectedRole)
+
+        // In the Mac platform more things than just the role are tested so we need to
+        // expand a bit the output and expected results, as well as add some extra checks.
+        if (currentPlatform == "mac") {
+            output += subrole + indent;
+            output += roleDescription + indent;
+
+            expectation += "/";
+            expectation += el.getAttribute('data-subrole');
+            if (el.getAttribute('data-alternatesubrole')) expectation += " or " + el.getAttribute('data-alternatesubrole');
+            expectation += "/" + el.getAttribute('data-roledescription');
+
+            matchedResults = matchedResults && (subrole.replace('AXSubrole: ','') == el.getAttribute('data-subrole') || subrole.replace('AXSubrole: ','') == el.getAttribute('data-alternatesubrole'));
+            matchedResults = matchedResults && (roleDescription.replace('AXRoleDescription: ','') == el.getAttribute('data-roledescription'));
+        }
+
+        result = document.getElementById('console');
+        if (matchedResults) {
+            result.innerText += "PASS: " + output + "\n";
+        } else {
+            result.innerText += "FAIL: " + output + "Expected: " + expectation + "\n\n";
+        }
+    }
+
+    // Once tests are complete, hide all the example markup.
+    examples = document.querySelectorAll('.ex');
+    for (var i = 0, c = examples.length; i < c; i++) {
+        el = examples[i];
+        el.style.display = 'none';
+    }
+}
+</script>
+<script src="../resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/gtk/accessibility/roles-exposed.html b/LayoutTests/platform/gtk/accessibility/roles-exposed.html
deleted file mode 100644 (file)
index ba419a5..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<body>
-<script src="../../../resources/js-test-pre.js"></script>
-
-<!-- ==================================================================================================== -->
-<!-- HTML elements in alphabetical order, excepting the need for nesting (e.g. <li> is with its <ol> and <ul> parents) -->
-<!-- ==================================================================================================== -->
-<a data-role="AXLink" href="#" data-note="[href]" class="ex">X</a>
-<!-- skipped ATK: not focusable <a data-role="" data-note=":not([href])" class="ex">X</a>-->
-<!-- skipped ATK: not focusable <abbr data-role="" class="ex">X</abbr>-->
-<address data-role="AXLandmarkContentInfo" class="ex">X</address>
-<!-- skipped <area> -->
-<article data-role="AXArticle" class="ex">X</article>
-<aside data-role="AXLandmarkComplementary" class="ex">X</aside>
-<!-- http://webkit.org/b/125491 <audio data-role="" class="ex">X</audio>-->
-<!-- skipped ATK: not focusable <b data-role="" class="ex">X</b>-->
-<!-- skipped ATK: not focusable <bdo data-role="" class="ex">X</bdo>-->
-<blockquote data-role="AXGroup" class="ex">X</blockquote>
-<button data-role="AXButton" class="ex">X</button>
-<!-- http://webkit.org/b/125491 <canvas data-role="" class="ex">X</canvas>-->
-<!-- http://webkit.org/b/125491 <cite data-role="" class="ex">X</cite>-->
-<!-- http://webkit.org/b/125491 <code data-role="" class="ex">X</code>-->
-<!-- skipped <command> -->
-<!-- skipped <datalist> -->
-<!-- skipped ATK: not focusable <del data-role="" class="ex">X</del>-->
-<!-- skipped <details/summary> http://webkit.org/b/108979 -->
-<!-- skipped <dfn data-role="AXGroup" class="ex">X</dfn> -->
-<dl data-role="AXDescriptionList" class="ex">
-    <dt data-role="AXDescriptionTerm" class="ex">X</dt>
-    <dd data-role="AXDescriptionValue" class="ex">X</dd>
-</dl>
-<div data-role="AXSection" class="ex">X</div>
-<!-- skipped ATK: not focusable <em data-role="" class="ex">X</em>-->
-<!-- skipped <embed> -->
-<fieldset data-role="AXGroup" class="ex">
-    <legend data-role="AXLabel" class="ex">X</legend>
-</fieldset>
-<!-- skipped figure/figcaption http://webkit.org/b/108996 -->
-<!-- skipped <footer data-role="AXGroup" class="ex">X</footer> -->
-<form data-role="AXForm" class="ex">X</form>
-<!-- skipped <frame> -->
-<!-- skipped <frameset> -->
-<!-- skipped <head> -->
-<header data-role="AXLandmarkBanner" class="ex">X</header>
-<hgroup data-role="AXGroup" class="ex">X</hgroup>
-<h1 data-role="AXHeading" class="ex">X</h1>
-<h2 data-role="AXHeading" class="ex">X</h2>
-<h3 data-role="AXHeading" class="ex">X</h3>
-<h4 data-role="AXHeading" class="ex">X</h4>
-<h5 data-role="AXHeading" class="ex">X</h5>
-<h6 data-role="AXHeading" class="ex">X</h6>
-<hr data-role="AXSeparator" class="ex">
-<!-- skipped <html> -->
-<!-- skipped ATK: not focusable <i data-role="" class="ex">X</i>-->
-<!-- skipped <iframe> -->
-<!-- http://webkit.org/b/125491 <img data-role="" class="ex" data-note=":not([src]):not([alt])">-->
-<!-- http://webkit.org/b/125491 <img data-role="" class="ex" alt="" data-note="[alt='']">-->
-<!-- http://webkit.org/b/125491 <img data-role="" class="ex" src="foo.png" data-note="[src]:not([alt])">-->
-<img data-role="AXImage" class="ex" alt="X" data-note="[alt='X']">
-<input type="button" value="X" data-role="AXButton" class="ex" data-note="[type='button']">
-<!-- skipped <menu><input type="button"></menu> -->
-<!-- http://webkit.org/b/125493 <input type="color" value="X" data-role="AXColorWell" class="ex" data-note="[type='color']">-->
-<input type="checkbox" data-role="AXCheckBox" class="ex" data-note="[type='checkbox']">
-<!-- skipped <menu><input type="checkbox"></menu> -->
-<!-- http://webkit.org/b/109017 --><input type="date" value="X" data-role="AXTextField" class="ex" data-note="[type='date']">
-<!-- http://webkit.org/b/109017 --><input type="datetime" value="X" data-role="AXTextField" class="ex" data-note="[type='datetime']">
-<!-- http://webkit.org/b/109017 --><input type="datetime-local" value="X" data-role="AXTextField" class="ex" data-note="[type='datetime-local']">
-<!-- http://webkit.org/b/109017 --><input type="email" value="X" data-role="AXTextField" class="ex" data-note="[type='email']">
-<input type="file" data-role="AXButton" class="ex" data-note="[type='file']">
-<!-- skipped ATK: not visible <input type="hidden" data-role="" class="ex" data-note="[type='hidden']">-->
-<input type="image" data-role="AXButton" class="ex" data-note="[type='image']">
-<!-- http://webkit.org/b/109017 --><input type="month" value="X" data-role="AXTextField" class="ex" data-note="[type='month']">
-<!-- http://webkit.org/b/109017 --><input type="number" value="X" data-role="AXTextField" class="ex" data-note="[type='number']">
-<input type="password" value="X" data-role="AXPasswordField" class="ex" data-note="[type='password']">
-<input type="radio" data-role="AXRadioButton" class="ex" data-note="[type='radio']">
-<!-- skipped <menu><input type="radio"></menu> -->
-<input type="range" data-role="AXSlider" class="ex" data-note="[type='range']">
-<input type="reset" data-role="AXButton" class="ex" data-note="[type='reset']">
-<input type="search" value="X" data-role="AXTextField" class="ex" data-note="[type='search']">
-<input type="submit" data-role="AXButton" class="ex" data-note="[type='submit']">
-<!-- http://webkit.org/b/109017 --><input type="tel" value="X" data-role="AXTextField" class="ex" data-note="[type='tel']">
-<input type="text" value="X" data-role="AXTextField" class="ex" data-note="[type='text']">
-<!-- skipped <input type="text"> with suggestions source element: http://www.w3.org/html/wg/drafts/html/master/forms.html#concept-input-list -->
-<!-- http://webkit.org/b/109017 --><input type="time" value="X" data-role="AXTextField" class="ex" data-note="[type='time']">
-<!-- http://webkit.org/b/109017 --><input type="url" value="X" data-role="AXTextField" class="ex" data-note="[type='url']">
-<!-- http://webkit.org/b/109017 --><input type="week" value="X" data-role="AXTextField" class="ex" data-note="[type='week']">
-<!-- skipped ATK: not focusable <ins data-role="" class="ex">X</ins>-->
-<!-- skipped <link> -->
-<!-- skipped <map> -->
-<!-- skipped ATK: not focusable -- http://webkit.org/b/109018 <mark data-role="" class="ex">X</mark>-->
-<math data-role="AXMath" class="ex">X</math>
-<!-- skipped <menu> -->
-<!-- skipped <meta> -->
-<!-- http://webkit.org/b/125491 <meter data-role="AXProgressIndicator" class="ex" value="0.75">X</meter>-->
-<nav data-role="AXLandmarkNavigation" class="ex">X</nav>
-<!-- skipped <noscript> -->
-<!-- skipped <object> -->
-<ol data-role="AXList" class="ex">
-    <li data-role="AXListItem" class="ex">X</li>
-</ol>
-<!-- skipped <optgroup> -->
-<!-- skipped <option> -->
-<!-- skipped <output> -->
-<p data-role="AXParagraph" class="ex">X</p>
-<!-- skipped <param> -->
-<pre data-role="AXGroup" class="ex">X</pre>
-<progress data-role="AXProgressIndicator" class="ex" value="0.75">X</progress>
-<!-- skipped ATK: not focusable <q data-role="" class="ex">X</q> -->
-<!-- skipped <ruby/rp/rt> -->
-<!-- skipped ATK: not focusable <s data-role="" class="ex">X</s> -->
-<!-- skipped ATK: not focusable <samp data-role="" class="ex">X</samp> -->
-<!-- skipped <script> -->
-<!-- http://webkit.org/b/125493 <section data-role="AXSection" class="ex">X</section> -->
-<select data-role="AXComboBox" class="ex" data-note=":not([multiple])">
-<!-- http://webkit.org/b/125491 <option data-role="" class="ex">X</option> -->
-<!-- http://webkit.org/b/125491 <optgroup data-role="" class="ex" label="more"> <option>X</option> </optgroup> -->
-</select>
-<select data-role="AXList" class="ex" multiple data-note="[multiple]">
-    <option data-role="AXListItem" class="ex">X</option>
-    <optgroup data-role="AXListItem" class="ex" label="more">
-        <option>Y</option>
-        <option>Z</option>
-    </optgroup>
-</select>
-<!-- skipped ATK: not focusable <small data-role="" class="ex">X</small> -->
-<!-- skipped <source> -->
-<!-- skipped ATK: not focusable <span data-role="" class="ex">X</span> -->
-<!-- skipped ATK: not focusable <strong data-role="" class="ex">X</strong> -->
-<!-- skipped <style> -->
-<!-- skipped ATK: not focusable <sub data-role="" class="ex">X</sub> -->
-<!-- skipped ATK: not focusable <sup data-role="" class="ex">X</sup> -->
-<!-- http://webkit.org/b/125491 <svg data-role="" class="ex">X</svg> -->
-
-<table data-role="AXTable" class="ex">
-<!-- skipped ATK: not to be exposed <caption data-role="" class="ex">X</caption> -->
-    <thead data-role=""><!-- skipped ATK: not to be exposed -->
-        <tr data-role="AXRow" class="ex"><!-- http://webkit.org/b/125491 -->
-            <!-- Need separate test to verify colheader/rowheader -->
-            <th data-role="AXCell" class="ex">X</th>
-        </tr>
-    </thead>
-    <tbody data-role=""><!-- skipped ATK: not to be exposed -->
-        <tr data-role="AXRow" class="ex"><!-- http://webkit.org/b/125491 -->
-            <td data-role="AXCell" class="ex">X</td>
-        </tr>
-    </tbody>
-    <tfoot data-role=""><!-- skipped ATK: not to be exposed -->
-        <tr data-role="AXRow" class="ex"><!-- http://webkit.org/b/125491 -->
-            <!-- Need separate test to verify colheader/rowheader -->
-            <th data-role="AXCell" class="ex">X</th>
-        </tr>
-    </tfoot>
-</table>
-<textarea data-role="AXTextField" class="ex">X</textarea>
-<!-- http://webkit.org/b/125491 <time data-role="" class="ex">X</time> -->
-<!-- skipped <title> -->
-<ul data-role="AXList" class="ex">
-    <li data-role="AXListItem" class="ex">X</li>
-</ul>
-<!-- skipped ATK: not focusable <var data-role="" class="ex">X</var> -->
-<!-- http://webkit.org/b/125491 <video> -->
-<!-- skipped ATK: not focusable <wbr data-role="" class="ex">X</wbr> -->
-<!-- Todo: I left off adding HTML5 elements here at previous element: https://dvcs.w3.org/hg/html-api-map/raw-file/default/Overview.html -->
-
-
-
-<!-- ====================================================================================================== -->
-<!-- Abstract ARIA roles in alphabetical order; only generic AXSection role should be exposed on abstract roles -->
-<!-- ====================================================================================================== -->
-<div role="command"     data-role="AXSection" class="ex">X</div>
-<div role="composite"   data-role="AXSection" class="ex">X</div>
-<div role="input"       data-role="AXSection" class="ex">X</div>
-<div role="landmark"    data-role="AXSection" class="ex">X</div>
-<div role="range"       data-role="AXSection" class="ex">X</div>
-<div role="roletype"    data-role="AXSection" class="ex">X</div>
-<div role="section"     data-role="AXSection" class="ex">X</div>
-<div role="sectionhead" data-role="AXSection" class="ex">X</div>
-<div role="select"      data-role="AXSection" class="ex">X</div>
-<div role="structure"   data-role="AXSection" class="ex">X</div>
-<div role="widget"      data-role="AXSection" class="ex">X</div>
-<div role="window"      data-role="AXSection" class="ex">X</div>
-
-
-<!-- ==================================================================================================== -->
-<!-- Non-abstract ARIA roles in alphabetical order, excepting the need for nesting (e.g. row is with its grid parent) -->
-<!-- ==================================================================================================== -->
-<div role="alert"                    data-role="AXAlert" class="ex">X</div>
-<div role="alertdialog"              data-role="AXAlert" class="ex">X</div>
-<div role="application"              data-role="AXEmbedded" class="ex">X</div>
-<div role="article"                  data-role="AXArticle" class="ex">X</div>
-<div role="banner"                   data-role="AXLandmarkBanner" class="ex">X</div>
-<div role="button"                   data-role="AXButton" class="ex">X</div>
-<div role="checkbox"                 data-role="AXCheckBox" class="ex">X</div>
-<div role="combobox"                 data-role="AXComboBox" class="ex">X</div>
-<div role="complementary"            data-role="AXLandmarkComplementary" class="ex">X</div>
-<div role="contentinfo"              data-role="AXLandmarkContentInfo" class="ex">X</div>
-<div role="definition"               data-role="AXDefinition" class="ex">X</div>
-<div role="dialog"                   data-role="AXDialog" class="ex">X</div>
-<div role="directory"                data-role="AXList" class="ex">X</div>
-<!-- http://webkit.org/b/125493 <div role="document"                 data-role="AXGroup" class="ex">X</div>-->
-<!-- skipped ATK: wrong role <div role="form"                     data-role="AXForm" class="ex">X</div>-->
-<div role="grid"                     data-role="AXTable" class="ex">
-    <div role="rowgroup"             data-role="" class="ex"><!-- http://webkit.org/b/125491 -->
-        <div role="row"              data-role="AXRow" class="ex"><!-- http://webkit.org/b/125491 -->
-            <!-- Note: diff between rowheader, columnheader, and gridcell is in cross-reference from grid; need additional non-role verification in another test. -->
-            <!-- http://webkit.org/b/125493<div role="rowheader"    data-role="AXCell" class="ex">X</div>-->
-            <!-- http://webkit.org/b/125493<div role="columnheader" data-role="AXCell" class="ex">X</div>-->
-            <div role="gridcell"     data-role="AXCell" class="ex">X</div>
-        </div>
-    </div>
-</div>
-<div role="group"                    data-role="AXGroup" class="ex">X</div>
-<div role="heading"                  data-role="AXHeading" class="ex">X</div>
-<div role="img"                      data-role="AXImage" class="ex">X</div>
-<div role="link"                     data-role="AXLink" class="ex">X</div>
-<div role="list"                     data-role="AXList" class="ex">
-    <div role="listitem"             data-role="AXListItem" class="ex">X</div>
-</div>
-<div role="listbox"                  data-role="AXListBox" class="ex"><!-- http://webkit.org/b/125491 -->
-    <div role="option"               data-role="AXListItem" class="ex">X</div>
-</div>
-<div role="log"                      data-role="AXLog" class="ex">X</div>
-<div role="main"                     data-role="AXLandmarkMain" class="ex">X</div>
-<div role="marquee"                  data-role="AXMarquee" class="ex">X</div>
-<div role="math"                     data-role="AXMath" class="ex">X</div>
-<div role="menu"                     data-role="AXMenu" class="ex">
-    <!-- Note: diff between menuitem types is an attribute; need additional non-role verification in another test. -->
-    <div role="menuitem"             data-role="AXMenuItem" class="ex">X</div>
-    <div role="menuitemcheckbox"     data-role="AXCheckMenuItem" class="ex">X</div>
-    <div role="menuitemradio"        data-role="AXRadioMenuItem" class="ex">X</div>
-</div>
-<div role="menubar"                  data-role="AXMenuBar" class="ex">
-    <!-- Note: diff between menuitem types is an attribute; need additional non-role verification in another test. -->
-    <div role="menuitem"             data-role="AXMenuItem" class="ex">X</div>
-    <div role="menuitemcheckbox"     data-role="AXCheckMenuItem" class="ex">X</div>
-    <div role="menuitemradio"        data-role="AXRadioMenuItem" class="ex">X</div>
-</div>
-<div role="navigation"               data-role="AXLandmarkNavigation" class="ex">X</div>
-<div role="note"                     data-role="AXComment" class="ex">X</div>
-<!-- skipped: presentation elements should not be exposed directly <div role="presentation"             data-role="" class="ex">X</div>-->
-<div role="progressbar"              data-role="AXProgressIndicator" class="ex">X</div>
-<div role="radiogroup"               data-role="AXGroup" class="ex">
-    <div role="radio"                data-role="AXRadioButton" class="ex">X</div>
-</div>
-<!-- http://webkit.org/b/125493 <div role="region"                   data-role="AXGroup" class="ex">X</div>-->
-<div role="scrollbar"                data-role="AXScrollBar" class="ex">X</div>
-<div role="search"                   data-role="AXLandmarkSearch" class="ex">X</div>
-<div role="separator"                data-role="AXSeparator" class="ex">X</div>
-<div role="slider"                   data-role="AXSlider" class="ex">X</div>
-<div role="spinbutton"               data-role="AXSpinButton" class="ex">X</div>
-<!-- http://webkit.org/b/125493 <div role="status"                   data-role="AXGroup" class="ex">X</div>-->
-<div role="tablist"                  data-role="AXTabGroup" class="ex">
-    <div role="tab"                  data-role="AXTab" class="ex">X</div>
-</div>
-<!-- skipped ATK: wrong role <div role="tabpanel"                 data-role="AXGroup" panel" class="ex">X</div>-->
-<div role="textbox"                  data-role="AXTextField" class="ex">X</div>
-<div role="timer"                    data-role="AXTimer" class="ex">X</div>
-<div role="toolbar"                  data-role="AXToolbar" class="ex">X</div>
-<!-- http://webkit.org/b/125493 <div role="tooltip"                  data-role="AXGroup" class="ex">X</div>-->
-<!-- http://webkit.org/b/125493 <div role="tree"                     data-role="AXOutline" class="ex">-->
-<!-- http://webkit.org/b/125493     <div role="treeitem"             data-role="AXRow" class="ex">X</div>-->
-<!-- http://webkit.org/b/125493     <div role="group"                data-role="" class="ex">-->
-<!-- http://webkit.org/b/125493         <div role="treeitem"         data-role="AXRow" class="ex">X</div>-->
-<!--</div>-->
-<!--</div>-->
-<div role="treegrid"                 data-role="AXTable" class="ex">
-    <div role="rowgroup"             data-role="" class="ex"><!-- http://webkit.org/b/125491 -->
-        <div role="row"              data-role="AXRow" class="ex"><!-- http://webkit.org/b/125491 -->
-            <!-- Note: diff between rowheader, columnheader, and gridcell is in cross-reference from grid; need additional non-role verification in another test. -->
-            <!-- http://webkit.org/b/125493<div role="rowheader"    data-role="AXCell" class="ex">X</div>-->
-            <!-- http://webkit.org/b/125493<div role="columnheader" data-role="AXCell" class="ex">X</div>-->
-            <div role="gridcell"     data-role="AXCell" class="ex">X</div>
-        </div>
-    </div>
-</div>
-
-
-<div id="console"></div>
-<script>
-if (window.testRunner && window.accessibilityController) {
-    description("This tests that native elements and ARIA overrides result in the expected role and role description.")
-    var examples = document.querySelectorAll('.ex');
-    var indent = "\n      "; // newline and six spaces
-    var el, ariaRole, axElement, role, output, expectation, result;
-    for (var i = 0, c = examples.length; i < c; i++) {
-        el = examples[i];
-        el.id = 'ex' + i;
-        ariaRole = el.getAttribute('role');
-        axElement = accessibilityController.accessibleElementById(el.id);
-        if (axElement)
-            role = axElement.role;
-        else
-            role = 'AXRole: (no element)';
-
-        output = el.tagName.toLowerCase() + (ariaRole?("[role="+ariaRole+"]"):'');
-        if (el.getAttribute('data-note')) {
-            output += el.getAttribute('data-note');
-        }
-        output += indent;
-        output += role + indent;
-
-        expectation = el.getAttribute('data-role');
-
-        result = document.getElementById('console');
-
-        // Test AXRole
-        if (role.replace('AXRole: ','') == el.getAttribute('data-role'))
-            result.innerText += "PASS: " + output + "\n";
-        else
-            result.innerText += "FAIL: " + output + "Expected: " + expectation + "\n\n";
-    }
-
-    // Once tests are complete, hide all the example markup.
-    examples = document.querySelectorAll('.ex');
-    for (var i = 0, c = examples.length; i < c; i++) {
-        el = examples[i];
-        el.style.display = 'none';
-    }
-}
-</script>
-<script src="../../../resources/js-test-post.js"></script>
-</body>
-</html>
diff --git a/LayoutTests/platform/mac/accessibility/role-subrole-roledescription.html b/LayoutTests/platform/mac/accessibility/role-subrole-roledescription.html
deleted file mode 100644 (file)
index 37c6539..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<body>
-<script src="../../../resources/js-test-pre.js"></script>
-
-
-<!-- ==================================================================================================== -->
-<!-- HTML elements in alphabetical order, excepting the need for nesting (e.g. <li> is with its <ol> and <ul> parents) -->
-<!-- ==================================================================================================== -->
-<a data-role="AXLink" data-subrole="" data-roledescription="link" href="#" data-note="[href]" class="ex">X</a>
-<a data-role="" data-subrole="" data-roledescription="" data-note=":not([href])" class="ex">X</a>
-<abbr data-role="" data-subrole="" data-roledescription="" class="ex">X</abbr>
-<!-- http://webkit.org/b/83989 --><address data-role="AXGroup" data-subrole="AXLandmarkContentInfo" data-roledescription="content information" class="ex">X</address>
-<!-- skipped <area> -->
-<article data-role="AXGroup" data-subrole="AXDocumentArticle" data-roledescription="article" class="ex">X</article>
-<aside data-role="AXGroup" data-subrole="AXLandmarkComplementary" data-roledescription="complementary" class="ex">X</aside>
-<audio data-role="" data-subrole="" data-roledescription="" class="ex">X</audio>
-<b data-role="" data-subrole="" data-roledescription="" class="ex">X</b>
-<bdo data-role="" data-subrole="" data-roledescription="" class="ex">X</bdo>
-<blockquote data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</blockquote>
-<button data-role="AXButton" data-subrole="" data-roledescription="button" class="ex">X</button>
-<canvas data-role="" data-subrole="" data-roledescription="" class="ex">X</canvas>
-<cite data-role="" data-subrole="" data-roledescription="" class="ex">X</cite>
-<code data-role="" data-subrole="" data-roledescription="" class="ex">X</code>
-<!-- skipped <command> -->
-<!-- skipped <datalist> -->
-<del data-role="" data-subrole="" data-roledescription="" class="ex">X</del>
-<!-- skipped <details/summary> http://webkit.org/b/108979 -->
-<dfn data-role="AXGroup" data-subrole="AXDefinition" data-roledescription="definition" class="ex">X</dfn>
-<dl data-role="AXList" data-subrole="AXDescriptionList" data-alternatesubrole="AXDefinitionList" data-roledescription="description list" class="ex">
-    <dt data-role="AXGroup" data-subrole="AXTerm" data-roledescription="term" class="ex">X</dt>
-    <dd data-role="AXGroup" data-subrole="AXDescription" data-roledescription="description" class="ex">X</dd>
-</dl>
-<div data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<em data-role="" data-subrole="" data-roledescription="" class="ex">X</em>
-<!-- skipped <embed> -->
-<fieldset data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">
-    <legend data-role="" data-subrole="" data-roledescription="" class="ex">X</legend>
-</fieldset>
-<!-- skipped figure/figcaption http://webkit.org/b/108996 -->
-<footer data-role="AXGroup" data-subrole="AXLandmarkContentInfo" data-roledescription="footer" class="ex">X</footer>
-<form data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</form>
-<!-- skipped <frame> -->
-<!-- skipped <frameset> -->
-<!-- skipped <head> -->
-<!-- http://webkit.org/b/109013 --><header data-role="AXGroup" data-subrole="AXLandmarkBanner" data-roledescription="banner" class="ex">X</header>
-<hgroup data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</hgroup>
-<h1 data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h1>
-<h2 data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h2>
-<h3 data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h3>
-<h4 data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h4>
-<h5 data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h5>
-<h6 data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</h6>
-<!-- http://webkit.org/b/109015 --><hr data-role="" data-subrole="" data-roledescription="" class="ex">
-<!-- skipped <html> -->
-<i data-role="" data-subrole="" data-roledescription="" class="ex">X</i>
-<!-- skipped <iframe> -->
-<img data-role="" data-subrole="" data-roledescription="" class="ex" data-note=":not([src]):not([alt])">
-<img data-role="" data-subrole="" data-roledescription="" class="ex" alt="" data-note="[alt='']">
-<img data-role="" data-subrole="" data-roledescription="" class="ex" src="foo.png" data-note="[src]:not([alt])">
-<img data-role="AXImage" data-subrole="" data-roledescription="image" class="ex" alt="X" data-note="[alt='X']">
-<input type="button" value="X" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='button']">
-<!-- skipped <menu><input type="button"></menu> -->
-<!-- http://webkit.org/b/109017 --><input type="color" value="X" data-role="AXColorWell" data-subrole="" data-roledescription="color well" class="ex" data-note="[type='color']">
-<input type="checkbox" data-role="AXCheckBox" data-subrole="" data-roledescription="check box" class="ex" data-note="[type='checkbox']">
-<!-- skipped <menu><input type="checkbox"></menu> -->
-<!-- http://webkit.org/b/109017 --><input type="date" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='date']">
-<!-- http://webkit.org/b/109017 --><input type="datetime" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='datetime']">
-<!-- http://webkit.org/b/109017 --><input type="datetime-local" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='datetime-local']">
-<!-- http://webkit.org/b/109017 --><input type="email" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='email']">
-<input type="file" data-role="AXButton" data-subrole="AXFileUploadButton" data-roledescription="file upload button" class="ex" data-note="[type='file']">
-<input type="hidden" data-role="" data-subrole="" data-roledescription="" class="ex" data-note="[type='hidden']">
-<input type="image" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='image']">
-<!-- http://webkit.org/b/109017 --><input type="month" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='month']">
-<!-- http://webkit.org/b/109017 --><input type="number" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='number']">
-<input type="password" value="X" data-role="AXTextField" data-subrole="AXSecureTextField" data-roledescription="secure text field" class="ex" data-note="[type='password']">
-<input type="radio" data-role="AXRadioButton" data-subrole="" data-roledescription="radio button" class="ex" data-note="[type='radio']">
-<!-- skipped <menu><input type="radio"></menu> -->
-<input type="range" data-role="AXSlider" data-subrole="" data-roledescription="slider" class="ex" data-note="[type='range']">
-<input type="reset" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='reset']">
-<input type="search" value="X" data-role="AXTextField" data-subrole="AXSearchField" data-roledescription="search text field" class="ex" data-note="[type='search']">
-<input type="submit" data-role="AXButton" data-subrole="" data-roledescription="button" class="ex" data-note="[type='submit']">
-<!-- http://webkit.org/b/109017 --><input type="tel" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='tel']">
-<input type="text" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='text']">
-<!-- skipped <input type="text"> with suggestions source element: http://www.w3.org/html/wg/drafts/html/master/forms.html#concept-input-list -->
-<!-- http://webkit.org/b/109017 --><input type="time" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='time']">
-<!-- http://webkit.org/b/109017 --><input type="url" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='url']">
-<!-- http://webkit.org/b/109017 --><input type="week" value="X" data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex" data-note="[type='week']">
-<ins data-role="" data-subrole="" data-roledescription="" class="ex">X</ins>
-<!-- skipped <link> -->
-<!-- skipped <map> -->
-<!-- http://webkit.org/b/109018 --><mark data-role="" data-subrole="" data-roledescription="" class="ex">X</mark>
-<math data-role="AXGroup" data-subrole="AXDocumentMath" data-roledescription="math" class="ex">X</math>
-<!-- skipped <menu> -->
-<!-- skipped <meta> -->
-<meter data-role="AXProgressIndicator" data-subrole="" data-roledescription="progress indicator" class="ex" value="0.75">X</meter>
-<nav data-role="AXGroup" data-subrole="AXLandmarkNavigation" data-roledescription="navigation" class="ex">X</nav>
-<!-- skipped <noscript> -->
-<!-- skipped <object> -->
-<ol data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">
-    <li data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</li>
-</ol>
-<!-- skipped <optgroup> -->
-<!-- skipped <option> -->
-<!-- skipped <output> -->
-<p data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</p>
-<!-- skipped <param> -->
-<pre data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</pre>
-<progress data-role="AXProgressIndicator" data-subrole="" data-roledescription="progress indicator" class="ex" value="0.75">X</progress>
-<q data-role="" data-subrole="" data-roledescription="" class="ex">X</q>
-<!-- skipped <ruby/rp/rt> -->
-<s data-role="" data-subrole="" data-roledescription="" class="ex">X</s>
-<samp data-role="" data-subrole="" data-roledescription="" class="ex">X</samp>
-<!-- skipped <script> -->
-<!-- http://webkit.org/b/109024 --><section data-role="AXGroup" data-subrole="AXDocumentRegion" data-roledescription="region" class="ex">X</section>
-<select data-role="AXPopUpButton" data-subrole="" data-roledescription="pop up button" class="ex" data-note=":not([multiple])">
-    <option data-role="" data-subrole="" data-roledescription="" class="ex">X</option>
-    <optgroup data-role="" data-subrole="" data-roledescription="" class="ex" label="more">
-        <option>X</option>
-    </optgroup>
-</select>
-<select data-role="AXList" data-subrole="" data-roledescription="list" class="ex" multiple data-note="[multiple]">
-    <option data-role="AXStaticText" data-subrole="" data-roledescription="text" class="ex">X</option>
-    <optgroup data-role="AXStaticText" data-subrole="" data-roledescription="text" class="ex" label="more">
-        <option>Y</option>
-        <option>Z</option>
-    </optgroup>
-</select>
-<small data-role="" data-subrole="" data-roledescription="" class="ex">X</small>
-<!-- skipped <source> -->
-<span data-role="" data-subrole="" data-roledescription="" class="ex">X</span>
-<strong data-role="" data-subrole="" data-roledescription="" class="ex">X</strong>
-<!-- skipped <style> -->
-<sub data-role="" data-subrole="" data-roledescription="" class="ex">X</sub>
-<sup data-role="" data-subrole="" data-roledescription="" class="ex">X</sup>
-<svg data-role="" data-subrole="" data-roledescription="" class="ex">X</svg>
-
-<table data-role="AXTable" data-subrole="" data-roledescription="table" class="ex">
-    <caption data-role="" data-subrole="" data-roledescription="" class="ex">X</caption>
-    <thead data-role="" data-subrole="" data-roledescription="" class="ex">
-        <tr data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
-            <!-- Need separate test to verify colheader/rowheader -->
-            <th data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</th>
-        </tr>
-    </thead>
-    <tbody data-role="" data-subrole="" data-roledescription="" class="ex">
-        <tr data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
-            <td data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</td>
-        </tr>
-    </tbody>
-    <tfoot data-role="" data-subrole="" data-roledescription="" class="ex">
-        <tr data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
-            <!-- Need separate test to verify colheader/rowheader -->
-            <th data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</th>
-        </tr>
-    </tfoot>
-</table>
-<textarea data-role="AXTextArea" data-subrole="" data-roledescription="text entry area" class="ex">X</textarea>
-<time data-role="" data-subrole="" data-roledescription="" class="ex">X</time>
-<!-- skipped <title> -->
-<ul data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">
-    <li data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</li>
-</ul>
-<var data-role="" data-subrole="" data-roledescription="" class="ex">X</var>
-<!-- skipped <video> -->
-<wbr data-role="" data-subrole="" data-roledescription="" class="ex">X</wbr>
-<!-- Todo: I left off adding HTML5 elements here at previous element: https://dvcs.w3.org/hg/html-api-map/raw-file/default/Overview.html -->
-
-
-
-<!-- ==================================================================================================== -->
-<!-- Abstract ARIA roles in alphabetical order; only generic AXGroup role should be exposed on abstract roles -->
-<!-- ==================================================================================================== -->
-<div role="command"     data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="composite"   data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="input"       data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="landmark"    data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="range"       data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="roletype"    data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="section"     data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="sectionhead" data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="select"      data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="structure"   data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="widget"      data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="window"      data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-
-
-<!-- ==================================================================================================== -->
-<!-- Non-abstract ARIA roles in alphabetical order, excepting the need for nesting (e.g. row is with its grid parent) -->
-<!-- ==================================================================================================== -->
-<div role="alert"                    data-role="AXGroup" data-subrole="AXApplicationAlert" data-roledescription="alert" class="ex">X</div>
-<div role="alertdialog"              data-role="AXGroup" data-subrole="AXApplicationAlertDialog" data-roledescription="alert dialog" class="ex">X</div>
-<div role="application"              data-role="AXGroup" data-subrole="AXLandmarkApplication" data-roledescription="application" class="ex">X</div>
-<div role="article"                  data-role="AXGroup" data-subrole="AXDocumentArticle" data-roledescription="article" class="ex">X</div>
-<div role="banner"                   data-role="AXGroup" data-subrole="AXLandmarkBanner" data-roledescription="banner" class="ex">X</div>
-<div role="button"                   data-role="AXButton" data-subrole="" data-roledescription="button" class="ex">X</div>
-<div role="checkbox"                 data-role="AXCheckBox" data-subrole="" data-roledescription="check box" class="ex">X</div>
-<div role="combobox"                 data-role="AXComboBox" data-subrole="" data-roledescription="combo box" class="ex">X</div>
-<div role="complementary"            data-role="AXGroup" data-subrole="AXLandmarkComplementary" data-roledescription="complementary" class="ex">X</div>
-<div role="contentinfo"              data-role="AXGroup" data-subrole="AXLandmarkContentInfo" data-roledescription="content information" class="ex">X</div>
-<div role="definition"               data-role="AXGroup" data-subrole="AXDefinition" data-roledescription="definition" class="ex">X</div>
-<div role="dialog"                   data-role="AXGroup" data-subrole="AXApplicationDialog" data-roledescription="dialog" class="ex">X</div>
-<div role="directory"                data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">X</div>
-<div role="document"                 data-role="AXGroup" data-subrole="AXDocument" data-roledescription="document" class="ex">X</div>
-<div role="form"                     data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="grid"                     data-role="AXTable" data-subrole="" data-roledescription="table" class="ex">
-    <div role="rowgroup"             data-role="" data-subrole="" data-roledescription="" class="ex">
-        <div role="row"              data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
-            <!-- Note: diff between rowheader, columnheader, and gridcell is in cross-reference from grid; need additional non-role verification in another test. -->
-            <div role="rowheader"    data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
-            <div role="columnheader" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
-            <div role="gridcell"     data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
-        </div>
-    </div>
-</div>
-<div role="group"                    data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-<div role="heading"                  data-role="AXHeading" data-subrole="" data-roledescription="heading" class="ex">X</div>
-<div role="img"                      data-role="AXImage" data-subrole="" data-roledescription="image" class="ex">X</div>
-<div role="link"                     data-role="AXLink" data-subrole="" data-roledescription="link" class="ex">X</div>
-<div role="list"                     data-role="AXList" data-subrole="AXContentList" data-roledescription="content list" class="ex">
-    <div role="listitem"             data-role="AXGroup" data-subrole="" data-roledescription="group" class="ex">X</div>
-</div>
-<div role="listbox"                  data-role="AXList" data-subrole="" data-roledescription="list" class="ex">
-    <div role="option"               data-role="AXStaticText" data-subrole="" data-roledescription="text" class="ex">X</div>
-</div>
-<div role="log"                      data-role="AXGroup" data-subrole="AXApplicationLog" data-roledescription="log" class="ex">X</div>
-<div role="main"                     data-role="AXGroup" data-subrole="AXLandmarkMain" data-roledescription="main" class="ex">X</div>
-<div role="marquee"                  data-role="AXGroup" data-subrole="AXApplicationMarquee" data-roledescription="marquee" class="ex">X</div>
-<div role="math"                     data-role="AXGroup" data-subrole="AXDocumentMath" data-roledescription="math" class="ex">X</div>
-<div role="menu"                     data-role="AXMenu" data-subrole="" data-roledescription="menu" class="ex">
-    <!-- Note: diff between menuitem types is an attribute; need additional non-role verification in another test. -->
-    <div role="menuitem"             data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
-    <div role="menuitemcheckbox"     data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
-    <div role="menuitemradio"        data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
-</div>
-<div role="menubar"                  data-role="AXMenuBar" data-subrole="" data-roledescription="menu bar" class="ex">
-    <!-- Note: diff between menuitem types is an attribute; need additional non-role verification in another test. -->
-    <div role="menuitem"             data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
-    <div role="menuitemcheckbox"     data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
-    <div role="menuitemradio"        data-role="AXMenuItem" data-subrole="" data-roledescription="menu item" class="ex">X</div>
-</div>
-<div role="navigation"               data-role="AXGroup" data-subrole="AXLandmarkNavigation" data-roledescription="navigation" class="ex">X</div>
-<div role="note"                     data-role="AXGroup" data-subrole="AXDocumentNote" data-roledescription="note" class="ex">X</div>
-<div role="presentation"             data-role="" data-subrole="" data-roledescription="" class="ex">X</div>
-<div role="progressbar"              data-role="AXProgressIndicator" data-subrole="" data-roledescription="progress indicator" class="ex">X</div>
-<div role="radiogroup"               data-role="AXRadioGroup" data-subrole="" data-roledescription="radio group" class="ex">
-    <div role="radio"                data-role="AXRadioButton" data-subrole="" data-roledescription="radio button" class="ex">X</div>
-</div>
-<div role="region"                   data-role="AXGroup" data-subrole="AXDocumentRegion" data-roledescription="region" class="ex">X</div>
-<div role="scrollbar"                data-role="AXScrollBar" data-subrole="" data-roledescription="scroll bar" class="ex">X</div>
-<div role="search"                   data-role="AXGroup" data-subrole="AXLandmarkSearch" data-roledescription="search" class="ex">X</div>
-<div role="separator"                data-role="AXSplitter" data-subrole="" data-roledescription="splitter" class="ex">X</div>
-<div role="slider"                   data-role="AXSlider" data-subrole="" data-roledescription="slider" class="ex">X</div>
-<div role="spinbutton"               data-role="AXIncrementor" data-subrole="" data-roledescription="stepper" class="ex">X</div>
-<div role="status"                   data-role="AXGroup" data-subrole="AXApplicationStatus" data-roledescription="application status" class="ex">X</div>
-<div role="tablist"                  data-role="AXTabGroup" data-subrole="" data-roledescription="tab group" class="ex">
-    <div role="tab"                  data-role="AXRadioButton" data-subrole="" data-roledescription="tab" class="ex">X</div>
-</div>
-<div role="tabpanel"                 data-role="AXGroup" data-subrole="AXTabPanel" data-roledescription="tab panel" class="ex">X</div>
-<div role="textbox"                  data-role="AXTextField" data-subrole="" data-roledescription="text field" class="ex">X</div>
-<div role="timer"                    data-role="AXGroup" data-subrole="AXApplicationTimer" data-roledescription="timer" class="ex">X</div>
-<div role="toolbar"                  data-role="AXToolbar" data-subrole="" data-roledescription="toolbar" class="ex">X</div>
-<div role="tooltip"                  data-role="AXGroup" data-subrole="AXUserInterfaceTooltip" data-roledescription="tooltip" class="ex">X</div>
-<div role="tree"                     data-role="AXOutline" data-subrole="" data-roledescription="outline" class="ex">
-    <div role="treeitem"             data-role="AXRow" data-subrole="AXOutlineRow" data-roledescription="outline row" class="ex">X</div>
-    <div role="group"                data-role="" data-subrole="" data-roledescription="" class="ex">
-        <div role="treeitem"         data-role="AXRow" data-subrole="AXOutlineRow" data-roledescription="outline row" class="ex">X</div>
-    </div>
-</div>
-<div role="treegrid"                 data-role="AXTable" data-subrole="" data-roledescription="table" class="ex">
-    <div role="rowgroup"             data-role="" data-subrole="" data-roledescription="" class="ex">
-        <div role="row"              data-role="AXRow" data-subrole="" data-roledescription="row" class="ex">
-            <!-- Note: diff between rowheader, columnheader, and gridcell is in cross-reference from grid; need additional non-role verification in another test. -->
-            <div role="rowheader"    data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
-            <div role="columnheader" data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
-            <div role="gridcell"     data-role="AXCell" data-subrole="" data-roledescription="cell" class="ex">X</div>
-        </div>
-    </div>
-</div>
-
-
-<div id="console"></div>
-<script>
-if (window.testRunner && window.accessibilityController) {
-    description("This tests that native elements and ARIA overrides result in the expected role, subrole, and role description.")
-    var examples = document.querySelectorAll('.ex');
-    var indent = "\n      "; // newline and six spaces
-    var el, ariaRole, axElement, role, subrole, roleDescription, output, expectation, result;
-    for (var i = 0, c = examples.length; i < c; i++) {
-        el = examples[i];
-        el.id = 'ex' + i;
-        ariaRole = el.getAttribute('role');
-        axElement = accessibilityController.accessibleElementById(el.id);
-        if (axElement) {
-            role = axElement.role;
-            subrole = axElement.subrole;
-            roleDescription = axElement.roleDescription;
-        } else {
-            role = 'AXRole: ';
-            subrole = 'AXSubrole: ';
-            roleDescription = 'AXRoleDescription: ';
-        }
-        
-        output = el.tagName.toLowerCase() + (ariaRole?("[role="+ariaRole+"]"):'');
-        if (el.getAttribute('data-note')) {
-            output += el.getAttribute('data-note');
-        }
-        output += indent;
-        output += role + indent;
-        output += subrole + indent;
-        output += roleDescription + indent;
-
-        expectation = el.getAttribute('data-role') + "/";
-        expectation += el.getAttribute('data-subrole');
-        if (el.getAttribute('data-alternatesubrole')) expectation += " or " + el.getAttribute('data-alternatesubrole');
-        expectation += "/" + el.getAttribute('data-roledescription');
-
-        result = document.getElementById('console');
-        
-        // Test AXRole, AXSubrole, and AXRoleDescription.
-        if (role.replace('AXRole: ','') == el.getAttribute('data-role')
-            && (subrole.replace('AXSubrole: ','') == el.getAttribute('data-subrole') || subrole.replace('AXSubrole: ','') == el.getAttribute('data-alternatesubrole'))
-            && roleDescription.replace('AXRoleDescription: ','') == el.getAttribute('data-roledescription')) {
-            result.innerText += "PASS: " + output + "\n";
-        } else {
-            result.innerText += "FAIL: " + output + "Expected: " + expectation + "\n\n";
-        }
-    }
-    
-    // Once tests are complete, hide all the example markup.
-    examples = document.querySelectorAll('.ex');
-    for (var i = 0, c = examples.length; i < c; i++) {
-        el = examples[i];
-        el.style.display = 'none';
-    }
-}
-</script>
-<script src="../../../resources/js-test-post.js"></script>
-</body>
-</html>
@@ -1,5 +1,5 @@
  X
-This tests that native elements and ARIA overrides result in the expected role, subrole, and role description.
+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".