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