Title: [142014] trunk
- Revision
- 142014
- Author
- cfleiz...@apple.com
- Date
- 2013-02-06 12:08:20 -0800 (Wed, 06 Feb 2013)
Log Message
AX: if <html> has an ARIA attribute, it's exposed as an AXGroup
https://bugs.webkit.org/show_bug.cgi?id=109008
Reviewed by Ryosuke Niwa.
Source/WebCore:
If an <html> element had an ARIA attribute, it was being turned into an element
in the AX hierarchy. This was causing trouble for screen readers by inserting
an unexpected element in the navigation sequence.
Test: accessibility/html-html-element-is-ignored.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
LayoutTests:
* accessibility/html-html-element-is-ignored-expected.txt: Added.
* accessibility/html-html-element-is-ignored.html: Added.
* platform/chromium/TestExpectations:
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (142013 => 142014)
--- trunk/LayoutTests/ChangeLog 2013-02-06 19:43:21 UTC (rev 142013)
+++ trunk/LayoutTests/ChangeLog 2013-02-06 20:08:20 UTC (rev 142014)
@@ -1,3 +1,14 @@
+2013-02-06 Chris Fleizach <cfleiz...@apple.com>
+
+ AX: if <html> has an ARIA attribute, it's exposed as an AXGroup
+ https://bugs.webkit.org/show_bug.cgi?id=109008
+
+ Reviewed by Ryosuke Niwa.
+
+ * accessibility/html-html-element-is-ignored-expected.txt: Added.
+ * accessibility/html-html-element-is-ignored.html: Added.
+ * platform/chromium/TestExpectations:
+
2013-02-06 Shawn Singh <shawnsi...@chromium.org>
RenderLayer hasVisibleContent() has inconsistent semantics causing disappearing composited layers
Added: trunk/LayoutTests/accessibility/html-html-element-is-ignored-expected.txt (0 => 142014)
--- trunk/LayoutTests/accessibility/html-html-element-is-ignored-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/html-html-element-is-ignored-expected.txt 2013-02-06 20:08:20 UTC (rev 142014)
@@ -0,0 +1,14 @@
+This test checks that the element is not the AX tree (ever), even when it has an aria attribute.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+The start element should be a button.
+PASS startElement.role is 'AXRole: AXButton'
+
+The parent should be the web area.
+PASS startElement.parentElement().role is 'AXRole: AXWebArea'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/accessibility/html-html-element-is-ignored.html (0 => 142014)
--- trunk/LayoutTests/accessibility/html-html-element-is-ignored.html (rev 0)
+++ trunk/LayoutTests/accessibility/html-html-element-is-ignored.html 2013-02-06 20:08:20 UTC (rev 142014)
@@ -0,0 +1,28 @@
+<html aria-label="Test">
+<head>
+<script src=""
+</head>
+<body id="body">
+
+ <p role="button" id="description"></p>
+ <div id="console"></div>
+
+ <script>
+ if (window.accessibilityController) {
+ description("This test checks that the <html> element is not the AX tree (ever), even when it has an aria attribute. ");
+
+ var startElement = accessibilityController.accessibleElementById("description");
+ debug("The start element should be a button.");
+ shouldBe("startElement.role", "'AXRole: AXButton'");
+
+ debug("\nThe parent should be the web area.");
+ shouldBe("startElement.parentElement().role", "'AXRole: AXWebArea'");
+ } else {
+ debug("This test requires accessibilityController.")
+ }
+ </script>
+
+<script src=""
+
+</body>
+</html>
Modified: trunk/LayoutTests/platform/chromium/TestExpectations (142013 => 142014)
--- trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-06 19:43:21 UTC (rev 142013)
+++ trunk/LayoutTests/platform/chromium/TestExpectations 2013-02-06 20:08:20 UTC (rev 142014)
@@ -1413,6 +1413,7 @@
webkit.org/b/96529 accessibility/hidden-legend.html [ Skip ]
webkit.org/b/73912 accessibility/aria-checkbox-text.html [ Skip ]
webkit.org/b/99665 accessibility/loading-iframe-sends-notification.html [ Skip ]
+webkit.org/b/109056 accessibility/html-html-element-is-ignored.html [ Skip ]
webkit.org/b/73912 accessibility/aria-checkbox-sends-notification.html [ Failure Pass ]
#webkit.org/b/98787 accessibility/aria-hidden-negates-no-visibility.html [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (142013 => 142014)
--- trunk/Source/WebCore/ChangeLog 2013-02-06 19:43:21 UTC (rev 142013)
+++ trunk/Source/WebCore/ChangeLog 2013-02-06 20:08:20 UTC (rev 142014)
@@ -1,3 +1,19 @@
+2013-02-06 Chris Fleizach <cfleiz...@apple.com>
+
+ AX: if <html> has an ARIA attribute, it's exposed as an AXGroup
+ https://bugs.webkit.org/show_bug.cgi?id=109008
+
+ Reviewed by Ryosuke Niwa.
+
+ If an <html> element had an ARIA attribute, it was being turned into an element
+ in the AX hierarchy. This was causing trouble for screen readers by inserting
+ an unexpected element in the navigation sequence.
+
+ Test: accessibility/html-html-element-is-ignored.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+
2013-02-06 Shawn Singh <shawnsi...@chromium.org>
RenderLayer hasVisibleContent() has inconsistent semantics causing disappearing composited layers
Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (142013 => 142014)
--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2013-02-06 19:43:21 UTC (rev 142013)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2013-02-06 20:08:20 UTC (rev 142014)
@@ -2586,6 +2586,10 @@
if (node && node->hasTagName(addressTag))
return LandmarkContentInfoRole;
+ // The HTML element should not be exposed as an element. That's what the RenderView element does.
+ if (node && node->hasTagName(htmlTag))
+ return IgnoredRole;
+
// There should only be one banner/contentInfo per page. If header/footer are being used within an article or section
// then it should not be exposed as whole page's banner/contentInfo
if (node && node->hasTagName(headerTag) && !isDescendantOfElementType(articleTag) && !isDescendantOfElementType(sectionTag))
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes