<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">

<div tabindex=0 aria-dropeffect="copy move" role="button" aria-label="drop">drop</div>
<div tabindex=0 aria-grabbed=true role="button" aria-label="grab1">grab</div>
<div tabindex=0 aria-grabbed=false role="button" aria-label="grab2">grab</div>

<p id="description"></p>
<div id="console"></div>

<script>

    description("This tests that the ARIA drag and drop attributes work as intended.");

    if (window.accessibilityController) {

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

          shouldBe("body.childAtIndex(0).ariaDropEffects", "'copy,move'");

          shouldBe("body.childAtIndex(1).ariaIsGrabbed", "true");
          shouldBe("body.childAtIndex(2).ariaIsGrabbed", "false");
          shouldBe("body.childAtIndex(1).isAttributeSettable('AXGrabbed')", "true");
          shouldBe("body.childAtIndex(2).isAttributeSettable('AXGrabbed')", "true");
    }

</script>

<script src="../../resources/js-test-post.js"></script>
</body>
</html>
