88 lines
3.5 KiB
HTML
88 lines
3.5 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body id="body">
|
|
|
|
<div id="slider"
|
|
role="slider"
|
|
tabindex="0"
|
|
aria-valuemin="0"
|
|
aria-valuenow="0"
|
|
aria-valuemax="255"
|
|
aria-labelledby="idRed"></div>
|
|
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
description("This test verifies that the increment/decrement actions post keyboard events that appear identical to real keyboard events.");
|
|
|
|
var atKeyEvent = 0;
|
|
var realKeyEvent = 0;
|
|
function handleKeyDown(event) {
|
|
if (!atKeyEvent) {
|
|
atKeyEvent = event;
|
|
debug("Received AT event");
|
|
}
|
|
else if (!realKeyEvent) {
|
|
realKeyEvent = event;
|
|
debug("Received real event");
|
|
}
|
|
|
|
if (realKeyEvent && atKeyEvent) {
|
|
shouldBe("realKeyEvent.altGraphKey", "atKeyEvent.altGraphKey");
|
|
shouldBe("realKeyEvent.altKey", "atKeyEvent.altKey");
|
|
shouldBe("realKeyEvent.bubbles", "atKeyEvent.bubbles");
|
|
shouldBe("realKeyEvent.cancelBubble", "atKeyEvent.cancelBubble");
|
|
shouldBe("realKeyEvent.cancelable", "atKeyEvent.cancelable");
|
|
shouldBe("realKeyEvent.charCode", "atKeyEvent.charCode");
|
|
shouldBe("realKeyEvent.code", "atKeyEvent.code");
|
|
shouldBe("realKeyEvent.composed", "atKeyEvent.composed");
|
|
shouldBe("realKeyEvent.ctrlKey", "atKeyEvent.ctrlKey");
|
|
shouldBe("realKeyEvent.detail", "atKeyEvent.detail");
|
|
shouldBe("realKeyEvent.isComposing", "atKeyEvent.isComposing");
|
|
shouldBe("realKeyEvent.isTrusted", "atKeyEvent.isTrusted");
|
|
shouldBe("realKeyEvent.key", "atKeyEvent.key");
|
|
shouldBe("realKeyEvent.keyCode", "atKeyEvent.keyCode");
|
|
shouldBe("realKeyEvent.keyIdentifier", "atKeyEvent.keyIdentifier");
|
|
shouldBe("realKeyEvent.layerX", "atKeyEvent.layerX");
|
|
shouldBe("realKeyEvent.layerY", "atKeyEvent.layerY");
|
|
shouldBe("realKeyEvent.location", "atKeyEvent.location");
|
|
shouldBe("realKeyEvent.metaKey", "atKeyEvent.metaKey");
|
|
shouldBe("realKeyEvent.pageX", "atKeyEvent.pageX");
|
|
shouldBe("realKeyEvent.pageY", "atKeyEvent.pageY");
|
|
shouldBe("realKeyEvent.repeat", "atKeyEvent.repeat");
|
|
shouldBe("realKeyEvent.returnValue", "atKeyEvent.returnValue");
|
|
shouldBe("realKeyEvent.shiftKey", "atKeyEvent.shiftKey");
|
|
shouldBe("realKeyEvent.srcElement", "atKeyEvent.srcElement");
|
|
shouldBe("realKeyEvent.target", "atKeyEvent.target");
|
|
shouldBe("realKeyEvent.type", "atKeyEvent.type");
|
|
shouldBe("realKeyEvent.which", "atKeyEvent.which");
|
|
shouldBe("realKeyEvent.windowProxy", "atKeyEvent.windowProxy");
|
|
finishJSTest();
|
|
}
|
|
}
|
|
|
|
if (window.accessibilityController) {
|
|
window.jsTestIsAsync = true;
|
|
|
|
document.getElementById("slider").addEventListener('keydown', handleKeyDown);
|
|
document.getElementById("slider").focus();
|
|
|
|
// Get the parent element.
|
|
var axSlider = accessibilityController.accessibleElementById("slider");
|
|
|
|
// Generate a AT based key event.
|
|
debug("Sending AT event");
|
|
axSlider.increment();
|
|
|
|
// Generate a real key event.
|
|
debug("Sending real event");
|
|
eventSender.keyDown("rightArrow");
|
|
}
|
|
</script>
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|