| <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> |