Bug 459782 - check the name calculation rules for nsHTMLLinkAccessible. r=david.bolter/marco.zehe, a191=beltzner.
authorAlexander Surkov <surkov.alexander@gmail.com>
Fri, 28 Nov 2008 12:12:15 +0100
changeset 22081 95803938905c976d93a8aa74aff4b13ed072782c
parent 22080 c468036cf17f895713b1431c206d6d8934c967eb
child 22082 58c982afe81d65a0a339ad0c488f69bd7a4b4e04
child 22083 f1761b6ab9a2b07d85578fe073aaf4c7bf3b4895
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersdavid.bolter, marco.zehe
bugs459782
milestone1.9.1b3pre
Bug 459782 - check the name calculation rules for nsHTMLLinkAccessible. r=david.bolter/marco.zehe, a191=beltzner.
accessible/tests/mochitest/test_nsIAccessible_name_link.html
new file mode 100644
--- /dev/null
+++ b/accessible/tests/mochitest/test_nsIAccessible_name_link.html
@@ -0,0 +1,100 @@
+<html>
+
+<head>
+  <title>nsIAccessible::name calculation for HTML links (html:a)</title>
+
+  <link rel="stylesheet"
+        type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css" />
+
+  <script type="application/javascript"
+          src="chrome://mochikit/content/MochiKit/packed.js"></script>
+  <script type="application/javascript"
+          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="application/javascript"
+          src="chrome://mochikit/content/a11y/accessible/common.js"></script>
+  <script type="application/javascript"
+          src="chrome://mochikit/content/a11y/accessible/nsIAccessible_name.js"></script>
+
+  <script type="application/javascript">
+    function doTest()
+    {
+      // aria-label
+      testName("aria_label", "anchor label");
+
+      // aria-labelledby
+      testName("aria_labelledby", "text");
+
+      // html:label
+      testName("label", "label");
+
+      // name from content
+      testName("namefromcontent", "1");
+
+      // name from content
+      testName("namefromimg", "img title");
+
+      // no name from content
+      testName("nonamefromcontent", null);
+
+      // title
+      testName("title", "title");
+
+      SimpleTest.finish();
+    }
+
+    SimpleTest.waitForExplicitFinish();
+    addLoadEvent(doTest);
+  </script>
+
+</head>
+
+<body>
+
+  <a target="_blank"
+     href="https://bugzilla.mozilla.org/show_bug.cgi?id=459782"
+     title="nsIAccessible::name calculation for HTML links (html:a)">
+    Mozilla Bug 459782
+  </a>
+  <p id="display"></p>
+  <div id="content" style="display: none"></div>
+  <pre id="test">
+  </pre>
+
+  <!-- aria-label, preferred to aria-labelledby -->
+  <a id="aria_label" href="mozilla.org"
+     aria-label="anchor label"
+     aria-labelledby="text">1</a>
+  <br/>
+
+  <!-- aria-labelledby, preferred to html:label -->
+  <span id="text">text</span>
+  <label for="aria_labelledby">label</label>
+  <a id="aria_labelledby" href="mozilla.org"
+     aria-labelledby="text">1</a>
+  <br/>
+
+  <!-- label, preferred to name from content -->
+  <label for="label">label</label>
+  <a id="label" href="mozilla.org">1</a>
+  <br/>
+
+  <!-- name from content, preferred to @title -->
+  <a id="namefromcontent" href="mozilla.org"
+     title="title">1</a>
+  <br/>
+
+  <!-- name from content, preferred to @title -->
+  <a id="namefromimg" href="mozilla.org"
+     title="title"><img alt="img title" /></a>
+
+  <!-- no name from content, ARIA role overrides this rule -->
+  <a id="nonamefromcontent" href="mozilla.org"
+     role="presentation">1</a>
+  <br/>
+
+  <!-- no content, name from @title -->
+  <a id="title" href="mozilla.org"
+     title="title"></a>
+
+</body>
+</html>