<
html>
<
head>
<
title>Accessible drag and drop event testing</
title>
<
link rel=
"stylesheet" type=
"text/css"
href=
"chrome://mochikit/content/tests/SimpleTest/test.css" />
<
script src=
"chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></
script>
<
script type=
"application/javascript"
src=
"../common.js"></
script>
<
script type=
"application/javascript"
src=
"../events.js"></
script>
<
script type=
"application/javascript"
src=
"../attributes.js"></
script>
<
script type=
"application/javascript">
/**
* Do tests.
*/
var gQueue = null;
// aria grabbed invoker
function changeGrabbed(aNodeOrID, aGrabValue) {
this.DOMNode = getNode(aNodeOrID);
this.invoke = function changeGrabbed_invoke() {
if (aGrabValue != undefined) {
this.DOMNode.setAttribute(
"aria-grabbed", aGrabValue);
}
};
this.check = function changeGrabbed_check() {
testAttrs(aNodeOrID, {
"grabbed": aGrabValue}, true);
};
this.getID = function changeGrabbed_getID() {
return prettyName(aNodeOrID) +
" aria-grabbed changed";
};
}
// aria dropeffect invoker
function changeDropeffect(aNodeOrID, aDropeffectValue) {
this.DOMNode = getNode(aNodeOrID);
this.invoke = function changeDropeffect_invoke() {
if (aDropeffectValue != undefined) {
this.DOMNode.setAttribute(
"aria-dropeffect", aDropeffectValue);
}
};
this.check = function changeDropeffect_check() {
testAttrs(aNodeOrID, {
"dropeffect": aDropeffectValue}, true);
};
this.getID = function changeDropeffect_getID() {
return prettyName(aNodeOrID) +
" aria-dropeffect changed";
};
}
function doTests() {
// Test aria attribute mutation events
gQueue = new eventQueue(nsIAccessibleEvent.EVENT_OBJECT_ATTRIBUTE_CHANGED);
let id =
"grabbable";
gQueue.push(new changeGrabbed(id,
"true"));
gQueue.push(new changeGrabbed(id,
"false"));
todo(false,
"uncomment this test when 472142 is fixed.");
// gQueue.push(new changeGrabbed(id,
"undefined"));
id =
"dropregion";
gQueue.push(new changeDropeffect(id,
"copy"));
gQueue.push(new changeDropeffect(id,
"execute"));
gQueue.invoke(); // Will call SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTests);
</
script>
</
head>
<
body>
<a target=
"_blank"
href=
"https://bugzilla.mozilla.org/show_bug.cgi?id=510441"
title=
"Add support for nsIAccessibleEvent::OBJECT_ATTRIBUTE_CHANGED">
Mozilla Bug 510441
</a>
<p id=
"display"></p>
<
div id=
"content" style=
"display: none"></
div>
<
pre id=
"test">
</
pre>
<
div id=
"eventdump"></
div>
<!-- ARIA grabbed -->
<
div id=
"grabbable" role=
"button" aria-grabbed=
"foo">
button</
div>
<!-- ARIA dropeffect -->
<
div id=
"dropregion" role=
"region" aria-dropeffect=
"none">
button</
div>
</
body>
</
html>