Title: [155191] trunk
- Revision
- 155191
- Author
- [email protected]
- Date
- 2013-09-06 09:13:52 -0700 (Fri, 06 Sep 2013)
Log Message
AX: aria-relevant does not expose AXARIARelevant
https://bugs.webkit.org/show_bug.cgi?id=120373
Reviewed by Darin Adler.
Source/WebCore:
When global ARIA attributes are present on an Element we need to ignore
a presentational role, if set on that Element.
Test: accessibility/global-aria-attributes-invalidate-presentational.html
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsARIAAttributes):
LayoutTests:
* accessibility/global-aria-attributes-invalidate-presentational-expected.txt: Added.
* accessibility/global-aria-attributes-invalidate-presentational.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (155190 => 155191)
--- trunk/LayoutTests/ChangeLog 2013-09-06 16:12:33 UTC (rev 155190)
+++ trunk/LayoutTests/ChangeLog 2013-09-06 16:13:52 UTC (rev 155191)
@@ -1,3 +1,13 @@
+2013-09-06 Chris Fleizach <[email protected]>
+
+ AX: aria-relevant does not expose AXARIARelevant
+ https://bugs.webkit.org/show_bug.cgi?id=120373
+
+ Reviewed by Darin Adler.
+
+ * accessibility/global-aria-attributes-invalidate-presentational-expected.txt: Added.
+ * accessibility/global-aria-attributes-invalidate-presentational.html: Added.
+
2013-09-06 Radu Stavila <[email protected]>
[CSS Regions] Remove orphan test results
Added: trunk/LayoutTests/accessibility/global-aria-attributes-invalidate-presentational-expected.txt (0 => 155191)
--- trunk/LayoutTests/accessibility/global-aria-attributes-invalidate-presentational-expected.txt (rev 0)
+++ trunk/LayoutTests/accessibility/global-aria-attributes-invalidate-presentational-expected.txt 2013-09-06 16:13:52 UTC (rev 155191)
@@ -0,0 +1,24 @@
+
+This tests that the presence of any global ARIA attribute invalidates a presentational role.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS item.role is 'AXRole: AXImage'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/accessibility/global-aria-attributes-invalidate-presentational.html (0 => 155191)
--- trunk/LayoutTests/accessibility/global-aria-attributes-invalidate-presentational.html (rev 0)
+++ trunk/LayoutTests/accessibility/global-aria-attributes-invalidate-presentational.html 2013-09-06 16:13:52 UTC (rev 155191)
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<script src=""
+</head>
+<body id="body">
+
+<img id="item1" src="" alt="test1" role="presentation" aria-atomic="true">
+<img id="item2" src="" alt="test1" role="presentation" aria-busy="true">
+<img id="item3" src="" alt="test1" role="presentation" aria-controls="item1">
+<img id="item4" src="" alt="test1" role="presentation" aria-describedby="item1">
+<img id="item5" src="" alt="test1" role="presentation" aria-disabled="true">
+<img id="item6" src="" alt="test1" role="presentation" aria-dropeffect="true">
+<img id="item7" src="" alt="test1" role="presentation" aria-haspopup="true">
+<img id="item8" src="" alt="test1" role="presentation" aria-flowto="item1">
+<img id="item9" src="" alt="test1" role="presentation" aria-invalid="true">
+<img id="item10" src="" alt="test1" role="presentation" aria-label="test">
+<img id="item11" src="" alt="test1" role="presentation" aria-labelledby="item1">
+<img id="item12" src="" alt="test1" role="presentation" aria-live="polite">
+<img id="item13" src="" alt="test1" role="presentation" aria-owns="item1">
+<img id="item14" src="" alt="test1" role="presentation" aria-relevant="all">
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+ description("This tests that the presence of any global ARIA attribute invalidates a presentational role.");
+
+ if (window.accessibilityController) {
+ for (var k = 1; k < 15; k++) {
+ var item = accessibilityController.accessibleElementById("item" + k);
+ shouldBe("item.role", "'AXRole: AXImage'");
+ }
+ }
+
+</script>
+
+<script src=""
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (155190 => 155191)
--- trunk/Source/WebCore/ChangeLog 2013-09-06 16:12:33 UTC (rev 155190)
+++ trunk/Source/WebCore/ChangeLog 2013-09-06 16:13:52 UTC (rev 155191)
@@ -1,3 +1,20 @@
+2013-09-06 Chris Fleizach <[email protected]>
+
+ AX: aria-relevant does not expose AXARIARelevant
+ https://bugs.webkit.org/show_bug.cgi?id=120373
+
+ Reviewed by Darin Adler.
+
+ When global ARIA attributes are present on an Element we need to ignore
+ a presentational role, if set on that Element.
+
+ Test: accessibility/global-aria-attributes-invalidate-presentational.html
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute):
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::supportsARIAAttributes):
+
2013-09-06 Brendan Long <[email protected]>
[Qt][BlackBerry] Text track localized string functions are named wrong
Modified: trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (155190 => 155191)
--- trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp 2013-09-06 16:12:33 UTC (rev 155190)
+++ trunk/Source/WebCore/accessibility/AccessibilityNodeObject.cpp 2013-09-06 16:13:52 UTC (rev 155191)
@@ -1853,6 +1853,10 @@
role = remapAriaRoleDueToParent(role);
+ // Presentational roles are invalidated by the presence of ARIA attributes.
+ if (role == PresentationalRole && supportsARIAAttributes())
+ role = UnknownRole;
+
if (role)
return role;
Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (155190 => 155191)
--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp 2013-09-06 16:12:33 UTC (rev 155190)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp 2013-09-06 16:13:52 UTC (rev 155191)
@@ -1544,12 +1544,22 @@
bool AccessibilityObject::supportsARIAAttributes() const
{
+ // This returns whether the element supports any global ARIA attributes.
return supportsARIALiveRegion()
|| supportsARIADragging()
|| supportsARIADropping()
|| supportsARIAFlowTo()
|| supportsARIAOwns()
- || hasAttribute(aria_labelAttr);
+ || hasAttribute(aria_atomicAttr)
+ || hasAttribute(aria_busyAttr)
+ || hasAttribute(aria_controlsAttr)
+ || hasAttribute(aria_describedbyAttr)
+ || hasAttribute(aria_disabledAttr)
+ || hasAttribute(aria_haspopupAttr)
+ || hasAttribute(aria_invalidAttr)
+ || hasAttribute(aria_labelAttr)
+ || hasAttribute(aria_labelledbyAttr)
+ || hasAttribute(aria_relevantAttr);
}
bool AccessibilityObject::supportsARIALiveRegion() const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes