gecko/accessible/tests/mochitest/treeupdate/test_hidden.html

136 lines
3.2 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>@hidden attribute testing</title>
<link rel="stylesheet" type="text/css"
href="chrome://mochikit/content/tests/SimpleTest/test.css" />
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../role.js"></script>
<script type="application/javascript"
src="../events.js"></script>
<script type="application/javascript">
////////////////////////////////////////////////////////////////////////////
// Invokers
////////////////////////////////////////////////////////////////////////////
/**
* Set @hidden attribute
*/
function setHiddenAttr(aContainerID, aChildID)
{
this.eventSeq = [
new invokerChecker(EVENT_REORDER, getNode(aContainerID))
];
this.invoke = function setHiddenAttr_invoke()
{
var tree =
{ SECTION: [
{ ENTRY: [
] }
] };
testAccessibleTree(aContainerID, tree);
getNode(aChildID).setAttribute("hidden", "true");
}
this.finalCheck = function setHiddenAttr_finalCheck()
{
var tree =
{ SECTION: [
] };
testAccessibleTree(aContainerID, tree);
}
this.getID = function setHiddenAttr_getID()
{
return "Set @hidden attribute on input and test accessible tree for div";
}
}
/**
* Remove @hidden attribute
*/
function removeHiddenAttr(aContainerID, aChildID)
{
this.eventSeq = [
new invokerChecker(EVENT_REORDER, getNode(aContainerID))
];
this.invoke = function removeHiddenAttr_invoke()
{
var tree =
{ SECTION: [
] };
testAccessibleTree(aContainerID, tree);
getNode(aChildID).removeAttribute("hidden");
}
this.finalCheck = function removeHiddenAttr_finalCheck()
{
var tree =
{ SECTION: [
{ ENTRY: [
] }
] };
testAccessibleTree(aContainerID, tree);
}
this.getID = function removeHiddenAttr_getID()
{
return "Remove @hidden attribute on input and test accessible tree for div";
}
}
////////////////////////////////////////////////////////////////////////////
// Test
////////////////////////////////////////////////////////////////////////////
//gA11yEventDumpID = "eventdump"; // debug stuff
//gA11yEventDumpToConsole = true;
var gQueue = null;
function doTest()
{
gQueue = new eventQueue();
gQueue.push(new setHiddenAttr("container", "child"));
gQueue.push(new removeHiddenAttr("container", "child"));
gQueue.invoke(); // SimpleTest.finish() will be called in the end
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</script>
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
<div id="container"><input id="child"></div>
<div id="eventdump"></div>
</body>
</html>