<!doctype html>
<title>Alert during drag with release over dialog</title>
<style>
  body > div {
    height: 200px;
    width: 200px;
    background-color: orange;
    display: inline-block;
  }
</style>
<script type="text/javascript">
window.onload = function () {
  var orange = document.getElementsByTagName('div')[0], blue = document.getElementsByTagName('div')[1], hasfired = false;
  orange.ondragstart = function (e) {
    e.dataTransfer.setData('text','PASS');
    e.dataTransfer.effectAllowed = 'all';
  };
  orange.ondrag = function (e) {
    if( hasfired ) { return; }
    hasfired = true;
    alert('Release the mouse over this dialog');
  };
};
</script>
<div draggable="true"></div>

<ol>
  <li>Drag the orange square downwards until the drag placeholder appears.</li>
  <li>An alert may appear - release the mouse over the dialog. Dismiss it (you may need to use keyboard or mouse gestures such as gesture-down,gesture-right). If it does not appear, release the drag.</li>
  <li>The mouse cursor may continue to show that a drag is in operation. If so, attempt to select some of this text with the mouse before continuing to the text step.</li>
  <li>Fail if the mouse continues to show that a drag is in operation.</li>
  <li>Try to select some text in this sentence. Fail if it is not possible.</li>
  <li>Try to drag the orange square downwards again. Fail if that is not possible.</li>
</ol>
