<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[186692] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/186692">186692</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-07-10 15:04:50 -0700 (Fri, 10 Jul 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Source/WebCore:
Added ARIA 1.1 &quot;cell&quot; and &quot;table&quot; roles.
https://bugs.webkit.org/show_bug.cgi?id=146011
&lt;rdar://problem/21398946&gt;

Patch by Nan Wang &lt;n_wang@apple.com&gt; on 2015-07-10
Reviewed by Chris Fleizach.

Created a new role called GridCellRole to match the gridcell role,
so the previous CellRole and TableRole will match to cell and table role.
Made the changes to make sure that both GridRole and TableRole have same
behavior, as well as the circumstance for GridCellRole and CellRole.

Test: accessibility/roles-table-and-cell.html

* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
(WebCore::AccessibilityNodeObject::canSetSelectedAttribute):
* accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setSelectedRows):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::selectedChildren):
* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::roleValue):
* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::determineAccessibilityRole):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):

LayoutTests:
Added tests for new role: table and cell.
https://bugs.webkit.org/show_bug.cgi?id=146011.

Patch by Nan Wang &lt;n_wang@apple.com&gt; on 2015-07-10
Reviewed by Chris Fleizach.

Added tests for table and cell role. Also modified other tests to fit the changes.

* accessibility/roles-computedRoleString-expected.txt:
* accessibility/roles-computedRoleString.html:
* accessibilit/roles-table-and-cell-expected.txt: Added.
* accessibility/roles-table-and-cell.html: Added.
* platform/mac/accessibility/aria-table-hierarchy-expected.txt:
* platform/mac/accessibility/aria-tables-expected.txt:
* platform/mac/accessibility/roles-exposed-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsaccessibilityariatablewithpresentationalelementsexpectedtxt">trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt</a></li>
<li><a href="#trunkLayoutTestsaccessibilityariatablewithpresentationalelementshtml">trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html</a></li>
<li><a href="#trunkLayoutTestsaccessibilityrolescomputedRoleStringexpectedtxt">trunk/LayoutTests/accessibility/roles-computedRoleString-expected.txt</a></li>
<li><a href="#trunkLayoutTestsaccessibilityrolescomputedRoleStringhtml">trunk/LayoutTests/accessibility/roles-computedRoleString.html</a></li>
<li><a href="#trunkLayoutTestsplatformmacaccessibilityariatablehierarchyexpectedtxt">trunk/LayoutTests/platform/mac/accessibility/aria-table-hierarchy-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacaccessibilityariatablesexpectedtxt">trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacaccessibilityrolesexposedexpectedtxt">trunk/LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacmavericksaccessibilityrolesexposedexpectedtxt">trunk/LayoutTests/platform/mac-mavericks/accessibility/roles-exposed-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAXObjectCachecpp">trunk/Source/WebCore/accessibility/AXObjectCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityNodeObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityObjecth">trunk/Source/WebCore/accessibility/AccessibilityObject.h</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityTablecpp">trunk/Source/WebCore/accessibility/AccessibilityTable.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityTableCellcpp">trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityiosWebAccessibilityObjectWrapperIOSmm">trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm</a></li>
<li><a href="#trunkSourceWebCoreaccessibilitymacWebAccessibilityObjectWrapperMacmm">trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsaccessibilityrolestableandcellexpectedtxt">trunk/LayoutTests/accessibility/roles-table-and-cell-expected.txt</a></li>
<li><a href="#trunkLayoutTestsaccessibilityrolestableandcellhtml">trunk/LayoutTests/accessibility/roles-table-and-cell.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/ChangeLog        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2015-07-10  Nan Wang  &lt;n_wang@apple.com&gt;
+
+        Added tests for new role: table and cell.
+        https://bugs.webkit.org/show_bug.cgi?id=146011.
+
+        Reviewed by Chris Fleizach.
+
+        Added tests for table and cell role. Also modified other tests to fit the changes.
+
+        * accessibility/roles-computedRoleString-expected.txt:
+        * accessibility/roles-computedRoleString.html:
+        * accessibilit/roles-table-and-cell-expected.txt: Added.
+        * accessibility/roles-table-and-cell.html: Added.
+        * platform/mac/accessibility/aria-table-hierarchy-expected.txt:
+        * platform/mac/accessibility/aria-tables-expected.txt:
+        * platform/mac/accessibility/roles-exposed-expected.txt:
+
</ins><span class="cx"> 2015-07-10  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Serialized declaration for background-size/-webkit-mask-size should preserve identical
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilityariatablewithpresentationalelementsexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS row.role is 'AXRole: AXRow'
</span><del>-PASS row.parentElement().role is 'AXRole: AXTable'
</del><ins>+PASS row.parentElement().role is 'AXRole: AXGrid'
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilityariatablewithpresentationalelementshtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">     var table = accessibilityController.accessibleElementById(&quot;table&quot;);
</span><span class="cx">     var row = table.rowAtIndex(0);
</span><span class="cx">     shouldBe(&quot;row.role&quot;, &quot;'AXRole: AXRow'&quot;);
</span><del>-    shouldBe(&quot;row.parentElement().role&quot;, &quot;'AXRole: AXTable'&quot;);
</del><ins>+    shouldBe(&quot;row.parentElement().role&quot;, &quot;'AXRole: AXGrid'&quot;);
</ins><span class="cx"> 
</span><span class="cx">     document.getElementById(&quot;content&quot;).style.visibility = &quot;hidden&quot;;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilityrolescomputedRoleStringexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/accessibility/roles-computedRoleString-expected.txt (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/roles-computedRoleString-expected.txt        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/accessibility/roles-computedRoleString-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -57,13 +57,20 @@
</span><span class="cx"> PASS: optgroup -&gt; option. 
</span><span class="cx"> PASS: option -&gt; option. 
</span><span class="cx"> PASS: option -&gt; option. 
</span><del>-PASS: table -&gt; grid. 
</del><ins>+PASS: table -&gt; table. 
</ins><span class="cx"> PASS: tr -&gt; row. 
</span><span class="cx"> PASS: th -&gt; columnheader. 
</span><span class="cx"> PASS: tr -&gt; row. 
</span><del>-PASS: td -&gt; gridcell. 
</del><ins>+PASS: td -&gt; cell. 
</ins><span class="cx"> PASS: tr -&gt; row. 
</span><del>-PASS: td -&gt; gridcell. 
</del><ins>+PASS: td -&gt; cell. 
+PASS: table[role=&quot;grid&quot;] -&gt; grid. 
+PASS: tr -&gt; row. 
+PASS: th -&gt; columnheader. 
+PASS: tr -&gt; row. 
+PASS: td[role=&quot;gridcell&quot;] -&gt; gridcell. 
+PASS: tr -&gt; row. 
+PASS: td[role=&quot;gridcell&quot;] -&gt; gridcell. 
</ins><span class="cx"> PASS: textarea -&gt; textbox. 
</span><span class="cx"> PASS: ul -&gt; list. 
</span><span class="cx"> PASS: li -&gt; listitem. 
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilityrolescomputedRoleStringhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/accessibility/roles-computedRoleString.html (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/roles-computedRoleString.html        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/accessibility/roles-computedRoleString.html        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx"> &lt;sup data-role=&quot;&quot; class=&quot;ex&quot;&gt;X&lt;/sup&gt;
</span><span class="cx"> &lt;svg data-role=&quot;&quot; class=&quot;ex&quot;&gt;X&lt;/svg&gt;
</span><span class="cx"> 
</span><del>-&lt;table data-role=&quot;grid&quot; class=&quot;ex&quot;&gt;
</del><ins>+&lt;table data-role=&quot;table&quot; class=&quot;ex&quot;&gt;
</ins><span class="cx">     &lt;caption data-role=&quot;&quot; class=&quot;ex&quot;&gt;X&lt;/caption&gt;
</span><span class="cx">     &lt;thead data-role=&quot;rowgroup&quot; class=&quot;ex&quot;&gt;
</span><span class="cx">         &lt;tr data-role=&quot;row&quot; class=&quot;ex&quot;&gt;
</span><span class="lines">@@ -106,15 +106,35 @@
</span><span class="cx">     &lt;/thead&gt;
</span><span class="cx">     &lt;tbody data-role=&quot;rowgroup&quot; class=&quot;ex&quot;&gt;
</span><span class="cx">         &lt;tr data-role=&quot;row&quot; class=&quot;ex&quot;&gt;
</span><del>-            &lt;td data-role=&quot;gridcell&quot; class=&quot;ex&quot;&gt;X&lt;/td&gt;
</del><ins>+            &lt;td data-role=&quot;cell&quot; class=&quot;ex&quot;&gt;X&lt;/td&gt;
</ins><span class="cx">         &lt;/tr&gt;
</span><span class="cx">     &lt;/tbody&gt;
</span><span class="cx">     &lt;tfoot data-role=&quot;rowgroup&quot; class=&quot;ex&quot;&gt;
</span><span class="cx">         &lt;tr data-role=&quot;row&quot; class=&quot;ex&quot;&gt;
</span><del>-            &lt;td data-role=&quot;gridcell&quot; class=&quot;ex&quot;&gt;X&lt;/td&gt;
</del><ins>+            &lt;td data-role=&quot;cell&quot; class=&quot;ex&quot;&gt;X&lt;/td&gt;
</ins><span class="cx">         &lt;/tr&gt;
</span><span class="cx">     &lt;/tfoot&gt;
</span><span class="cx"> &lt;/table&gt;
</span><ins>+
+&lt;table role=&quot;grid&quot; data-role=&quot;grid&quot; class=&quot;ex&quot;&gt;
+    &lt;caption data-role=&quot;&quot; class=&quot;ex&quot;&gt;X&lt;/caption&gt;
+    &lt;thead data-role=&quot;rowgroup&quot; class=&quot;ex&quot;&gt;
+        &lt;tr data-role=&quot;row&quot; class=&quot;ex&quot;&gt;
+            &lt;th data-role=&quot;columnheader&quot; class=&quot;ex&quot;&gt;X&lt;/th&gt;
+        &lt;/tr&gt;
+    &lt;/thead&gt;
+    &lt;tbody data-role=&quot;rowgroup&quot; class=&quot;ex&quot;&gt;
+        &lt;tr data-role=&quot;row&quot; class=&quot;ex&quot;&gt;
+            &lt;td role=&quot;gridcell&quot; data-role=&quot;gridcell&quot; class=&quot;ex&quot;&gt;X&lt;/td&gt;
+        &lt;/tr&gt;
+    &lt;/tbody&gt;
+    &lt;tfoot data-role=&quot;rowgroup&quot; class=&quot;ex&quot;&gt;
+        &lt;tr data-role=&quot;row&quot; class=&quot;ex&quot;&gt;
+            &lt;td role=&quot;gridcell&quot; data-role=&quot;gridcell&quot; class=&quot;ex&quot;&gt;X&lt;/td&gt;
+        &lt;/tr&gt;
+    &lt;/tfoot&gt;
+&lt;/table&gt;
+
</ins><span class="cx"> &lt;textarea data-role=&quot;textbox&quot; class=&quot;ex&quot;&gt;X&lt;/textarea&gt;
</span><span class="cx"> &lt;time data-role=&quot;&quot; class=&quot;ex&quot;&gt;X&lt;/time&gt;
</span><span class="cx"> &lt;ul data-role=&quot;list&quot; class=&quot;ex&quot;&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsaccessibilityrolestableandcellexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/accessibility/roles-table-and-cell-expected.txt (0 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/roles-table-and-cell-expected.txt                                (rev 0)
+++ trunk/LayoutTests/accessibility/roles-table-and-cell-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+This tests that table and cell have the correct ARIA roles
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS: div[role=&quot;grid&quot;] -&gt; grid. 
+PASS: table[role=&quot;table&quot;] -&gt; table. 
+PASS: td[role=&quot;gridcell&quot;] -&gt; gridcell. 
+PASS: td -&gt; cell. 
+PASS: td[role=&quot;cell&quot;] -&gt; cell. 
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestsaccessibilityrolestableandcellhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/accessibility/roles-table-and-cell.html (0 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/accessibility/roles-table-and-cell.html                                (rev 0)
+++ trunk/LayoutTests/accessibility/roles-table-and-cell.html        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+&lt;!DOCTYPE HTML&gt;
+&lt;html&gt;
+&lt;body&gt;
+&lt;script src=&quot;../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+
+&lt;!-- ==================================================================================================== --&gt;
+&lt;!-- This tests ARIA table role and cell role work as intended                                            --&gt;
+&lt;!-- ==================================================================================================== --&gt;
+
+&lt;div role=&quot;grid&quot; data-role=&quot;grid&quot; class=&quot;ex&quot;&gt;
+        &lt;div role=&quot;gridcell&quot; data-role=&quot;gridcell&quot; class=&quot;ex&quot;&gt;data&lt;/div&gt;
+          &lt;div role=&quot;cell&quot; data-role=&quot;cell&quot; class=&quot;ex&quot;&gt;data2&lt;/div&gt;
+          &lt;div role=&quot;cell&quot; data-role=&quot;cell&quot; class=&quot;ex&quot;&gt;data3&lt;/div&gt;
+&lt;/div&gt;
+
+&lt;table role=&quot;table&quot; data-role=&quot;table&quot; class=&quot;ex&quot;&gt;
+        &lt;td role=&quot;gridcell&quot; data-role=&quot;gridcell&quot; class=&quot;ex&quot;&gt;data&lt;/td&gt;
+          &lt;td data-role=&quot;cell&quot; class=&quot;ex&quot;&gt;data2&lt;/td&gt;
+          &lt;td role=&quot;cell&quot; data-role=&quot;cell&quot; class=&quot;ex&quot;&gt;data3&lt;/td&gt;
+&lt;/table&gt;
+
+&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
+&lt;script&gt;
+if (window.testRunner &amp;&amp; window.accessibilityController) {
+    description(&quot;This tests that table and cell have the correct ARIA roles&quot;)
+    var examples = document.querySelectorAll(&quot;.ex&quot;);
+    var el, contentAttrRoleString, axElement, computedAriaRole, output, expectedRole, expectation, result, note;
+    for (var i = 0, c = examples.length; i &lt; c; i++) {
+        el = examples[i];
+                el.id = &quot;ex&quot; + i
+
+        axElement = accessibilityController.accessibleElementById(el.id);
+        if (!axElement)
+                continue;
+
+        computedAriaRole = axElement.computedRoleString;
+
+        contentAttrRoleString = el.getAttribute(&quot;role&quot;);
+        note = el.getAttribute(&quot;data-note&quot;)
+        output = el.tagName.toLowerCase() + (contentAttrRoleString ? (&quot;[role=\&quot;&quot;+contentAttrRoleString+&quot;\&quot;]&quot;) : &quot;&quot;) + (note ? note : &quot;&quot;);
+        output += &quot; -&gt; &quot;;
+        output += computedAriaRole;
+        output += &quot;. &quot;;
+
+        expectedRole = &quot;&quot;;
+        if (el.hasAttribute(&quot;data-role&quot;)) {
+            expectedRole = el.getAttribute(&quot;data-role&quot;);
+        }
+
+        expectation = expectedRole;
+        matchedResults = (computedAriaRole == expectedRole)
+
+        result = document.getElementById('console');
+        if (matchedResults) {
+            result.innerText += &quot;PASS: &quot; + output + &quot;\n&quot;;
+        } else {
+            result.innerText += &quot;FAIL: &quot; + output + &quot;Expected: &quot; + expectation + &quot;.\n&quot;;
+        }
+    }
+
+    // Once tests are complete, hide all the example markup.
+    examples = document.querySelectorAll(&quot;.ex&quot;);
+    for (var i = 0, c = examples.length; i &lt; c; i++) {
+        el = examples[i];
+        el.style.display = &quot;none&quot;;
+    }
+}
+&lt;/script&gt;
+&lt;script src=&quot;../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformmacaccessibilityariatablehierarchyexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/accessibility/aria-table-hierarchy-expected.txt (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/accessibility/aria-table-hierarchy-expected.txt        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-table-hierarchy-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> AXRole: AXWebArea AXValue: 
</span><del>-  AXRole: AXTable AXValue: 
</del><ins>+  AXRole: AXGrid AXValue: 
</ins><span class="cx">     AXRole: AXRow AXValue: 
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: foo
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: bar
</span><span class="cx">     AXRole: AXGroup AXValue: 
</span><del>-  AXRole: AXTable AXValue: 
</del><ins>+  AXRole: AXGrid AXValue: 
</ins><span class="cx">     AXRole: AXRow AXValue: 
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: Odd
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">         AXRole: AXStaticText AXValue: Odd
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: Even
</span><del>-  AXRole: AXTable AXValue: 
</del><ins>+  AXRole: AXGrid AXValue: 
</ins><span class="cx">     AXRole: AXRow AXValue: 
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: hello
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: world
</span><span class="cx">     AXRole: AXGroup AXValue: 
</span><del>-  AXRole: AXTable AXValue: 
</del><ins>+  AXRole: AXGrid AXValue: 
</ins><span class="cx">     AXRole: AXRow AXValue: 
</span><span class="cx">       AXRole: AXCell AXValue: 
</span><span class="cx">         AXRole: AXStaticText AXValue: Odd
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacaccessibilityariatablesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/platform/mac/accessibility/aria-tables-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -10,8 +10,8 @@
</span><span class="cx"> header 1        header 2        header 2
</span><span class="cx"> cell        cell        cell
</span><span class="cx"> cell
</span><del>-AXRole: AXTable
-AXRole: AXTable
</del><ins>+AXRole: AXGrid
+AXRole: AXGrid
</ins><span class="cx"> AXRole: AXCell
</span><span class="cx"> AXRole: AXCell
</span><span class="cx"> AXRole: AXCell
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacaccessibilityrolesexposedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -875,9 +875,9 @@
</span><span class="cx">       AXRoleDescription: group
</span><span class="cx">       
</span><span class="cx"> div[role=grid]
</span><del>-      AXRole: AXTable
</del><ins>+      AXRole: AXGrid
</ins><span class="cx">       AXSubrole: 
</span><del>-      AXRoleDescription: table
</del><ins>+      AXRoleDescription: grid
</ins><span class="cx">       
</span><span class="cx"> div[role=rowgroup]
</span><span class="cx">       AXRole: 
</span><span class="lines">@@ -1135,9 +1135,9 @@
</span><span class="cx">       AXRoleDescription: outline row
</span><span class="cx">       
</span><span class="cx"> div[role=treegrid]
</span><del>-      AXRole: AXTable
</del><ins>+      AXRole: AXGrid
</ins><span class="cx">       AXSubrole: 
</span><del>-      AXRoleDescription: table
</del><ins>+      AXRoleDescription: grid
</ins><span class="cx">       
</span><span class="cx"> div[role=rowgroup]
</span><span class="cx">       AXRole: 
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacmavericksaccessibilityrolesexposedexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-mavericks/accessibility/roles-exposed-expected.txt (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-mavericks/accessibility/roles-exposed-expected.txt        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/LayoutTests/platform/mac-mavericks/accessibility/roles-exposed-expected.txt        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -875,9 +875,9 @@
</span><span class="cx">       AXRoleDescription: group
</span><span class="cx">       
</span><span class="cx"> div[role=grid]
</span><del>-      AXRole: AXTable
</del><ins>+      AXRole: AXGrid
</ins><span class="cx">       AXSubrole: 
</span><del>-      AXRoleDescription: table
</del><ins>+      AXRoleDescription: grid
</ins><span class="cx">       
</span><span class="cx"> div[role=rowgroup]
</span><span class="cx">       AXRole: 
</span><span class="lines">@@ -1135,9 +1135,9 @@
</span><span class="cx">       AXRoleDescription: outline row
</span><span class="cx">       
</span><span class="cx"> div[role=treegrid]
</span><del>-      AXRole: AXTable
</del><ins>+      AXRole: AXGrid
</ins><span class="cx">       AXSubrole: 
</span><del>-      AXRoleDescription: table
</del><ins>+      AXRoleDescription: grid
</ins><span class="cx">       
</span><span class="cx"> div[role=rowgroup]
</span><span class="cx">       AXRole: 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/ChangeLog        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2015-07-10  Nan Wang  &lt;n_wang@apple.com&gt;
+
+        Added ARIA 1.1 &quot;cell&quot; and &quot;table&quot; roles.
+        https://bugs.webkit.org/show_bug.cgi?id=146011
+        &lt;rdar://problem/21398946&gt;
+
+        Reviewed by Chris Fleizach.
+
+        Created a new role called GridCellRole to match the gridcell role, 
+        so the previous CellRole and TableRole will match to cell and table role.
+        Made the changes to make sure that both GridRole and TableRole have same
+        behavior, as well as the circumstance for GridCellRole and CellRole.
+
+        Test: accessibility/roles-table-and-cell.html
+
+        * accessibility/AXObjectCache.cpp:
+        (WebCore::createFromRenderer):
+        * accessibility/AccessibilityNodeObject.cpp:
+        (WebCore::AccessibilityNodeObject::supportsRequiredAttribute):
+        (WebCore::AccessibilityNodeObject::canSetSelectedAttribute):
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::initializeRoleMap):
+        * accessibility/AccessibilityObject.h:
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::setSelectedRows):
+        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
+        (WebCore::AccessibilityRenderObject::selectedChildren):
+        * accessibility/AccessibilityTable.cpp:
+        (WebCore::AccessibilityTable::roleValue):
+        * accessibility/AccessibilityTableCell.cpp:
+        (WebCore::AccessibilityTableCell::determineAccessibilityRole):
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
+        (-[WebAccessibilityObjectWrapper _accessibilityTraitsFromAncestors]):
+        (-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (createAccessibilityRoleMap):
+
</ins><span class="cx"> 2015-07-10  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Serialized declaration for background-size/-webkit-mask-size should preserve identical
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAXObjectCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AXObjectCache.cpp (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AXObjectCache.cpp        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -281,11 +281,11 @@
</span><span class="cx">         return AccessibilityList::create(renderer);
</span><span class="cx"> 
</span><span class="cx">     // aria tables
</span><del>-    if (nodeHasRole(node, &quot;grid&quot;) || nodeHasRole(node, &quot;treegrid&quot;))
</del><ins>+    if (nodeHasRole(node, &quot;grid&quot;) || nodeHasRole(node, &quot;treegrid&quot;) || nodeHasRole(node, &quot;table&quot;))
</ins><span class="cx">         return AccessibilityARIAGrid::create(renderer);
</span><span class="cx">     if (nodeHasRole(node, &quot;row&quot;))
</span><span class="cx">         return AccessibilityARIAGridRow::create(renderer);
</span><del>-    if (nodeHasRole(node, &quot;gridcell&quot;) || nodeHasRole(node, &quot;columnheader&quot;) || nodeHasRole(node, &quot;rowheader&quot;))
</del><ins>+    if (nodeHasRole(node, &quot;gridcell&quot;) || nodeHasRole(node, &quot;cell&quot;) || nodeHasRole(node, &quot;columnheader&quot;) || nodeHasRole(node, &quot;rowheader&quot;))
</ins><span class="cx">         return AccessibilityARIAGridCell::create(renderer);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityNodeObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -799,6 +799,7 @@
</span><span class="cx">     case CheckBoxRole:
</span><span class="cx">     case ComboBoxRole:
</span><span class="cx">     case GridRole:
</span><ins>+    case GridCellRole:
</ins><span class="cx">     case IncrementorRole:
</span><span class="cx">     case ListBoxRole:
</span><span class="cx">     case PopUpButtonRole:
</span><span class="lines">@@ -2061,6 +2062,7 @@
</span><span class="cx">     // Elements that can be selected
</span><span class="cx">     switch (roleValue()) {
</span><span class="cx">     case CellRole:
</span><ins>+    case GridCellRole:
</ins><span class="cx">     case RadioButtonRole:
</span><span class="cx">     case RowHeaderRole:
</span><span class="cx">     case RowRole:
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -1914,8 +1914,10 @@
</span><span class="cx">         { &quot;contentinfo&quot;, LandmarkContentInfoRole },
</span><span class="cx">         { &quot;dialog&quot;, ApplicationDialogRole },
</span><span class="cx">         { &quot;directory&quot;, DirectoryRole },
</span><del>-        { &quot;grid&quot;, TableRole },
-        { &quot;gridcell&quot;, CellRole },
</del><ins>+        { &quot;grid&quot;, GridRole },
+        { &quot;gridcell&quot;, GridCellRole },
+        { &quot;table&quot;, TableRole },
+        { &quot;cell&quot;, CellRole },
</ins><span class="cx">         { &quot;columnheader&quot;, ColumnHeaderRole },
</span><span class="cx">         { &quot;combobox&quot;, ComboBoxRole },
</span><span class="cx">         { &quot;definition&quot;, DefinitionRole },
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.h (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityObject.h        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.h        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -132,6 +132,7 @@
</span><span class="cx">     FooterRole,
</span><span class="cx">     FormRole,
</span><span class="cx">     GridRole,
</span><ins>+    GridCellRole,
</ins><span class="cx">     GroupRole,
</span><span class="cx">     GrowAreaRole,
</span><span class="cx">     HeadingRole,
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -1692,7 +1692,7 @@
</span><span class="cx"> {
</span><span class="cx">     // Setting selected only makes sense in trees and tables (and tree-tables).
</span><span class="cx">     AccessibilityRole role = roleValue();
</span><del>-    if (role != TreeRole &amp;&amp; role != TreeGridRole &amp;&amp; role != TableRole)
</del><ins>+    if (role != TreeRole &amp;&amp; role != TreeGridRole &amp;&amp; role != TableRole &amp;&amp; role != GridRole)
</ins><span class="cx">         return;
</span><span class="cx">     
</span><span class="cx">     bool isMulti = isMultiSelectable();
</span><span class="lines">@@ -2743,6 +2743,7 @@
</span><span class="cx">         }
</span><span class="cx">         possibleParentTagNames = &amp;listItemParents.get();
</span><span class="cx">         break;
</span><ins>+    case GridCellRole:
</ins><span class="cx">     case CellRole:
</span><span class="cx">         if (tableCellParents.get().isEmpty())
</span><span class="cx">             tableCellParents.get().add(tableTag);
</span><span class="lines">@@ -3238,7 +3239,7 @@
</span><span class="cx">     AccessibilityRole role = roleValue();
</span><span class="cx">     if (role == ListBoxRole) // native list boxes would be AccessibilityListBoxes, so only check for aria list boxes
</span><span class="cx">         ariaListboxSelectedChildren(result);
</span><del>-    else if (role == TreeRole || role == TreeGridRole || role == TableRole)
</del><ins>+    else if (role == TreeRole || role == TreeGridRole || role == TableRole || role == GridRole)
</ins><span class="cx">         ariaSelectedRows(result);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityTable.cpp (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityTable.cpp        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AccessibilityTable.cpp        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -585,6 +585,10 @@
</span><span class="cx"> {
</span><span class="cx">     if (!isExposableThroughAccessibility())
</span><span class="cx">         return AccessibilityRenderObject::roleValue();
</span><ins>+    
+    AccessibilityRole ariaRole = ariaRoleAttribute();
+    if (ariaRole == GridRole || ariaRole == TreeGridRole)
+        return GridRole;
</ins><span class="cx"> 
</span><span class="cx">     return TableRole;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityTableCellcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">     // role, falling back on the role to be used if we determine here that the element
</span><span class="cx">     // should not be exposed as a cell. Thus if we already know it's a cell, return that.
</span><span class="cx">     AccessibilityRole defaultRole = AccessibilityRenderObject::determineAccessibilityRole();
</span><del>-    if (defaultRole == ColumnHeaderRole || defaultRole == RowHeaderRole || defaultRole == CellRole)
</del><ins>+    if (defaultRole == ColumnHeaderRole || defaultRole == RowHeaderRole || defaultRole == CellRole || defaultRole == GridCellRole)
</ins><span class="cx">         return defaultRole;
</span><span class="cx"> 
</span><span class="cx">     if (!isTableCell())
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityiosWebAccessibilityObjectWrapperIOSmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -479,7 +479,7 @@
</span><span class="cx"> - (AccessibilityObjectWrapper*)_accessibilityTableAncestor
</span><span class="cx"> {
</span><span class="cx">     for (AccessibilityObject* parent = m_object-&gt;parentObject(); parent != nil; parent = parent-&gt;parentObject()) {
</span><del>-        if (parent-&gt;roleValue() == TableRole)
</del><ins>+        if (parent-&gt;roleValue() == TableRole || parent-&gt;roleValue() == GridRole)
</ins><span class="cx">             return parent-&gt;wrapper();   
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -521,6 +521,7 @@
</span><span class="cx">             case ListRole:
</span><span class="cx">                 traits |= [self _axContainedByListTrait];
</span><span class="cx">                 break;
</span><ins>+            case GridRole:
</ins><span class="cx">             case TableRole:
</span><span class="cx">                 traits |= [self _axContainedByTableTrait];
</span><span class="cx">                 break;
</span><span class="lines">@@ -731,6 +732,7 @@
</span><span class="cx">         case FooterRole:
</span><span class="cx">         case FormRole:
</span><span class="cx">         case GridRole:
</span><ins>+        case GridCellRole:
</ins><span class="cx">         case GrowAreaRole:
</span><span class="cx">         case HelpTagRole:
</span><span class="cx">         case IgnoredRole:
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilitymacWebAccessibilityObjectWrapperMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (186691 => 186692)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm        2015-07-10 21:19:51 UTC (rev 186691)
+++ trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm        2015-07-10 22:04:50 UTC (rev 186692)
</span><span class="lines">@@ -1928,6 +1928,7 @@
</span><span class="cx">         { ListBoxRole, NSAccessibilityListRole },
</span><span class="cx">         { ListBoxOptionRole, NSAccessibilityStaticTextRole },
</span><span class="cx">         { CellRole, NSAccessibilityCellRole },
</span><ins>+        { GridCellRole, NSAccessibilityCellRole },
</ins><span class="cx">         { TableHeaderContainerRole, NSAccessibilityGroupRole },
</span><span class="cx">         { ColumnHeaderRole, NSAccessibilityCellRole },
</span><span class="cx">         { RowHeaderRole, NSAccessibilityCellRole },
</span></span></pre>
</div>
</div>

</body>
</html>