AX: roles-computedRoleString.html layout test should support enabling/disabling indiv...
authorjdiggs@igalia.com <jdiggs@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Jan 2018 20:39:12 +0000 (20:39 +0000)
committerjdiggs@igalia.com <jdiggs@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Jan 2018 20:39:12 +0000 (20:39 +0000)
https://bugs.webkit.org/show_bug.cgi?id=181806

Reviewed by Chris Fleizach.

Add a "data-platform" attribute to each element so that we can enable or disable
a given test case on a given platform. Update the platform expectations for GTK
to reflect changes and new support which happened in the interim. And remove the
test from the list of expected failures.

* accessibility/roles-computedRoleString.html:
* platform/gtk/TestExpectations:
* platform/gtk/accessibility/roles-computedRoleString-expected.txt:

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

LayoutTests/ChangeLog
LayoutTests/accessibility/roles-computedRoleString.html
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/gtk/accessibility/roles-computedRoleString-expected.txt

index 48d9066..3b33336 100644 (file)
@@ -1,5 +1,21 @@
 2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>
 
+        AX: roles-computedRoleString.html layout test should support enabling/disabling individual test cases
+        https://bugs.webkit.org/show_bug.cgi?id=181806
+
+        Reviewed by Chris Fleizach.
+
+        Add a "data-platform" attribute to each element so that we can enable or disable
+        a given test case on a given platform. Update the platform expectations for GTK
+        to reflect changes and new support which happened in the interim. And remove the
+        test from the list of expected failures.
+
+        * accessibility/roles-computedRoleString.html:
+        * platform/gtk/TestExpectations:
+        * platform/gtk/accessibility/roles-computedRoleString-expected.txt:
+
+2018-01-18  Joanmarie Diggs  <jdiggs@igalia.com>
+
         [GTK] AX: Two layout tests crash with error 'g_strstr_len: assertion 'haystack != NULL' failed' in Accessibility::UIElement::url
         https://bugs.webkit.org/show_bug.cgi?id=176796
 
index fa057c2..a0ac4f7 100644 (file)
 <!-- This only tests elements that have an exact 1:1 ARIA role mapping, and computed role overrides. -->
 <!-- ==================================================================================================== -->
 <div id="content">
-<a data-role="link" href="#" data-note="[href]" class="ex">X</a>
-<article data-role="article" class="ex">X</article>
-<aside data-role="complementary" class="ex">X</aside>
-<button data-role="button" class="ex">X</button>
-<dfn data-role="definition" class="ex">X</dfn>
-<dl data-role="" class="ex">
+<a data-role="link" href="#" data-note="[href]" data-platform="atk,mac" class="ex">X</a>
+<article data-role="article" data-platform="atk,mac" class="ex">X</article>
+<aside data-role="complementary" data-platform="atk,mac" class="ex">X</aside>
+<button data-role="button" data-platform="atk,mac" class="ex">X</button>
+<dfn data-role="definition" data-platform="atk,mac" class="ex">X</dfn>
+<dl data-role="" data-platform="atk,mac" class="ex">
     <dt>X</dt>
     <dd>X</dd>
 </dl>
-<footer data-role="" class="ex">X</footer>
-<form data-role="form" class="ex">X</form>
-<header data-role="banner" class="ex">X</header>
-<h1 data-role="heading" class="ex">X</h1>
-<h2 data-role="heading" class="ex">X</h2>
-<h3 data-role="heading" class="ex">X</h3>
-<h4 data-role="heading" class="ex">X</h4>
-<h5 data-role="heading" class="ex">X</h5>
-<h5 data-role="heading" class="ex">X</h6>
-<hr data-role="separator" class="ex">
-<img data-role="img" class="ex" data-note=":not([src]):not([alt])">
-<img data-role="" class="ex" alt="" data-note="[alt='']">
-<img data-role="img" class="ex" src="foo.png" data-note="[src]:not([alt])">
-<img data-role="img" class="ex" alt="X" data-note="[alt='X']">
-<input type="button" value="X" data-role="button" class="ex" data-note="[type='button']">
-<input type="checkbox" data-role="checkbox" class="ex" data-note="[type='checkbox']">
-<input type="date" data-role=""class="ex" data-note="[type='date']">
-<input type="datetime" value="X" data-role="" class="ex" data-note="[type='datetime']">
-<input type="datetime-local" value="X" data-role="" class="ex" data-note="[type='datetime-local']">
-<input type="email" value="X" data-role="" class="ex" data-note="[type='email']">
-<input type="file" data-role="button" class="ex" data-note="[type='file']">
-<input type="hidden" data-role="" class="ex" data-note="[type='hidden']">
-<input type="image" data-role="button" class="ex" data-note="[type='image']">
-<input type="month" value="X" data-role="" class="ex" data-note="[type='month']">
-<input type="number" value="X" data-role="" class="ex" data-note="[type='number']">
-<input type="password" value="X" data-role="" class="ex" data-note="[type='password']">
-<input type="radio" data-role="radio" class="ex" data-note="[type='radio']">
-<input type="range" data-role="slider" class="ex" data-note="[type='range']">
-<input type="reset" data-role="button" class="ex" data-note="[type='reset']">
-<input type="search" value="X" data-role="searchbox" class="ex" data-note="[type='search']">
-<input type="submit" data-role="button" class="ex" data-note="[type='submit']">
-<input type="tel" value="X" data-role="" class="ex" data-note="[type='tel']">
-<input type="text" value="X" data-role="" class="ex" data-note="[type='text']">
-<input type="time" value="X" data-role="" class="ex" data-note="[type='time']">
-<input type="url" value="X" data-role="" class="ex" data-note="[type='url']">
-<input type="week" value="X" data-role="" class="ex" data-note="[type='week']">
-<ins data-role="" class="ex">X</ins>
-<mark data-role="" class="ex">X</mark>
-<math data-role="math" class="ex">X</math>
+<footer data-role="" data-platform="atk,mac" class="ex">X</footer>
+<form data-role="form" data-platform="atk,mac" class="ex">X</form>
+<header data-role="banner" data-platform="atk,mac" class="ex">X</header>
+<h1 data-role="heading" data-platform="atk,mac" class="ex">X</h1>
+<h2 data-role="heading" data-platform="atk,mac" class="ex">X</h2>
+<h3 data-role="heading" data-platform="atk,mac" class="ex">X</h3>
+<h4 data-role="heading" data-platform="atk,mac" class="ex">X</h4>
+<h5 data-role="heading" data-platform="atk,mac" class="ex">X</h5>
+<h5 data-role="heading" data-platform="atk,mac" class="ex">X</h6>
+<hr data-role="separator" data-platform="atk,mac" class="ex">
+<img data-role="img" data-platform="atk,mac" class="ex" data-note=":not([src]):not([alt])">
+<img data-role="" data-platform="atk,mac" class="ex" alt="" data-note="[alt='']">
+<img data-role="img" data-platform="atk,mac" class="ex" src="foo.png" data-note="[src]:not([alt])">
+<img data-role="img" data-platform="atk,mac" class="ex" alt="X" data-note="[alt='X']">
+<input type="button" value="X" data-role="button" data-platform="atk,mac" class="ex" data-note="[type='button']">
+<input type="checkbox" data-role="checkbox" data-platform="atk,mac" class="ex" data-note="[type='checkbox']">
+<input type="date" data-role=""data-platform="atk,mac" class="ex" data-note="[type='date']">
+<input type="datetime" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='datetime']">
+<input type="datetime-local" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='datetime-local']">
+<input type="email" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='email']">
+<input type="file" data-role="button" data-platform="atk,mac" class="ex" data-note="[type='file']">
+<input type="hidden" data-role="" data-platform="atk,mac" class="ex" data-note="[type='hidden']">
+<input type="image" data-role="button" data-platform="atk,mac" class="ex" data-note="[type='image']">
+<input type="month" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='month']">
+<input type="number" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='number']">
+<input type="password" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='password']">
+<input type="radio" data-role="radio" data-platform="atk,mac" class="ex" data-note="[type='radio']">
+<input type="range" data-role="slider" data-platform="atk,mac" class="ex" data-note="[type='range']">
+<input type="reset" data-role="button" data-platform="atk,mac" class="ex" data-note="[type='reset']">
+<input type="search" value="X" data-role="searchbox" data-platform="atk,mac" class="ex" data-note="[type='search']">
+<input type="submit" data-role="button" data-platform="atk,mac" class="ex" data-note="[type='submit']">
+<input type="tel" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='tel']">
+<input type="text" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='text']">
+<input type="time" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='time']">
+<input type="url" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='url']">
+<input type="week" value="X" data-role="" data-platform="atk,mac" class="ex" data-note="[type='week']">
+<ins data-role="" data-platform="atk,mac" class="ex">X</ins>
+<mark data-role="" data-platform="atk,mac" class="ex">X</mark>
+<math data-role="math" data-platform="atk,mac" class="ex">X</math>
 <!-- skipped <menu> -->
 <!-- skipped <meta> -->
-<meter data-role="progressbar" class="ex" value="0.75">X</meter>
-<nav data-role="navigation" class="ex">X</nav>
+<!-- renable for atk after http://webkit.org/b/163383 fixed --><meter data-role="progressbar" data-platform="mac" class="ex" value="0.75">X</meter>
+<nav data-role="navigation" data-platform="atk,mac" class="ex">X</nav>
 <!-- skipped <noscript> -->
 <!-- skipped <object> -->
-<ol data-role="list" class="ex">
-    <li data-role="listitem" class="ex">X</li>
+<ol data-role="list" data-platform="atk,mac" class="ex">
+    <li data-role="listitem" data-platform="atk,mac" class="ex">X</li>
 </ol>
 <!-- skipped <optgroup> -->
 <!-- skipped <option> -->
 <!-- skipped <output> -->
-<p data-role="" class="ex">X</p>
+<p data-role="" data-platform="atk,mac" class="ex">X</p>
 <!-- skipped <param> -->
-<pre data-role="" class="ex">X</pre>
-<progress data-role="progressbar" class="ex" value="0.75">X</progress>
-<q data-role="" class="ex">X</q>
+<pre data-role="" data-platform="atk,mac" class="ex">X</pre>
+<progress data-role="progressbar" data-platform="atk,mac" class="ex" value="0.75">X</progress>
+<q data-role="" data-platform="atk,mac" class="ex">X</q>
 <!-- skipped <ruby/rp/rt> -->
-<s data-role="" class="ex">X</s>
-<samp data-role="" class="ex">X</samp>
+<s data-role="" data-platform="atk,mac" class="ex">X</s>
+<samp data-role="" data-platform="atk,mac" class="ex">X</samp>
 <!-- skipped <script> -->
-<section data-role="" class="ex" data-note=":not([aria-label]:not([aria-labelledby])">X</section>
-<section data-role="region" class="ex" aria-label="x" data-note="[aria-label]">X</section>
-<section data-role="region" class="ex" aria-labelledby="section-label" data-note="[aria-labelledby]">
+<section data-role="" data-platform="atk,mac" class="ex" data-note=":not([aria-label]:not([aria-labelledby])">X</section>
+<section data-role="region" data-platform="atk,mac" class="ex" aria-label="x" data-note="[aria-label]">X</section>
+<section data-role="region" data-platform="atk,mac" class="ex" aria-labelledby="section-label" data-note="[aria-labelledby]">
     <h2 id="section-label">X</h2>
 </section>
-<select data-role="button" class="ex" data-note=":not([multiple])">
-    <option data-role="" class="ex">X</option>
-    <optgroup data-role="" class="ex" label="more">
-        <option data-role="" class="ex">X</option>
+<select data-role="button" data-platform="atk,mac" class="ex" data-note=":not([multiple])">
+    <option data-role="" data-platform="atk,mac" class="ex">X</option>
+    <optgroup data-role="" data-platform="atk,mac" class="ex" label="more">
+        <option data-role="" data-platform="atk,mac" class="ex">X</option>
     </optgroup>
 </select>
-<select data-role="listbox" class="ex" multiple data-note="[multiple]">
-    <option data-role="option" class="ex">X</option>
-    <optgroup data-role="option" class="ex" label="more">
-        <option data-role="option" class="ex">Y</option>
-        <option data-role="option" class="ex">Z</option>
+<select data-role="listbox" data-platform="atk,mac" class="ex" multiple data-note="[multiple]">
+    <option data-role="option" data-platform="atk,mac" class="ex">X</option>
+    <optgroup data-role="option" data-platform="atk,mac" class="ex" label="more">
+        <option data-role="option" data-platform="atk,mac" class="ex">Y</option>
+        <option data-role="option" data-platform="atk,mac" class="ex">Z</option>
     </optgroup>
 </select>
-<small data-role="" class="ex">X</small>
-<span data-role="" class="ex">X</span>
-<strong data-role="" class="ex">X</strong>
-<sub data-role="" class="ex">X</sub>
-<sup data-role="" class="ex">X</sup>
-<svg data-role="" class="ex">X</svg>
+<small data-role="" data-platform="atk,mac" class="ex">X</small>
+<span data-role="" data-platform="atk,mac" class="ex">X</span>
+<strong data-role="" data-platform="atk,mac" class="ex">X</strong>
+<sub data-role="" data-platform="atk,mac" class="ex">X</sub>
+<sup data-role="" data-platform="atk,mac" class="ex">X</sup>
+<svg data-role="" data-platform="atk,mac" class="ex">X</svg>
 
-<table data-role="table" class="ex">
-    <caption data-role="" class="ex">X</caption>
-    <thead data-role="rowgroup" class="ex">
-        <tr data-role="row" class="ex">
-            <th data-role="columnheader" class="ex">X</th>
+<table data-role="table" data-platform="atk,mac" class="ex">
+    <caption data-role="" data-platform="atk,mac" class="ex">X</caption>
+    <thead data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <tr data-role="row" data-platform="atk,mac" class="ex">
+            <th data-role="columnheader" data-platform="atk,mac" class="ex">X</th>
         </tr>
     </thead>
-    <tbody data-role="rowgroup" class="ex">
-        <tr data-role="row" class="ex">
-            <td data-role="cell" class="ex">X</td>
+    <tbody data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <tr data-role="row" data-platform="atk,mac" class="ex">
+            <td data-role="cell" data-platform="atk,mac" class="ex">X</td>
         </tr>
     </tbody>
-    <tfoot data-role="rowgroup" class="ex">
-        <tr data-role="row" class="ex">
-            <td data-role="cell" class="ex">X</td>
+    <tfoot data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <tr data-role="row" data-platform="atk,mac" class="ex">
+            <td data-role="cell" data-platform="atk,mac" class="ex">X</td>
         </tr>
     </tfoot>
 </table>
 
-<table role="grid" data-role="grid" class="ex">
-    <caption data-role="" class="ex">X</caption>
-    <thead data-role="rowgroup" class="ex">
-        <tr data-role="row" class="ex">
-            <th data-role="columnheader" class="ex">X</th>
+<table role="grid" data-role="grid" data-platform="atk,mac" class="ex">
+    <caption data-role="" data-platform="atk,mac" class="ex">X</caption>
+    <thead data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <tr data-role="row" data-platform="atk,mac" class="ex">
+            <th data-role="columnheader" data-platform="atk,mac" class="ex">X</th>
         </tr>
     </thead>
-    <tbody data-role="rowgroup" class="ex">
-        <tr data-role="row" class="ex">
-            <td role="gridcell" data-role="gridcell" class="ex">X</td>
+    <tbody data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <tr data-role="row" data-platform="atk,mac" class="ex">
+            <td role="gridcell" data-role="gridcell" data-platform="atk,mac" class="ex">X</td>
         </tr>
     </tbody>
-    <tfoot data-role="rowgroup" class="ex">
-        <tr data-role="row" class="ex">
-            <td role="gridcell" data-role="gridcell" class="ex">X</td>
+    <tfoot data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <tr data-role="row" data-platform="atk,mac" class="ex">
+            <td role="gridcell" data-role="gridcell" data-platform="atk,mac" class="ex">X</td>
         </tr>
     </tfoot>
 </table>
 
-<textarea data-role="textbox" class="ex">X</textarea>
-<time data-role="" class="ex">X</time>
-<ul data-role="list" class="ex">
-    <li data-role="listitem" class="ex">X</li>
+<textarea data-role="textbox" data-platform="atk,mac" class="ex">X</textarea>
+<time data-role="" data-platform="atk,mac" class="ex">X</time>
+<ul data-role="list" data-platform="atk,mac" class="ex">
+    <li data-role="listitem" data-platform="atk,mac" class="ex">X</li>
 </ul>
-<var data-role="" class="ex">X</var>
-<wbr data-role="" class="ex">X</wbr>
+<var data-role="" data-platform="atk,mac" class="ex">X</var>
+<wbr data-role="" data-platform="atk,mac" class="ex">X</wbr>
 
 <!-- ==================================================================================================== -->
 <!-- Abstract ARIA roles in alphabetical order; only generic role should be exposed on abstract roles -->
 <!-- ==================================================================================================== -->
-<div role="command"     data-role="" class="ex">X</div>
-<div role="composite"   data-role="" class="ex">X</div>
-<div role="input"       data-role="" class="ex">X</div>
-<div role="landmark"    data-role="" class="ex">X</div>
-<div role="range"       data-role="" class="ex">X</div>
-<div role="roletype"    data-role="" class="ex">X</div>
-<div role="section"     data-role="" class="ex">X</div>
-<div role="sectionhead" data-role="" class="ex">X</div>
-<div role="select"      data-role="" class="ex">X</div>
-<div role="structure"   data-role="" class="ex">X</div>
-<div role="widget"      data-role="" class="ex">X</div>
-<div role="window"      data-role="" class="ex">X</div>
+<div role="command"     data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="composite"   data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="input"       data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="landmark"    data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="range"       data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="roletype"    data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="section"     data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="sectionhead" data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="select"      data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="structure"   data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="widget"      data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="window"      data-role="" data-platform="atk,mac" 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="alert" class="ex">X</div>
-<div role="alertdialog"              data-role="alertdialog" class="ex">X</div>
-<div role="application"              data-role="application" class="ex">X</div>
-<div role="article"                  data-role="article" class="ex">X</div>
-<div role="banner"                   data-role="banner" class="ex">X</div>
-<div role="button"                   data-role="button" class="ex">X</div>
-<div role="checkbox"                 data-role="checkbox" class="ex">X</div>
-<div role="combobox"                 data-role="combobox" class="ex">X</div>
-<div role="complementary"            data-role="complementary" class="ex">X</div>
-<div role="contentinfo"              data-role="contentinfo" class="ex">X</div>
-<div role="definition"               data-role="definition" class="ex">X</div>
-<div role="dialog"                   data-role="dialog" class="ex">X</div>
-<div role="directory"                data-role="list" class="ex">X</div><!-- FIXME: should be directory -->
-<div role="document"                 data-role="document" class="ex">X</div>
-<div role="figure"                   data-role="figure" class="ex">X</div>
-<div role="form"                     data-role="form" class="ex">X</div>
-<div role="grid"                     data-role="grid" class="ex">
-    <div role="rowgroup"             data-role="rowgroup" class="ex">
-        <div role="row"              data-role="row" class="ex">
-            <div role="rowheader"    data-role="rowheader" class="ex">X</div>
-            <div role="columnheader" data-role="columnheader" class="ex">X</div>
-            <div role="gridcell"     data-role="gridcell" class="ex">X</div>
+<div role="alert"                    data-role="alert" data-platform="atk,mac" class="ex">X</div>
+<div role="alertdialog"              data-role="alertdialog" data-platform="atk,mac" class="ex">X</div>
+<div role="application"              data-role="application" data-platform="atk,mac" class="ex">X</div>
+<div role="article"                  data-role="article" data-platform="atk,mac" class="ex">X</div>
+<div role="banner"                   data-role="banner" data-platform="atk,mac" class="ex">X</div>
+<div role="button"                   data-role="button" data-platform="atk,mac" class="ex">X</div>
+<div role="checkbox"                 data-role="checkbox" data-platform="atk,mac" class="ex">X</div>
+<div role="combobox"                 data-role="combobox" data-platform="atk,mac" class="ex">X</div>
+<div role="complementary"            data-role="complementary" data-platform="atk,mac" class="ex">X</div>
+<div role="contentinfo"              data-role="contentinfo" data-platform="atk,mac" class="ex">X</div>
+<div role="definition"               data-role="definition" data-platform="atk,mac" class="ex">X</div>
+<div role="dialog"                   data-role="dialog" data-platform="atk,mac" class="ex">X</div>
+<div role="directory"                data-role="list" data-platform="atk,mac" class="ex">X</div><!-- FIXME: should be directory -->
+<div role="document"                 data-role="document" data-platform="atk,mac" class="ex">X</div>
+<div role="figure"                   data-role="figure" data-platform="atk,mac" class="ex">X</div>
+<div role="form"                     data-role="form" data-platform="atk,mac" class="ex">X</div>
+<div role="grid"                     data-role="grid" data-platform="atk,mac" class="ex">
+    <div role="rowgroup"             data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <div role="row"              data-role="row" data-platform="atk,mac" class="ex">
+            <div role="rowheader"    data-role="rowheader" data-platform="atk,mac" class="ex">X</div>
+            <div role="columnheader" data-role="columnheader" data-platform="atk,mac" class="ex">X</div>
+            <div role="gridcell"     data-role="gridcell" data-platform="atk,mac" class="ex">X</div>
         </div>
     </div>
 </div>
-<div role="feed"                     data-role="feed" class="ex">X</div>
-<div role="group"                    data-role="group" class="ex">X</div>
-<div role="heading"                  data-role="heading" class="ex">X</div>
-<div role="img"                      data-role="img" class="ex">X</div>
-<div role="link"                     data-role="link" class="ex">X</div>
-<div role="list"                     data-role="list" class="ex">
-    <div role="listitem"             data-role="listitem" class="ex">X</div>
+<div role="feed"                     data-role="feed" data-platform="atk,mac" class="ex">X</div>
+<div role="group"                    data-role="group" data-platform="atk,mac" class="ex">X</div>
+<div role="heading"                  data-role="heading" data-platform="atk,mac" class="ex">X</div>
+<div role="img"                      data-role="img" data-platform="atk,mac" class="ex">X</div>
+<div role="link"                     data-role="link" data-platform="atk,mac" class="ex">X</div>
+<div role="list"                     data-role="list" data-platform="atk,mac" class="ex">
+    <div role="listitem"             data-role="listitem" data-platform="atk,mac" class="ex">X</div>
 </div>
-<div role="listbox" data-role="listbox" class="ex">
-    <div role="option"               data-role="option" class="ex">X</div>
+<div role="listbox" data-role="listbox" data-platform="atk,mac" class="ex">
+    <div role="option"               data-role="option" data-platform="atk,mac" class="ex">X</div>
 </div>
-<div role="log"                      data-role="log" class="ex">X</div>
-<div role="main"                     data-role="main" class="ex">X</div>
-<div role="marquee"                  data-role="marquee" class="ex">X</div>
-<div role="math"                     data-role="math" class="ex">X</div>
-<div role="menu"                     data-role="menu" class="ex">
-    <div role="menuitem"             data-role="menuitem" class="ex">X</div>
-    <div role="menuitemcheckbox"     data-role="menuitemcheckbox" class="ex">X</div>
-    <div role="menuitemradio"        data-role="menuitemradio" class="ex">X</div>
+<div role="log"                      data-role="log" data-platform="atk,mac" class="ex">X</div>
+<div role="main"                     data-role="main" data-platform="atk,mac" class="ex">X</div>
+<div role="marquee"                  data-role="marquee" data-platform="atk,mac" class="ex">X</div>
+<div role="math"                     data-role="math" data-platform="atk,mac" class="ex">X</div>
+<div role="menu"                     data-role="menu" data-platform="atk,mac" class="ex">
+    <div role="menuitem"             data-role="menuitem" data-platform="atk,mac" class="ex">X</div>
+    <div role="menuitemcheckbox"     data-role="menuitemcheckbox" data-platform="atk,mac" class="ex">X</div>
+    <div role="menuitemradio"        data-role="menuitemradio" data-platform="atk,mac" class="ex">X</div>
 </div>
-<div role="menubar"                  data-role="menubar" class="ex">
-    <div role="menuitem"             data-role="menuitem" class="ex">X</div>
-    <div role="menuitemcheckbox"     data-role="menuitemcheckbox" class="ex">X</div>
-    <div role="menuitemradio"        data-role="menuitemradio" class="ex">X</div>
+<div role="menubar"                  data-role="menubar" data-platform="atk,mac" class="ex">
+    <div role="menuitem"             data-role="menuitem" data-platform="atk,mac" class="ex">X</div>
+    <div role="menuitemcheckbox"     data-role="menuitemcheckbox" data-platform="atk,mac" class="ex">X</div>
+    <div role="menuitemradio"        data-role="menuitemradio" data-platform="atk,mac" class="ex">X</div>
 </div>
-<div role="navigation"               data-role="navigation" class="ex">X</div>
-<div role="note"                     data-role="note" class="ex">X</div>
-<div role="presentation"             data-role="" class="ex">X</div>
-<div role="progressbar"              data-role="progressbar" class="ex">X</div>
-<div role="radiogroup"               data-role="radiogroup" class="ex">
-    <div role="radio"                data-role="radio" class="ex">X</div>
+<div role="navigation"               data-role="navigation" data-platform="atk,mac" class="ex">X</div>
+<div role="note"                     data-role="note" data-platform="atk,mac" class="ex">X</div>
+<div role="presentation"             data-role="" data-platform="atk,mac" class="ex">X</div>
+<div role="progressbar"              data-role="progressbar" data-platform="atk,mac" class="ex">X</div>
+<div role="radiogroup"               data-role="radiogroup" data-platform="atk,mac" class="ex">
+    <div role="radio"                data-role="radio" data-platform="atk,mac" class="ex">X</div>
 </div>
-<div role="region"                   class="ex" data-role="" data-note=":not([aria-label]:not([aria-labelledby])">X</div>
-<div role="region"                   class="ex" data-role="region" aria-label="x" data-note="[aria-label]">X</div>
-<div role="region"                   class="ex" data-role="region" aria-labelledby="region-label" data-note="[aria-labelledby]">
+<div role="region"                   data-platform="atk,mac" class="ex" data-role="" data-note=":not([aria-label]:not([aria-labelledby])">X</div>
+<div role="region"                   data-platform="atk,mac" class="ex" data-role="region" aria-label="x" data-note="[aria-label]">X</div>
+<div role="region"                   data-platform="atk,mac" class="ex" data-role="region" aria-labelledby="region-label" data-note="[aria-labelledby]">
     <h2 id="region-label">X</h2>
 </div>
 
-<div role="scrollbar"                data-role="scrollbar" class="ex">X</div>
-<div role="search"                   data-role="search" class="ex">X</div>
-<div role="separator"                data-role="separator" class="ex">X</div>
-<div role="slider"                   data-role="slider" class="ex">X</div>
-<div role="spinbutton"               data-role="spinbutton" class="ex">X</div>
-<div role="status"                   data-role="status" class="ex">X</div>
-<div role="tablist"                  data-role="tablist" class="ex">
-    <div role="tab"                  data-role="tab" class="ex">X</div>
+<div role="scrollbar"                data-role="scrollbar" data-platform="atk,mac" class="ex">X</div>
+<div role="search"                   data-role="search" data-platform="atk,mac" class="ex">X</div>
+<div role="separator"                data-role="separator" data-platform="atk,mac" class="ex">X</div>
+<div role="slider"                   data-role="slider" data-platform="atk,mac" class="ex">X</div>
+<div role="spinbutton"               data-role="spinbutton" data-platform="atk,mac" class="ex">X</div>
+<div role="status"                   data-role="status" data-platform="atk,mac" class="ex">X</div>
+<div role="tablist"                  data-role="tablist" data-platform="atk,mac" class="ex">
+    <div role="tab"                  data-role="tab" data-platform="atk,mac" class="ex">X</div>
 </div>
-<div role="tabpanel"                 data-role="tabpanel" class="ex">X</div>
-<div role="textbox"                  data-role="" class="ex">X</div><!-- FIXME: should be textbox -->
-<div role="term"                     data-role="term" class="ex">X</div>
-<div role="timer"                    data-role="timer" class="ex">X</div>
-<div role="toolbar"                  data-role="toolbar" class="ex">X</div>
-<div role="tooltip"                  data-role="tooltip" class="ex">X</div>
-<div role="tree"                     data-role="tree" class="ex">
-    <div role="treeitem"             data-role="treeitem" class="ex">X</div>
-    <div role="group"                data-role="group" class="ex">
-        <div role="treeitem"         data-role="treeitem" class="ex">X</div>
+<div role="tabpanel"                 data-role="tabpanel" data-platform="atk,mac" class="ex">X</div>
+<div role="textbox"                  data-role="" data-platform="atk,mac" class="ex">X</div><!-- FIXME: should be textbox -->
+<div role="term"                     data-role="term" data-platform="atk,mac" class="ex">X</div>
+<div role="timer"                    data-role="timer" data-platform="atk,mac" class="ex">X</div>
+<div role="toolbar"                  data-role="toolbar" data-platform="atk,mac" class="ex">X</div>
+<div role="tooltip"                  data-role="tooltip" data-platform="atk,mac" class="ex">X</div>
+<div role="tree"                     data-role="tree" data-platform="atk,mac" class="ex">
+    <div role="treeitem"             data-role="treeitem" data-platform="atk,mac" class="ex">X</div>
+    <div role="group"                data-role="group" data-platform="atk,mac" class="ex">
+        <div role="treeitem"         data-role="treeitem" data-platform="atk,mac" class="ex">X</div>
     </div>
 </div>
-<div role="treegrid"                 data-role="treegrid" class="ex">
-    <div role="rowgroup"             data-role="rowgroup" class="ex">
-        <div role="row"              data-role="row" class="ex">
-            <div role="rowheader"    data-role="rowheader" class="ex">X</div>
-            <div role="columnheader" data-role="columnheader" class="ex">X</div>
-            <div role="gridcell"     data-role="gridcell" class="ex">X</div>
+<div role="treegrid"                 data-role="treegrid" data-platform="atk,mac" class="ex">
+    <div role="rowgroup"             data-role="rowgroup" data-platform="atk,mac" class="ex">
+        <div role="row"              data-role="row" data-platform="atk,mac" class="ex">
+            <div role="rowheader"    data-role="rowheader" data-platform="atk,mac" class="ex">X</div>
+            <div role="columnheader" data-role="columnheader" data-platform="atk,mac" class="ex">X</div>
+            <div role="gridcell"     data-role="gridcell" data-platform="atk,mac" class="ex">X</div>
         </div>
     </div>
 </div>
 <!-- ==================================================================================================== -->
 <!-- generic role attribute parsing tests -->
 <!-- ==================================================================================================== -->
-<div role="button foo"               data-role="button" class="ex">X</div>
-<div role="foo button bar"           data-role="button" class="ex">X</div>
-<div role="foo  button  bar"         data-role="button" class="ex">X</div><!-- [sic] Two spaces in role string -->
+<div role="button foo"               data-role="button" data-platform="atk,mac" class="ex">X</div>
+<div role="foo button bar"           data-role="button" data-platform="atk,mac" class="ex">X</div>
+<div role="foo  button  bar"         data-role="button" data-platform="atk,mac" class="ex">X</div><!-- [sic] Two spaces in role string -->
 
 <!-- FIXME: These two should be button but fail b/c of http://webkit.org/b/128400 -->
-<div role="foo button  bar"         data-role="" class="ex">X</div><!-- [sic] Tab chars in role string -->
+<div role="foo button  bar"         data-role="" data-platform="atk,mac" class="ex">X</div><!-- [sic] Tab chars in role string -->
 <div role="foo
 button
-bar"                                 data-role="" class="ex">X</div><!-- [sic] Newlines in role string -->
+bar"                                 data-role="" data-platform="atk,mac" class="ex">X</div><!-- [sic] Newlines in role string -->
 
 
 <!-- ==================================================================================================== -->
 <!-- implicit role parsing tests -->
 <!-- ==================================================================================================== -->
-<img role="foo" src="foo.png"        data-role="img" alt="X" class="ex">
-<img role="foo bar" src="foo.png"    data-role="img" alt="X" class="ex">
-<img role="foo  bar" src="foo.png"    data-role="img" alt="X" class="ex"><!-- [sic] Two spaces in role string -->
-<img role="foo bar" src="foo.png"   data-role="img" alt="X" class="ex"><!-- [sic] Newline in role string -->
+<img role="foo" src="foo.png"        data-role="img" alt="X" data-platform="atk,mac" class="ex">
+<img role="foo bar" src="foo.png"    data-role="img" alt="X" data-platform="atk,mac" class="ex">
+<img role="foo  bar" src="foo.png"    data-role="img" alt="X" data-platform="atk,mac" class="ex"><!-- [sic] Two spaces in role string -->
+<img role="foo bar" src="foo.png"   data-role="img" alt="X" data-platform="atk,mac" class="ex"><!-- [sic] Newline in role string -->
 <img role="foo 
-bar" src="foo.png"                   data-role="img" alt="X" class="ex"><!-- [sic] Tab char in role string -->
-<img role="text" src="foo.png"       data-role="text" alt="X" class="ex">
-<img role="text img" src="foo.png"   data-role="text" alt="X" class="ex">
-<img role="img text" src="foo.png"   data-role="img" alt="X" class="ex">
-<img role="presentation"             data-role="img" data-note="[aria-label]" alt="X" src="foo.png" aria-label="X" class="ex"><!-- presentation with global attr should fallback to implicit role -->
-<a href="#" role="foo bar"           data-role="link" class="ex">X</a>
+bar" src="foo.png"                   data-role="img" alt="X" data-platform="atk,mac" class="ex"><!-- [sic] Tab char in role string -->
+<img role="text" src="foo.png"       data-role="text" alt="X" data-platform="atk,mac" class="ex">
+<img role="text img" src="foo.png"   data-role="text" alt="X" data-platform="atk,mac" class="ex">
+<img role="img text" src="foo.png"   data-role="img" alt="X" data-platform="atk,mac" class="ex">
+<img role="presentation"             data-role="img" data-note="[aria-label]" alt="X" src="foo.png" aria-label="X" data-platform="atk,mac" class="ex"><!-- presentation with global attr should fallback to implicit role -->
+<a href="#" role="foo bar"           data-role="link" data-platform="atk,mac" class="ex">X</a>
 </div>
 
 <div id="console"></div>
@@ -299,6 +299,7 @@ if (window.testRunner && window.accessibilityController) {
     description("This tests that native elements and ARIA overrides result in the same ARIA computed role, regardless of platform.")
     var examples = document.querySelectorAll(".ex");
     var el, contentAttrRoleString, axElement, computedAriaRole, output, expectedRole, expectation, result, note;
+    var currentPlatform = accessibilityController.platformName;
     for (var i = 0, c = examples.length; i < c; i++) {
         el = examples[i];
                el.id = "ex" + i
@@ -307,6 +308,10 @@ if (window.testRunner && window.accessibilityController) {
         if (!axElement)
                continue;
 
+        supportedPlatforms = el.getAttribute('data-platform');
+        if (!supportedPlatforms || supportedPlatforms.indexOf(currentPlatform) == -1)
+            continue;
+
         computedAriaRole = axElement.computedRoleString;
 
         contentAttrRoleString = el.getAttribute("role");
index 339f68a..0e48286 100644 (file)
@@ -3014,7 +3014,6 @@ webkit.org/b/163186 editing/pasteboard/onpaste-text-html.html [ Failure ]
 webkit.org/b/163335 fast/loader/file-URL-with-port-number.html [ Timeout ]
 
 webkit.org/b/163383 accessibility/meter-element.html [ Failure ]
-webkit.org/b/163383 accessibility/roles-computedRoleString.html [ Failure ]
 
 webkit.org/b/163512 media/media-controls-accessibility.html [ Failure ]
 webkit.org/b/163521 media/tab-focus-inside-media-elements.html [ Failure ]
index e2f5645..4b36adc 100644 (file)
@@ -43,18 +43,17 @@ PASS: input[type='url'] -> .
 PASS: input[type='week'] -> . 
 PASS: ins -> . 
 PASS: math -> math. 
-PASS: meter -> progressbar. 
 PASS: nav -> navigation. 
 PASS: ol -> list. 
 PASS: li -> listitem. 
 PASS: p -> . 
-PASS: pre -> group
+PASS: pre -> . 
 PASS: progress -> progressbar. 
 PASS: samp -> . 
-PASS: section:not([aria-label]:not([aria-labelledby]) -> group
+PASS: section:not([aria-label]:not([aria-labelledby]) -> . 
 PASS: section[aria-label] -> region. 
 PASS: section[aria-labelledby] -> region. 
-PASS: select:not([multiple]) -> . 
+PASS: select:not([multiple]) -> button
 PASS: option -> . 
 PASS: option -> . 
 PASS: select[multiple] -> listbox. 
@@ -80,6 +79,7 @@ PASS: td[role="gridcell"] -> gridcell.
 PASS: tr -> row. 
 PASS: td[role="gridcell"] -> gridcell. 
 PASS: textarea -> textbox. 
+PASS: time -> . 
 PASS: ul -> list. 
 PASS: li -> listitem. 
 PASS: var -> . 
@@ -109,12 +109,14 @@ PASS: div[role="definition"] -> definition.
 PASS: div[role="dialog"] -> dialog. 
 PASS: div[role="directory"] -> list. 
 PASS: div[role="document"] -> document. 
+PASS: div[role="figure"] -> figure. 
 PASS: div[role="form"] -> form. 
 PASS: div[role="grid"] -> grid. 
 PASS: div[role="row"] -> row. 
 PASS: div[role="rowheader"] -> rowheader. 
 PASS: div[role="columnheader"] -> columnheader. 
 PASS: div[role="gridcell"] -> gridcell. 
+PASS: div[role="feed"] -> feed. 
 PASS: div[role="group"] -> group. 
 PASS: div[role="heading"] -> heading. 
 PASS: div[role="img"] -> img. 
@@ -140,7 +142,9 @@ PASS: div[role="note"] -> note.
 PASS: div[role="progressbar"] -> progressbar. 
 PASS: div[role="radiogroup"] -> radiogroup. 
 PASS: div[role="radio"] -> radio. 
-PASS: div[role="region"] -> region. 
+PASS: div[role="region"]:not([aria-label]:not([aria-labelledby]) -> . 
+PASS: div[role="region"][aria-label] -> region. 
+PASS: div[role="region"][aria-labelledby] -> region. 
 PASS: div[role="scrollbar"] -> scrollbar. 
 PASS: div[role="search"] -> search. 
 PASS: div[role="separator"] -> separator. 
@@ -151,13 +155,14 @@ PASS: div[role="tablist"] -> tablist.
 PASS: div[role="tab"] -> tab. 
 PASS: div[role="tabpanel"] -> tabpanel. 
 PASS: div[role="textbox"] -> . 
+PASS: div[role="term"] -> term. 
 PASS: div[role="timer"] -> timer. 
 PASS: div[role="toolbar"] -> toolbar. 
 PASS: div[role="tooltip"] -> tooltip. 
 PASS: div[role="tree"] -> tree. 
 PASS: div[role="treeitem"] -> treeitem. 
 PASS: div[role="treeitem"] -> treeitem. 
-PASS: div[role="treegrid"] -> grid. 
+PASS: div[role="treegrid"] -> treegrid. 
 PASS: div[role="row"] -> row. 
 PASS: div[role="rowheader"] -> rowheader. 
 PASS: div[role="columnheader"] -> columnheader.