Title: [186587] trunk
Revision
186587
Author
cfleiz...@apple.com
Date
2015-07-09 00:31:27 -0700 (Thu, 09 Jul 2015)

Log Message

AX: VoiceOver cannot get to any content in Yahoo Mail messages table
https://bugs.webkit.org/show_bug.cgi?id=146674

Reviewed by Darin Adler.

Source/WebCore:

A table row could have any number of parent elements in the render tree, but for the purposes
of accessibility we only want to report the AXTable as the parent so that it looks like a sane
data table.

Test: accessibility/aria-table-with-presentational-elements.html

* accessibility/AccessibilityARIAGridRow.cpp:
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentObjectUnignored):
(WebCore::AccessibilityARIAGridRow::parentTable):
* accessibility/AccessibilityARIAGridRow.h:

LayoutTests:

* accessibility/aria-table-with-presentational-elements-expected.txt: Added.
* accessibility/aria-table-with-presentational-elements.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (186586 => 186587)


--- trunk/LayoutTests/ChangeLog	2015-07-09 07:01:49 UTC (rev 186586)
+++ trunk/LayoutTests/ChangeLog	2015-07-09 07:31:27 UTC (rev 186587)
@@ -1,3 +1,13 @@
+2015-07-09  Chris Fleizach  <cfleiz...@apple.com>
+
+        AX: VoiceOver cannot get to any content in Yahoo Mail messages table
+        https://bugs.webkit.org/show_bug.cgi?id=146674
+
+        Reviewed by Darin Adler.
+
+        * accessibility/aria-table-with-presentational-elements-expected.txt: Added.
+        * accessibility/aria-table-with-presentational-elements.html: Added.
+
 2015-07-08  Joseph Pecoraro  <pecor...@apple.com>
 
         Fix grammar issue in TypeError attempting to change an unconfigurable property

Added: trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt (0 => 186587)


--- trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt	2015-07-09 07:31:27 UTC (rev 186587)
@@ -0,0 +1,11 @@
+This tests that in an aria table a row will report its parent as the table.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS row.role is 'AXRole: AXRow'
+PASS row.parentElement().role is 'AXRole: AXTable'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html (0 => 186587)


--- trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html	                        (rev 0)
+++ trunk/LayoutTests/accessibility/aria-table-with-presentational-elements.html	2015-07-09 07:31:27 UTC (rev 186587)
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+
+<body id="body">
+
+<div id="content">
+
+<div role="grid" id="table">
+  <div role="presentational" aria-label="hello">
+     <div role="presentational" aria-haspopup="true">
+         <div role="row"> 
+             <div role="gridcell">hello</div>
+             <div role="gridcell">hello</div>
+             <div role="gridcell">hello</div>
+         </div>
+      </div>
+  </div>
+</div>
+
+</div>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+description("This tests that in an aria table a row will report its parent as the table.");
+
+if (window.accessibilityController) {
+    var table = accessibilityController.accessibleElementById("table");
+    var row = table.rowAtIndex(0);
+    shouldBe("row.role", "'AXRole: AXRow'");
+    shouldBe("row.parentElement().role", "'AXRole: AXTable'");
+
+    document.getElementById("content").style.visibility = "hidden";
+}
+
+</script>
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (186586 => 186587)


--- trunk/Source/WebCore/ChangeLog	2015-07-09 07:01:49 UTC (rev 186586)
+++ trunk/Source/WebCore/ChangeLog	2015-07-09 07:31:27 UTC (rev 186587)
@@ -1,3 +1,22 @@
+2015-07-09  Chris Fleizach  <cfleiz...@apple.com>
+
+        AX: VoiceOver cannot get to any content in Yahoo Mail messages table
+        https://bugs.webkit.org/show_bug.cgi?id=146674
+
+        Reviewed by Darin Adler.
+
+        A table row could have any number of parent elements in the render tree, but for the purposes
+        of accessibility we only want to report the AXTable as the parent so that it looks like a sane
+        data table.
+
+        Test: accessibility/aria-table-with-presentational-elements.html
+
+        * accessibility/AccessibilityARIAGridRow.cpp:
+        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
+        (WebCore::AccessibilityARIAGridRow::parentObjectUnignored):
+        (WebCore::AccessibilityARIAGridRow::parentTable):
+        * accessibility/AccessibilityARIAGridRow.h:
+
 2015-07-08  Sungmann Cho  <sungmann....@navercorp.com>
 
         [GTK] The "Missing Plug-in" buttons are not showing up on some flash contents.

Modified: trunk/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp (186586 => 186587)


--- trunk/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp	2015-07-09 07:01:49 UTC (rev 186586)
+++ trunk/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp	2015-07-09 07:31:27 UTC (rev 186587)
@@ -114,6 +114,11 @@
     return nullptr;
 }
     
+AccessibilityObject* AccessibilityARIAGridRow::parentObjectUnignored() const
+{
+    return parentTable();
+}
+    
 AccessibilityTable* AccessibilityARIAGridRow::parentTable() const
 {
     // The parent table might not be the direct ancestor of the row unfortunately. ARIA states that role="grid" should

Modified: trunk/Source/WebCore/accessibility/AccessibilityARIAGridRow.h (186586 => 186587)


--- trunk/Source/WebCore/accessibility/AccessibilityARIAGridRow.h	2015-07-09 07:01:49 UTC (rev 186586)
+++ trunk/Source/WebCore/accessibility/AccessibilityARIAGridRow.h	2015-07-09 07:31:27 UTC (rev 186587)
@@ -50,7 +50,8 @@
 
     virtual bool isARIATreeGridRow() const override;
     virtual AccessibilityTable* parentTable() const override;
-}; 
+    virtual AccessibilityObject* parentObjectUnignored() const override;
+};
 
 } // namespace WebCore 
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to