blob: 103b61199744a7879ca16f99b409fff7cee6ab09 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">
<div role="application">
<span id="slider" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50"></span>
</div>
<p id="description"></p>
<div id="console"></div>
<script>
window.jsTestIsAsync = true;
description("This tests the exposure of attributes for an ARIA slider.");
var valueChangedNotifications = 0;
function notificationCallback(element, notification) {
if (element.role == "AXRole: AXSlider" && notification == "AXValueChanged")
valueChangedNotifications++;
}
if (window.testRunner && window.accessibilityController) {
testRunner.dumpAsText();
slider = document.getElementById("slider");
slider.focus();
axSlider = accessibilityController.focusedElement;
accessibilityController.addNotificationListener(notificationCallback);
shouldBe("axSlider.role", "'AXRole: AXSlider'");
shouldBe("axSlider.intValue", "50");
shouldBe("axSlider.minValue", "0");
shouldBe("axSlider.maxValue", "100");
slider.setAttribute("aria-valuenow", "75");
shouldBe("axSlider.intValue", "75");
slider.setAttribute("aria-valuenow", "35");
shouldBe("axSlider.intValue", "35");
window.setTimeout(function() {
if (window.accessibilityController)
accessibilityController.removeNotificationListener();
shouldBe("valueChangedNotifications", "2");
finishJSTest();
},
0);
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>