Title: [96922] trunk
Revision
96922
Author
[email protected]
Date
2011-10-07 02:51:49 -0700 (Fri, 07 Oct 2011)

Log Message

[GTK] Don't expose objects with unknown role on GTK
https://bugs.webkit.org/show_bug.cgi?id=69561

Reviewed by Chris Fleizach.

Source/WebCore:

Ignore accessibility objects in accessibilityPlatformIncludesObject.

Test: platform/gtk/accessibility/unknown-roles-not-exposed.html

* accessibility/gtk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
For unknown accessibility objects, return IgnoreObject.

LayoutTests:

New test to check that unknown objects are not exposed in GTK.

* platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt: Added.
* platform/gtk/accessibility/unknown-roles-not-exposed.html: Added.

Added new expectation for new accessibility layout test introduced
in r96127 that was not possible to add before because of this bug.

* platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (96921 => 96922)


--- trunk/LayoutTests/ChangeLog	2011-10-07 09:35:18 UTC (rev 96921)
+++ trunk/LayoutTests/ChangeLog	2011-10-07 09:51:49 UTC (rev 96922)
@@ -1,3 +1,20 @@
+2011-10-07  Mario Sanchez Prada  <[email protected]>
+
+        [GTK] Don't expose objects with unknown role on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=69561
+
+        Reviewed by Chris Fleizach.
+
+        New test to check that unknown objects are not exposed in GTK.
+
+        * platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt: Added.
+        * platform/gtk/accessibility/unknown-roles-not-exposed.html: Added.
+
+        Added new expectation for new accessibility layout test introduced
+        in r96127 that was not possible to add before because of this bug.
+
+        * platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt: Added.
+
 2011-10-07  Philippe Normand  <[email protected]>
 
         Unreviewed, GTK baselines for

Added: trunk/LayoutTests/platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt (0 => 96922)


--- trunk/LayoutTests/platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/gtk/accessibility/deleting-iframe-destroys-axcache-expected.txt	2011-10-07 09:51:49 UTC (rev 96922)
@@ -0,0 +1,48 @@
+Before
+
+After
+
+End of test
+
+This tests that deleting an iframe doesn't cause the accessibility cache to be destroyed and recreated.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Before:
+AXRole: scroll pane 
+    AXRole: document frame 
+        AXRole: paragraph 
+        AXRole: panel 
+            AXRole: scroll pane 
+                AXRole: document frame 
+                    AXRole: panel 
+                        AXRole: push button 
+        AXRole: paragraph 
+        AXRole: paragraph 
+        AXRole: paragraph 
+        AXRole: paragraph 
+        AXRole: section 
+
+After:
+AXRole: scroll pane 
+    AXRole: document frame 
+        AXRole: paragraph 
+        AXRole: panel 
+        AXRole: paragraph 
+        AXRole: paragraph 
+        AXRole: paragraph 
+        AXRole: paragraph 
+        AXRole: section 
+
+PASS frameBodyRole == frameBody.role is false
+PASS frameGroupRole == frameGroup.role is false
+PASS frameButtonRole == frameButton.role is false
+PASS root.isEqual(newRoot) is true
+PASS body.isEqual(newBody) is true
+PASS before.isEqual(newBefore) is true
+PASS after.isEqual(newAfter) is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt (0 => 96922)


--- trunk/LayoutTests/platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/gtk/accessibility/unknown-roles-not-exposed-expected.txt	2011-10-07 09:51:49 UTC (rev 96922)
@@ -0,0 +1,15 @@
+
+This tests accessibility objects with role 'unknown' are not being exposed in the GTK port.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+PASS root.role is 'AXRole: scroll pane'
+PASS webArea.role is 'AXRole: document frame'
+PASS iframe.role is 'AXRole: scroll pane'
+PASS iframe_body.role is 'AXRole: document frame'
+PASS iframe_button.role is 'AXRole: push button'
+

Added: trunk/LayoutTests/platform/gtk/accessibility/unknown-roles-not-exposed.html (0 => 96922)


--- trunk/LayoutTests/platform/gtk/accessibility/unknown-roles-not-exposed.html	                        (rev 0)
+++ trunk/LayoutTests/platform/gtk/accessibility/unknown-roles-not-exposed.html	2011-10-07 09:51:49 UTC (rev 96922)
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src=""
+<script>
+var successfullyParsed = false;
+
+if (window.layoutTestController)
+  layoutTestController.dumpAsText();
+
+function runTest()
+{
+  if (window.accessibilityController) {
+
+    window.root = accessibilityController.rootElement;
+    window.webArea = root.childAtIndex(0);
+    window.iframe = webArea.childAtIndex(0);
+    window.iframe_body = iframe.childAtIndex(0);
+    window.iframe_button = iframe_body.childAtIndex(0);
+
+    shouldBe("root.role", "'AXRole: scroll pane'");
+    shouldBe("webArea.role", "'AXRole: document frame'");
+    shouldBe("iframe.role", "'AXRole: scroll pane'");
+    shouldBe("iframe_body.role", "'AXRole: document frame'");
+    shouldBe("iframe_button.role", "'AXRole: push button'");
+  }
+}
+</script>
+</head>
+<body id="body" _onload_="runTest()">
+<iframe src="" me</button></body>"></iframe>
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+description("This tests accessibility objects with role 'unknown' are not being exposed in the GTK port.");
+
+successfullyParsed = true;
+</script>
+<script src=""
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (96921 => 96922)


--- trunk/Source/WebCore/ChangeLog	2011-10-07 09:35:18 UTC (rev 96921)
+++ trunk/Source/WebCore/ChangeLog	2011-10-07 09:51:49 UTC (rev 96922)
@@ -1,3 +1,18 @@
+2011-10-07  Mario Sanchez Prada  <[email protected]>
+
+        [GTK] Don't expose objects with unknown role on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=69561
+
+        Reviewed by Chris Fleizach.
+
+        Ignore accessibility objects in accessibilityPlatformIncludesObject.
+
+        Test: platform/gtk/accessibility/unknown-roles-not-exposed.html
+
+        * accessibility/gtk/AccessibilityObjectAtk.cpp:
+        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+        For unknown accessibility objects, return IgnoreObject.
+
 2011-10-07  Pavel Feldman  <[email protected]>
 
         Web Inspector: add Elements and Network panels to the compilation

Modified: trunk/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp (96921 => 96922)


--- trunk/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp	2011-10-07 09:35:18 UTC (rev 96921)
+++ trunk/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp	2011-10-07 09:51:49 UTC (rev 96922)
@@ -73,6 +73,11 @@
     if (role == ListMarkerRole)
         return IgnoreObject;
 
+    // Never expose an unknown object, since AT's won't know what to
+    // do with them. This is what is done on the Mac as well.
+    if (role == UnknownRole)
+        return IgnoreObject;
+
     return DefaultBehavior;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to