haikuwebkit/LayoutTests/accessibility/aria-current.html

60 lines
2.7 KiB
HTML
Raw Permalink Normal View History

AX: ARIA 1.1 @aria-current https://bugs.webkit.org/show_bug.cgi?id=146012 Patch by Nan Wang <n_wang@apple.com> on 2015-09-11 Reviewed by Chris Fleizach. Source/JavaScriptCore: Updated inspector to support aria-current. * inspector/protocol/DOM.json: Source/WebCore: Tests: accessibility/aria-current.html inspector/dom/getAccessibilityPropertiesForNode_ariaCurrent.html Added support for ARIA 1.1 aria-current. * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::invalidStatus): (WebCore::AccessibilityObject::ariaCurrentState): (WebCore::AccessibilityObject::hasTagName): * accessibility/AccessibilityObject.h: * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): * html/HTMLAttributeNames.in: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): Source/WebInspectorUI: Added support for ARIA 1.1 aria-current. * Localizations/en.lproj/localizedStrings.js: * UserInterface/Models/DOMNode.js: * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: LayoutTests: * accessibility/aria-current-expected.txt: Added. * accessibility/aria-current.html: Added. * inspector/dom/getAccessibilityPropertiesForNode_ariaCurrent-expected.txt: Added. * inspector/dom/getAccessibilityPropertiesForNode_ariaCurrent.html: Added. * platform/gtk/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/167177@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-12 00:47:20 +00:00
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>
<body id="body">
<nav role="navigation">
<!-- All of these eval to 'false' -->
<ul><li><a class="ex" data-expected="false" href="/">Nav1</a></li></ul>
<ul><li><a class="ex" data-expected="false" href="/" aria-current="false">Nav2</a></li></ul>
<ul><li><a class="ex" data-expected="false" href="/" aria-current="">Nav3</a></li></ul>
<ul><li><a class="ex" data-expected="false" href="/" aria-current=" ">Nav4</a></li></ul>
<ul><li><a class="ex" data-expected="false" href="/" aria-current=" ">Nav5</a></li></ul> <!-- tab char -->
<ul><li><a class="ex" data-expected="false" href="/" aria-current="
">Nav6</a></li></ul> <!-- newline char -->
<!-- Known token values in ARIA 1.1 -->
<ul><li><a class="ex" data-expected="page" href="/" aria-current="page">Nav7</a></li></ul>
<ul><li><a class="ex" data-expected="step" href="/" aria-current="step">Nav8</a></li></ul>
<ul><li><a class="ex" data-expected="location" href="/" aria-current="location">Nav9</a></li></ul>
<ul><li><a class="ex" data-expected="date" href="/" aria-current="date">Nav10</a></li></ul>
<ul><li><a class="ex" data-expected="time" href="/" aria-current="time">Nav11</a></li></ul>
<ul><li><a class="ex" data-expected="true" href="/" aria-current="true">Nav12</a></li></ul>
<!-- All other string values -->
<ul><li><a class="ex" data-expected="true" href="/" aria-current="sometext">Nav13</a></li></ul>
<ul><li><a class="ex" data-expected="true" href="/" aria-current="page step">Nav14</a></li></ul>
<ul><li><a class="ex" data-expected="page" href="/" aria-current="page ">Nav15</a></li></ul>
<ul><li><a class="ex" data-expected="step" href="/" aria-current=" step ">Nav16</a></li></ul>
</nav>
<p id="description"></p>
<div id="console"></div>
<script>
description("This tests that aria-current causes the right attribute to be returned.");
function verify(value, expectation, element) {
if (value === expectation)
debug("PASS: AXARIACurrent is " + value);
else
debug("FAIL: AXARIACurrent is " + value + ". Expected: " + expectation + ". " + (element ? element.outerHTML : ""));
}
if (window.accessibilityController) {
var examples = document.querySelectorAll(".ex");
for (var i = 0, c = examples.length; i < c; i++) {
var el = examples[i];
el.focus();
var expectation = el.getAttribute("data-expected");
Support for aria-current state changed notifications. https://bugs.webkit.org/show_bug.cgi?id=221074 Reviewed by Chris Fleizach. Source/WebCore: Test: accessibility/aria-current-state-changed-notification.html Added handling of the AXCurrentStateChanged notification for Mac and iOS ports. This notification is fired when the aria-current attribute changes. Handling of this notification is required to properly update the accessibility properties of the target object and convey them to assistive technology clients. * accessibility/AXLogger.cpp: (WebCore::operator<<): Renamed notification anumerand. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::handleAttributeChange): * accessibility/AXObjectCache.h: * accessibility/atk/AXObjectCacheAtk.cpp: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/ios/AXObjectCacheIOS.mm: (WebCore::AXObjectCache::postPlatformNotification): * accessibility/ios/WebAccessibilityObjectWrapperIOS.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: (-[WebAccessibilityObjectWrapper accessibilityDOMIdentifier]): (-[WebAccessibilityObjectWrapper postCurrentStateChangedNotification]): (-[WebAccessibilityObjectWrapper accessibilityCurrentState]): (-[WebAccessibilityObjectWrapper accessibilityARIACurrentStatus]): Renamed to accessibilityCurrentState. * accessibility/mac/AXObjectCacheMac.mm: (WebCore::AXObjectCache::postPlatformNotification): Tools: Added AccessibilityUIElement::domIdentifier and currentStateValue used in LayoutTests/accessibility/aria-current-state-changed-notification.html. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: (WTR::AccessibilityUIElement::domIdentifier const): Non-Cocoa implementation. (WTR::AccessibilityUIElement::currentStateValue const): Non-Cocoa implementation. * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl: * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm: (WTR::AccessibilityUIElement::domIdentifier const): (WTR::AccessibilityUIElement::stringAttributeValue): (WTR::AccessibilityUIElement::currentStateValue const): * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::AccessibilityUIElement::domIdentifier const): (WTR::AccessibilityUIElement::currentStateValue const): LayoutTests: * accessibility/aria-current-state-changed-notification-expected.txt: Added. * accessibility/aria-current-state-changed-notification.html: Added. * accessibility/aria-current.html: Use AccessibilityUIElement::currentStateValue for consistency and to match closely how actual clients will invoke this functionality. * platform/gtk/TestExpectations: * platform/ios-wk1/TestExpectations: * platform/ios/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/233486@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-01-29 19:07:57 +00:00
var value = accessibilityController.focusedElement.currentStateValue;
AX: ARIA 1.1 @aria-current https://bugs.webkit.org/show_bug.cgi?id=146012 Patch by Nan Wang <n_wang@apple.com> on 2015-09-11 Reviewed by Chris Fleizach. Source/JavaScriptCore: Updated inspector to support aria-current. * inspector/protocol/DOM.json: Source/WebCore: Tests: accessibility/aria-current.html inspector/dom/getAccessibilityPropertiesForNode_ariaCurrent.html Added support for ARIA 1.1 aria-current. * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::invalidStatus): (WebCore::AccessibilityObject::ariaCurrentState): (WebCore::AccessibilityObject::hasTagName): * accessibility/AccessibilityObject.h: * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): * html/HTMLAttributeNames.in: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties): Source/WebInspectorUI: Added support for ARIA 1.1 aria-current. * Localizations/en.lproj/localizedStrings.js: * UserInterface/Models/DOMNode.js: * UserInterface/Views/DOMNodeDetailsSidebarPanel.js: LayoutTests: * accessibility/aria-current-expected.txt: Added. * accessibility/aria-current.html: Added. * inspector/dom/getAccessibilityPropertiesForNode_ariaCurrent-expected.txt: Added. * inspector/dom/getAccessibilityPropertiesForNode_ariaCurrent.html: Added. * platform/gtk/TestExpectations: * platform/win/TestExpectations: Canonical link: https://commits.webkit.org/167177@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-12 00:47:20 +00:00
verify(value, expectation, el);
}
}
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>