Title: [160447] trunk/LayoutTests
- Revision
- 160447
- Author
- mario.pr...@samsung.com
- Date
- 2013-12-11 10:58:23 -0800 (Wed, 11 Dec 2013)
Log Message
[ATK] Add new layout test to check ATK roles in a central place
https://bugs.webkit.org/show_bug.cgi?id=125525
Reviewed by Chris Fleizach.
New test added, with some skipped tests already present in
platform/mac/accessibility/role-subrole-roledescription.html (this
test is based in that one) as well as some issues specific to ATK
that have been reported in bugs, for traceability.
* platform/gtk/accessibility/roles-exposed-expected.txt: Added.
* platform/gtk/accessibility/roles-exposed.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (160446 => 160447)
--- trunk/LayoutTests/ChangeLog 2013-12-11 18:25:06 UTC (rev 160446)
+++ trunk/LayoutTests/ChangeLog 2013-12-11 18:58:23 UTC (rev 160447)
@@ -1,3 +1,18 @@
+2013-12-11 Mario Sanchez Prada <mario.pr...@samsung.com>
+
+ [ATK] Add new layout test to check ATK roles in a central place
+ https://bugs.webkit.org/show_bug.cgi?id=125525
+
+ Reviewed by Chris Fleizach.
+
+ New test added, with some skipped tests already present in
+ platform/mac/accessibility/role-subrole-roledescription.html (this
+ test is based in that one) as well as some issues specific to ATK
+ that have been reported in bugs, for traceability.
+
+ * platform/gtk/accessibility/roles-exposed-expected.txt: Added.
+ * platform/gtk/accessibility/roles-exposed.html: Added.
+
2013-12-11 Zan Dobersek <zdober...@igalia.com>
[GTK] Enable Battery Status API
Added: trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt (0 => 160447)
--- trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/gtk/accessibility/roles-exposed-expected.txt 2013-12-11 18:58:23 UTC (rev 160447)
@@ -0,0 +1,336 @@
+This tests that native elements and ARIA overrides result in the expected role and role description.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS: a[href]
+ AXRole: AXLink
+
+PASS: blockquote
+ AXRole: AXGroup
+
+PASS: button
+ AXRole: AXButton
+
+PASS: div
+ AXRole: AXSection
+
+PASS: fieldset
+ AXRole: AXGroup
+
+PASS: legend
+ AXRole: AXLabel
+
+PASS: form
+ AXRole: AXForm
+
+PASS: hgroup
+ AXRole: AXGroup
+
+PASS: h1
+ AXRole: AXHeading
+
+PASS: h2
+ AXRole: AXHeading
+
+PASS: h3
+ AXRole: AXHeading
+
+PASS: h4
+ AXRole: AXHeading
+
+PASS: h5
+ AXRole: AXHeading
+
+PASS: h6
+ AXRole: AXHeading
+
+PASS: hr
+ AXRole: AXSeparator
+
+PASS: img[alt='X']
+ AXRole: AXImage
+
+PASS: input[type='button']
+ AXRole: AXButton
+
+PASS: input[type='checkbox']
+ AXRole: AXCheckBox
+
+PASS: input[type='date']
+ AXRole: AXTextField
+
+PASS: input[type='datetime']
+ AXRole: AXTextField
+
+PASS: input[type='datetime-local']
+ AXRole: AXTextField
+
+PASS: input[type='email']
+ AXRole: AXTextField
+
+PASS: input[type='file']
+ AXRole: AXButton
+
+PASS: input[type='image']
+ AXRole: AXButton
+
+PASS: input[type='month']
+ AXRole: AXTextField
+
+PASS: input[type='number']
+ AXRole: AXTextField
+
+PASS: input[type='password']
+ AXRole: AXPasswordField
+
+PASS: input[type='radio']
+ AXRole: AXRadioButton
+
+PASS: input[type='range']
+ AXRole: AXSlider
+
+PASS: input[type='reset']
+ AXRole: AXButton
+
+PASS: input[type='search']
+ AXRole: AXTextField
+
+PASS: input[type='submit']
+ AXRole: AXButton
+
+PASS: input[type='tel']
+ AXRole: AXTextField
+
+PASS: input[type='text']
+ AXRole: AXTextField
+
+PASS: input[type='time']
+ AXRole: AXTextField
+
+PASS: input[type='url']
+ AXRole: AXTextField
+
+PASS: input[type='week']
+ AXRole: AXTextField
+
+PASS: ol
+ AXRole: AXList
+
+PASS: li
+ AXRole: AXListItem
+
+PASS: p
+ AXRole: AXParagraph
+
+PASS: pre
+ AXRole: AXGroup
+
+PASS: progress
+ AXRole: AXProgressIndicator
+
+PASS: select:not([multiple])
+ AXRole: AXComboBox
+
+PASS: select[multiple]
+ AXRole: AXList
+
+PASS: option
+ AXRole: AXListItem
+
+PASS: optgroup
+ AXRole: AXListItem
+
+PASS: table
+ AXRole: AXTable
+
+FAIL: tr
+
+ Expected: AXRow
+
+PASS: th
+ AXRole: AXCell
+
+FAIL: tr
+
+ Expected: AXRow
+
+PASS: td
+ AXRole: AXCell
+
+FAIL: tr
+
+ Expected: AXRow
+
+PASS: th
+ AXRole: AXCell
+
+PASS: textarea
+ AXRole: AXTextField
+
+PASS: ul
+ AXRole: AXList
+
+PASS: li
+ AXRole: AXListItem
+
+PASS: div[role=command]
+ AXRole: AXSection
+
+PASS: div[role=composite]
+ AXRole: AXSection
+
+PASS: div[role=input]
+ AXRole: AXSection
+
+PASS: div[role=landmark]
+ AXRole: AXSection
+
+PASS: div[role=range]
+ AXRole: AXSection
+
+PASS: div[role=roletype]
+ AXRole: AXSection
+
+PASS: div[role=section]
+ AXRole: AXSection
+
+PASS: div[role=sectionhead]
+ AXRole: AXSection
+
+PASS: div[role=select]
+ AXRole: AXSection
+
+PASS: div[role=structure]
+ AXRole: AXSection
+
+PASS: div[role=widget]
+ AXRole: AXSection
+
+PASS: div[role=window]
+ AXRole: AXSection
+
+PASS: div[role=alert]
+ AXRole: AXAlert
+
+PASS: div[role=alertdialog]
+ AXRole: AXAlert
+
+PASS: div[role=button]
+ AXRole: AXButton
+
+PASS: div[role=checkbox]
+ AXRole: AXCheckBox
+
+PASS: div[role=combobox]
+ AXRole: AXComboBox
+
+PASS: div[role=directory]
+ AXRole: AXList
+
+PASS: div[role=grid]
+ AXRole: AXTable
+
+PASS: div[role=rowgroup]
+
+
+FAIL: div[role=row]
+
+ Expected: AXRow
+
+PASS: div[role=gridcell]
+ AXRole: AXCell
+
+PASS: div[role=group]
+ AXRole: AXGroup
+
+PASS: div[role=heading]
+ AXRole: AXHeading
+
+PASS: div[role=img]
+ AXRole: AXImage
+
+PASS: div[role=link]
+ AXRole: AXLink
+
+PASS: div[role=list]
+ AXRole: AXList
+
+PASS: div[role=listitem]
+ AXRole: AXListItem
+
+FAIL: div[role=listbox]
+ AXRole: AXList
+ Expected: AXListBox
+
+PASS: div[role=option]
+ AXRole: AXListItem
+
+PASS: div[role=menu]
+ AXRole: AXMenu
+
+PASS: div[role=menuitem]
+ AXRole: AXMenuItem
+
+PASS: div[role=menuitemradio]
+ AXRole: AXRadioMenuItem
+
+PASS: div[role=menubar]
+ AXRole: AXMenuBar
+
+PASS: div[role=menuitem]
+ AXRole: AXMenuItem
+
+PASS: div[role=menuitemradio]
+ AXRole: AXRadioMenuItem
+
+PASS: div[role=progressbar]
+ AXRole: AXProgressIndicator
+
+PASS: div[role=radiogroup]
+ AXRole: AXGroup
+
+PASS: div[role=radio]
+ AXRole: AXRadioButton
+
+PASS: div[role=scrollbar]
+ AXRole: AXScrollBar
+
+PASS: div[role=separator]
+ AXRole: AXSeparator
+
+PASS: div[role=slider]
+ AXRole: AXSlider
+
+PASS: div[role=spinbutton]
+ AXRole: AXSpinButton
+
+PASS: div[role=tablist]
+ AXRole: AXTabGroup
+
+PASS: div[role=tab]
+ AXRole: AXTab
+
+PASS: div[role=textbox]
+ AXRole: AXTextField
+
+PASS: div[role=toolbar]
+ AXRole: AXToolbar
+
+PASS: div[role=treegrid]
+ AXRole: AXTable
+
+PASS: div[role=rowgroup]
+
+
+FAIL: div[role=row]
+
+ Expected: AXRow
+
+PASS: div[role=gridcell]
+ AXRole: AXCell
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/platform/gtk/accessibility/roles-exposed.html (0 => 160447)
--- trunk/LayoutTests/platform/gtk/accessibility/roles-exposed.html (rev 0)
+++ trunk/LayoutTests/platform/gtk/accessibility/roles-exposed.html 2013-12-11 18:58:23 UTC (rev 160447)
@@ -0,0 +1,325 @@
+
+<!DOCTYPE HTML>
+<html>
+<body>
+<script src=""
+
+<!-- ==================================================================================================== -->
+<!-- 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>-->
+<!-- http://webkit.org/b/125493 <address data-role="AXLandmarkContentInfo" class="ex">X</address>-->
+<!-- skipped <area> -->
+<!-- http://webkit.org/b/125493 <article data-role="AXArticle" class="ex">X</article>-->
+<!-- http://webkit.org/b/125493 <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> -->
+<!-- http://webkit.org/b/125493 <dl data-role="AXDefinitionList" list" class="ex">-->
+ <!-- http://webkit.org/b/125493 <dt data-role="AXGroup" class="ex">X</dt> -->
+ <!-- http://webkit.org/b/125493 <dd data-role="AXGroup" 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> -->
+<!-- http://webkit.org/b/125493 <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="" 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>-->
+<!-- http://webkit.org/b/125493 <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>-->
+<!-- http://webkit.org/b/125493 <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>
+<!-- http://webkit.org/b/125493 <div role="application" data-role="AXEmbedded" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <div role="article" data-role="AXArticle" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <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>
+<!-- http://webkit.org/b/125493 <div role="complementary" data-role="AXLandmarkComplementary" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <div role="contentinfo" data-role="AXLandmarkContentInfo" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <div role="definition" data-role="AXDefinition" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <div role="dialog" data-role="AXGroup" 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>
+<!-- http://webkit.org/b/125493 <div role="log" data-role="AXLog" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <div role="main" data-role="AXLandmarkMain" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <div role="marquee" data-role="AXMarquee" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <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>
+ <!-- http://webkit.org/b/125493 <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>
+ <!-- http://webkit.org/b/125493 <div role="menuitemcheckbox" data-role="AXCheckMenuItem" class="ex">X</div>-->
+ <div role="menuitemradio" data-role="AXRadioMenuItem" class="ex">X</div>
+</div>
+<!-- http://webkit.org/b/125493 <div role="navigation" data-role="AXLandmarkNavigation" class="ex">X</div>-->
+<!-- http://webkit.org/b/125493 <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>
+<!-- http://webkit.org/b/125493 <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>
+<!-- http://webkit.org/b/125493 <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: ';
+
+ 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=""
+</body>
+</html>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes