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

<ol>
	<li>Drag the orange square over the blue square.</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. Fail if it is not possible.</li>
</ol>