| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | |
| <html> | |
| <head> | |
| <script src="../resources/js-test.js"></script> | |
| <script src="../resources/accessibility-helper.js"></script> | |
| </head> | |
| <body id="body"> | |
| <input type="number" id="number" value="10"> | |
| <p id="description"></p> | |
| <div id="console"></div> | |
| <script> | |
| if (window.accessibilityController) { | |
| description("This tests that a spin button won't access invalid attributes when its already detached."); | |
| document.getElementById("number").focus(); | |
| var field = accessibilityController.accessibleElementById("number"); | |
| var spinner1 = field.childAtIndex(0); | |
| var spinnerChild = spinner1.uiElementAttributeValue("AXIncrementButton"); | |
| debug("spinner incrementer: " + spinnerChild.role); | |
| shouldBe("document.getElementById('number').value", "'10'"); | |
| eventSender.keyDown('\u0008'); | |
| eventSender.keyDown('5'); | |
| shouldBe("document.getElementById('number').value", "'5'"); | |
| eventSender.keyDown('\u0008'); | |
| eventSender.keyDown('\u0008'); | |
| eventSender.keyDown('\u0008'); | |
| shouldBe("document.getElementById('number').value", "''"); | |
| // Don't crash! | |
| var spinnerChild = spinner1.uiElementAttributeValue("AXIncrementButton"); | |
| } | |
| successfullyParsed = true; | |
| </script> | |
| </body> | |
| </html> |