Title: [188083] branches/safari-601.1-branch

Diff

Modified: branches/safari-601.1-branch/LayoutTests/ChangeLog (188082 => 188083)


--- branches/safari-601.1-branch/LayoutTests/ChangeLog	2015-08-06 23:22:38 UTC (rev 188082)
+++ branches/safari-601.1-branch/LayoutTests/ChangeLog	2015-08-06 23:22:41 UTC (rev 188083)
@@ -1,5 +1,24 @@
 2015-08-06  Dana Burkart  <dburk...@apple.com>
 
+        Merge r187935. rdar://problem/22097682
+
+    2015-08-04  Doug Russell  <d_russ...@apple.com>
+
+            AX: tree item children returned from ranged getter are different from full array of children
+            https://bugs.webkit.org/show_bug.cgi?id=147660
+
+            Add an isTreeItem() check in ranged element getter so that it matches the logic in
+            the getter for the full children array. This prevents returning a row as a child
+            when only the rows contents should be returned. This prevents navigation issues on
+            websites without aria outlines.
+
+            Reviewed by Chris Fleizach.
+
+            * accessibility/mac/aria-tree-item-children-expected.txt: Added.
+            * accessibility/mac/aria-tree-item-children.html: Added.
+
+2015-08-06  Dana Burkart  <dburk...@apple.com>
+
         Merge r187930. rdar://problem/21870332
 
     2015-08-04  Brent Fulgham  <bfulg...@apple.com>

Added: branches/safari-601.1-branch/LayoutTests/accessibility/mac/aria-tree-item-children-expected.txt (0 => 188083)


--- branches/safari-601.1-branch/LayoutTests/accessibility/mac/aria-tree-item-children-expected.txt	                        (rev 0)
+++ branches/safari-601.1-branch/LayoutTests/accessibility/mac/aria-tree-item-children-expected.txt	2015-08-06 23:22:41 UTC (rev 188083)
@@ -0,0 +1,13 @@
+Animals
+Birds
+This tests that aria tree items can be fetched as either a full list of children or via range getter to ensure the range getter isn't returning a row as it's first child.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS tree.role is 'AXRole: AXOutline'
+PASS child1 == child2 is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: branches/safari-601.1-branch/LayoutTests/accessibility/mac/aria-tree-item-children.html (0 => 188083)


--- branches/safari-601.1-branch/LayoutTests/accessibility/mac/aria-tree-item-children.html	                        (rev 0)
+++ branches/safari-601.1-branch/LayoutTests/accessibility/mac/aria-tree-item-children.html	2015-08-06 23:22:41 UTC (rev 188083)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+<script>
+if (window.testRunner)
+   testRunner.dumpAsText();
+</script>
+</head>
+<body id="body">
+
+<ul id="tree" role="tree" aria-labelledby="treelabel" aria-activedescendant="tree0_item0_2_0_1" tabindex="0">
+    <li id="treeitem1" role="treeitem" aria-level="1" aria-expanded="true">
+        <span>
+            <span class="expander"></span>
+            Animals
+            </span>
+            <ul role="group">
+                <div id="treeitem2" role="treeitem" aria-level="2"><span>Birds</span></div>
+            </ul>
+        </span>
+    </li>
+</ul>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+    description("This tests that aria tree items can be fetched as either a full list of children or via range getter to ensure the range getter isn't returning a row as it's first child.");
+
+    if (window.accessibilityController) {
+
+          var tree = accessibilityController.accessibleElementById("tree")
+          shouldBe("tree.role", "'AXRole: AXOutline'");
+
+          var treeitem = tree.childAtIndex(0);
+          var child1 = treeitem.childAtIndex(0);
+          var child2 = treeitem.uiElementArrayAttributeValue("AXChildren")[0];
+          shouldBe("child1 == child2", "true");
+    }
+
+</script>
+
+<script src=""
+</body>
+</html>

Modified: branches/safari-601.1-branch/Source/WebCore/ChangeLog (188082 => 188083)


--- branches/safari-601.1-branch/Source/WebCore/ChangeLog	2015-08-06 23:22:38 UTC (rev 188082)
+++ branches/safari-601.1-branch/Source/WebCore/ChangeLog	2015-08-06 23:22:41 UTC (rev 188083)
@@ -1,5 +1,26 @@
 2015-08-06  Dana Burkart  <dburk...@apple.com>
 
+        Merge r187935. rdar://problem/22097682
+
+    2015-08-04  Doug Russell  <d_russ...@apple.com>
+
+            AX: tree item children returned from ranged getter are different from full array of children
+            https://bugs.webkit.org/show_bug.cgi?id=147660
+
+            Reviewed by Chris Fleizach.
+
+            Add an isTreeItem() check in ranged element getter so that it matches the logic in
+            the getter for the full children array. This prevents returning a row as a child
+            when only the rows contents should be returned. This prevents navigation issues on
+            websites without aria outlines.
+
+            Test: accessibility/mac/aria-tree-item-children.html
+
+            * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+            (-[WebAccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
+
+2015-08-06  Dana Burkart  <dburk...@apple.com>
+
         Merge r187930. rdar://problem/21870332
 
     2015-08-04  Brent Fulgham  <bfulg...@apple.com>

Modified: branches/safari-601.1-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm (188082 => 188083)


--- branches/safari-601.1-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2015-08-06 23:22:38 UTC (rev 188082)
+++ branches/safari-601.1-branch/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm	2015-08-06 23:22:41 UTC (rev 188083)
@@ -4047,8 +4047,9 @@
             
             NSUInteger arrayLength = std::min(childCount - index, maxCount);
             return [children subarrayWithRange:NSMakeRange(index, arrayLength)];
-        } else if (m_object->isTree()) {
-            // Tree objects return their rows as their children. We can use the original method in this case.
+        } else if (m_object->isTree() || m_object->isTreeItem()) {
+            // Tree objects return their rows as their children & tree items return their contents sans rows.
+            // We can use the original method in this case.
             return [super accessibilityArrayAttributeValues:attribute index:index maxCount:maxCount];
         }
         
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to