From b6719bfe2e09b43cd1d98f4fd4c0059160829c79 Mon Sep 17 00:00:00 2001 From: "cfleizach@apple.com" Date: Thu, 9 Jul 2015 07:31:27 +0000 Subject: [PATCH 1/1] 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. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186587 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 10 +++++ ...table-with-presentational-elements-expected.txt | 11 ++++++ .../aria-table-with-presentational-elements.html | 43 ++++++++++++++++++++++ Source/WebCore/ChangeLog | 19 ++++++++++ .../accessibility/AccessibilityARIAGridRow.cpp | 5 +++ .../accessibility/AccessibilityARIAGridRow.h | 3 +- 6 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt create mode 100644 LayoutTests/accessibility/aria-table-with-presentational-elements.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index 51f99bf..145c04b 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,13 @@ +2015-07-09 Chris Fleizach + + 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 Fix grammar issue in TypeError attempting to change an unconfigurable property diff --git a/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt b/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt new file mode 100644 index 0000000..7ba8500 --- /dev/null +++ b/LayoutTests/accessibility/aria-table-with-presentational-elements-expected.txt @@ -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 + diff --git a/LayoutTests/accessibility/aria-table-with-presentational-elements.html b/LayoutTests/accessibility/aria-table-with-presentational-elements.html new file mode 100644 index 0000000..55ad544 --- /dev/null +++ b/LayoutTests/accessibility/aria-table-with-presentational-elements.html @@ -0,0 +1,43 @@ + + + + + + + + +
+ +
+
+
+
+
hello
+
hello
+
hello
+
+
+
+
+ +
+ +

+
+ + + + + diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index c2aafaf..0b9f94c 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,22 @@ +2015-07-09 Chris Fleizach + + 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 [GTK] The "Missing Plug-in" buttons are not showing up on some flash contents. diff --git a/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp b/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp index 69ee525..dd4fda5 100644 --- a/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp +++ b/Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp @@ -114,6 +114,11 @@ AccessibilityObject* AccessibilityARIAGridRow::disclosedByRow() const 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 diff --git a/Source/WebCore/accessibility/AccessibilityARIAGridRow.h b/Source/WebCore/accessibility/AccessibilityARIAGridRow.h index bf1a1c4..2d9ac29 100644 --- a/Source/WebCore/accessibility/AccessibilityARIAGridRow.h +++ b/Source/WebCore/accessibility/AccessibilityARIAGridRow.h @@ -50,7 +50,8 @@ private: virtual bool isARIATreeGridRow() const override; virtual AccessibilityTable* parentTable() const override; -}; + virtual AccessibilityObject* parentObjectUnignored() const override; +}; } // namespace WebCore -- 1.8.3.1