Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
<!DOCTYPE html>
<html>
<head>
<title>Test document hierarchy</title>
<link rel="stylesheet" type="text/css"
<script type="application/javascript"
src="../common.js"></script>
<script type="application/javascript"
src="../role.js"></script>
<script type="application/javascript"
src="../states.js"></script>
<script type="application/javascript">
function doTest() {
// tabDoc and testDoc are different documents depending on whether test
// is running in standalone mode or not.
var root = getRootAccessible();
var tabDoc = window.parent ?
getAccessible(window.parent.document, [nsIAccessibleDocument]) :
getAccessible(document, [nsIAccessibleDocument]);
var testDoc = getAccessible(document, [nsIAccessibleDocument]);
var iframeDoc = getAccessible("iframe").firstChild.
QueryInterface(nsIAccessibleDocument);
is(root.parentDocument, null,
"Wrong parent document of root accessible");
ok(root.childDocumentCount >= 1,
"Wrong child document count of root accessible");
var tabDocumentFound = false;
for (var i = 0; i < root.childDocumentCount && !tabDocumentFound; i++) {
tabDocumentFound = root.getChildDocumentAt(i) == tabDoc;
}
ok(tabDocumentFound,
"Tab document not found in children of the root accessible");
is(tabDoc.parentDocument, root,
"Wrong parent document of tab document");
is(tabDoc.childDocumentCount, 1,
"Wrong child document count of tab document");
is(tabDoc.getChildDocumentAt(0), (tabDoc == testDoc ? iframeDoc : testDoc),
"Wrong child document at index 0 of tab document");
if (tabDoc != testDoc) {
is(testDoc.parentDocument, tabDoc,
"Wrong parent document of test document");
is(testDoc.childDocumentCount, 1,
"Wrong child document count of test document");
is(testDoc.getChildDocumentAt(0), iframeDoc,
"Wrong child document at index 0 of test document");
}
is(iframeDoc.parentDocument, (tabDoc == testDoc ? tabDoc : testDoc),
"Wrong parent document of iframe document");
is(iframeDoc.childDocumentCount, 0,
"Wrong child document count of iframe document");
SimpleTest.finish();
}
SimpleTest.waitForExplicitFinish();
addA11yLoadEvent(doTest);
</script>
</head>
<body>
<a target="_blank"
title="Provide a way to quickly determine whether an accessible object is a descendant of a tab document">
</a>
<p id="display"></p>
<div id="content" style="display: none"></div>
<pre id="test">
</pre>
<iframe src="about:mozilla" id="iframe"></iframe>
</body>
</html>