AX: VoiceOver ignored role="presentation" on <table> HTML elements
authorcfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Jul 2019 22:42:21 +0000 (22:42 +0000)
committercfleizach@apple.com <cfleizach@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Jul 2019 22:42:21 +0000 (22:42 +0000)
https://bugs.webkit.org/show_bug.cgi?id=199659

Reviewed by Zalan Bujtas.

Source/WebCore:

Only include a table ancestor if it's a table we care about for accessibility.

Modified Test: accessibility/ios-simulator/tables-lists.html

* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):

LayoutTests:

* accessibility/ios-simulator/tables-lists-expected.txt:
* accessibility/ios-simulator/tables-lists.html:

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

LayoutTests/ChangeLog
LayoutTests/accessibility/ios-simulator/tables-lists-expected.txt
LayoutTests/accessibility/ios-simulator/tables-lists.html
Source/WebCore/ChangeLog
Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm

index f7705ec..7082949 100644 (file)
@@ -1,3 +1,13 @@
+2019-07-10  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: VoiceOver ignored role="presentation" on <table> HTML elements
+        https://bugs.webkit.org/show_bug.cgi?id=199659
+
+        Reviewed by Zalan Bujtas.
+
+        * accessibility/ios-simulator/tables-lists-expected.txt:
+        * accessibility/ios-simulator/tables-lists.html:
+
 2019-07-10  Ryosuke Niwa  <rniwa@webkit.org>
 
         [iOS] REGRESSION(r244851): Revealing caret sometimes fails when content inset is used
index 277f03e..006af15 100644 (file)
@@ -2,6 +2,7 @@ item 1
 list item 1
 table item 1   table item 2    table item 3
 landmark 1
+table item 1
 This test makes sure that items in lists, tables and landmarks have different traits on them, because they're contained in different items.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
@@ -13,6 +14,7 @@ PASS listItem.traits != landmarkItem.traits is true
 PASS tableItem.traits != initialItem.traits is true
 PASS tableItem.traits != landmarkItem.traits is true
 PASS landmarkItem.traits != initialItem.traits is true
+PASS nonTableItem.traits != tableItem.traits is true
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 8e47ac4..a4c2ab6 100644 (file)
@@ -26,6 +26,10 @@ item 1
 <b>landmark 1</b>
 </div>
 
+<table border=1 role="presentation">
+<tr role="presentation"><td role="presentation">table item 1</td></tr>
+</table>
+
 </div>
 
 <p id="description"></p>
@@ -43,6 +47,7 @@ item 1
         var listItem = root.childAtIndex(1).childAtIndex(0).childAtIndex(0);
         var tableItem = root.childAtIndex(2).childAtIndex(0);
         var landmarkItem = root.childAtIndex(3).childAtIndex(0);
+        var nonTableItem = root.childAtIndex(4);
 
         shouldBe("listItem.traits != initialItem.traits", "true");
         shouldBe("listItem.traits != tableItem.traits", "true");
@@ -52,6 +57,8 @@ item 1
         shouldBe("tableItem.traits != landmarkItem.traits", "true");
 
         shouldBe("landmarkItem.traits != initialItem.traits", "true");
+
+        shouldBe("nonTableItem.traits != tableItem.traits", "true");
     }
 
     successfullyParsed = true;
index b78bd9e..89993b0 100644 (file)
@@ -1,3 +1,17 @@
+2019-07-10  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: VoiceOver ignored role="presentation" on <table> HTML elements
+        https://bugs.webkit.org/show_bug.cgi?id=199659
+
+        Reviewed by Zalan Bujtas.
+
+        Only include a table ancestor if it's a table we care about for accessibility.
+
+        Modified Test: accessibility/ios-simulator/tables-lists.html
+
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
+
 2019-07-10  Robin Morisset  <rmorisset@apple.com>
 
         [WHLSL] Track code locations correctly throughout the compiler to get good error messages
index a2eb20b..1cd2725 100644 (file)
@@ -592,9 +592,8 @@ static AccessibilityObjectWrapper* AccessibilityUnignoredAncestor(AccessibilityO
 
 - (AccessibilityObjectWrapper*)_accessibilityTableAncestor
 {
-    
     if (const AccessibilityObject* parent = AccessibilityObject::matchedParent(*m_object, false, [] (const AccessibilityObject& object) {
-        return object.isTable();
+        return object.roleValue() == AccessibilityRole::Table;
     }))
         return parent->wrapper();
     return nil;