<html>
<script>
    if (window.layoutTestController)
        layoutTestController.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.supportsPressAction) {
                result.innerText += "Test passed\n";
            }
            else {
                 result.innerText += "Test failed\n";
            }
        }
    </script>
</body>
</html>
