<html>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();
</script>
<body id="body">

    <!-- This test makes sure that a <button> element exposes AXPress as an action -->
 
    <button type="button" id="button">Click me</button>

    <div id="result"></div>
     
    <script>
        if (window.accessibilityController) {
            var result = document.getElementById("result");

            var button = document.getElementById("button");
            button.focus();
            button = accessibilityController.focusedElement;

            if (button.isPressActionSupported()) {
                result.innerText += "Test passed\n";
            }
            else {
                 result.innerText += "Test failed\n";
            }
        }
    </script>
</body>
</html>
