summaryrefslogtreecommitdiff
path: root/accessible/tests/mochitest/relations/test_bindings.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'accessible/tests/mochitest/relations/test_bindings.xhtml')
-rw-r--r--accessible/tests/mochitest/relations/test_bindings.xhtml103
1 files changed, 103 insertions, 0 deletions
diff --git a/accessible/tests/mochitest/relations/test_bindings.xhtml b/accessible/tests/mochitest/relations/test_bindings.xhtml
new file mode 100644
index 0000000000..65a7a08752
--- /dev/null
+++ b/accessible/tests/mochitest/relations/test_bindings.xhtml
@@ -0,0 +1,103 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+ <title>Accessible relations for bindings</title>
+
+ <link rel="stylesheet" type="text/css"
+ href="chrome://mochikit/content/tests/SimpleTest/test.css" />
+
+ <style>
+ .button {
+ -moz-binding: url('#custombutton');
+ }
+
+ .button2 {
+ -moz-binding: url('#custombutton2');
+ }
+ </style>
+
+ <bindings xmlns="http://www.mozilla.org/xbl">
+ <binding id="custombutton">
+ <content aria-labelledby="button.label label">
+ <label xmlns="http://www.w3.org/1999/xhtml" anonid="button.label">
+ anon label
+ </label>
+ <button xmlns="http://www.w3.org/1999/xhtml" anonid="button.button"
+ aria-labelledby="button.label label">
+ a button
+ </button>
+ <div xmlns="http://www.w3.org/1999/xhtml"
+ anonid="button.button2" class="button2"
+ aria-labelledby="button.label"></div>
+ <div xmlns="http://www.w3.org/1999/xhtml"
+ anonid="button.button3" class="button2"></div>
+ </content>
+ </binding>
+ <binding id="custombutton2">
+ <content aria-labelledby="button2.label">
+ <label xmlns="http://www.w3.org/1999/xhtml" anonid="button2.label">
+ nested anon label
+ </label>
+ </content>
+ </binding>
+ </bindings>
+
+ <script type="application/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
+
+ <script type="application/javascript"
+ src="../common.js"></script>
+ <script type="application/javascript"
+ src="../relations.js"></script>
+
+ <script type="application/javascript">
+ function doTests()
+ {
+ var button = document.getElementById("button");
+ var anonLabel = document.
+ getAnonymousElementByAttribute(button, "anonid", "button.label");
+ var anonButton = document.
+ getAnonymousElementByAttribute(button, "anonid", "button.button");
+ var anonButton2 = document.
+ getAnonymousElementByAttribute(button, "anonid", "button.button2");
+ var anonButton3 = document.
+ getAnonymousElementByAttribute(button, "anonid", "button.button3");
+ var anonAnonLabel = document.
+ getAnonymousElementByAttribute(anonButton3, "anonid", "button2.label");
+
+ testRelation("label", RELATION_LABEL_FOR, button);
+ testRelation(anonLabel, RELATION_LABEL_FOR, [button, anonButton, anonButton2]);
+ testRelation(button, RELATION_LABELLED_BY, [anonLabel, "label"]);
+ testRelation(anonButton, RELATION_LABELLED_BY, anonLabel);
+ testRelation(anonButton2, RELATION_LABELLED_BY, anonLabel);
+ testRelation(anonButton3, RELATION_LABELLED_BY, anonAnonLabel);
+ testRelation(anonAnonLabel, RELATION_LABEL_FOR, anonButton3);
+
+ SimpleTest.finish();
+ }
+
+ SimpleTest.waitForExplicitFinish();
+ addA11yLoadEvent(doTests);
+ </script>
+</head>
+
+<body>
+
+ <a target="_blank"
+ href="https://bugzilla.mozilla.org/show_bug.cgi?id=421242"
+ title="Allow relations in anonymous content for binding parent">
+ Mozilla Bug 421242
+ </a>
+
+ <p id="display"></p>
+ <div id="content" style="display: none"></div>
+ <pre id="test">
+ </pre>
+ <div id="eventdump"></div>
+
+ <label id="label">explicit label</label>
+ <div id="button" class="button"></div>
+</body>
+</html>