<html>
<script>
    if (window.testRunner)
        testRunner.dumpAsText();
</script>
<body>
<div id="link" role="link" tabindex="0">Click</div>

<br>

<span id="result">To run this test outside of DRT, use the Accessibility Inspector to inspect the link above, and make sure AXPressed is listed as a supported action.</span>

<script>
    if (window.accessibilityController) {
        var link = document.getElementById("link");
        var result = document.getElementById("result");
        
        link.focus();
        var supportsAction = accessibilityController.focusedElement.isPressActionSupported();
        if (supportsAction)
            result.innerHTML = "SUCCESS! This test passes because the ARIA link above supports the press action.";
        else
            result.innerHTML = "FAIL! This test fails because the ARIA link above does NOT support the press action, but it should.";
    }
</script>

</body>
</html>
