| <!DOCTYPE HTML> |
| <html> |
| <body> |
| <script src="../resources/js-test-pre.js"></script> |
| <script src="../resources/accessibility-helper.js"></script> |
| |
| <div id="content"> |
| |
| <!-- A link always gets its accessible text from contents. --> |
| <a id="link" href="#">A</a> |
| |
| <!-- A generic focusable div should not get its accessible text from contents. --> |
| <div id="div" tabindex="0">B</div> |
| <div id="div2" tabindex="0"><div></div>C</div> |
| <div id="div3" tabindex="0" aria-label="D"></div> |
| |
| <!-- A generic focusable div should not get accessible text from children that are focusable or containers. --> |
| <div id="div4" tabindex="0"><a href="#">Link</a></div> |
| <div id="div5" tabindex="0">Initial text before link<a href="#">Link</a></div> |
| <div id="div6" tabindex="0"><ul><li>List item</li></ul></div> |
| <div id="div7" tabindex="0">Initial text before list<ul><li>List item</li></ul></div> |
| </div> |
| <div id="console"></div> |
| <script> |
| description("This test makes sure that a generic focusable div can get accessibility focus. It should not get accessible text from its children automatically though."); |
| |
| if (window.testRunner && window.accessibilityController) { |
| window.testRunner.dumpAsText(); |
| |
| function lastChar(str) { |
| return str.substr(str.length - 1); |
| } |
| |
| var link = document.getElementById('link'); |
| link.focus(); |
| shouldBe("document.activeElement == link", "true"); |
| window.axLink = accessibilityController.focusedElement; |
| shouldBe("lastChar(axLink.title)", "\"A\""); |
| |
| var div = document.getElementById('div'); |
| div.focus(); |
| shouldBe("document.activeElement == div", "true"); |
| window.axDiv = accessibilityController.focusedElement; |
| shouldBe("lastChar(axDiv.title)", "' '"); |
| |
| var div2 = document.getElementById('div2'); |
| div2.focus(); |
| shouldBe("document.activeElement == div2", "true"); |
| window.axDiv2 = accessibilityController.focusedElement; |
| shouldBe("lastChar(axDiv2.title)", "' '"); |
| |
| var div3 = document.getElementById('div3'); |
| div3.focus(); |
| shouldBe("document.activeElement == div3", "true"); |
| window.axDiv3 = accessibilityController.focusedElement; |
| var accNameForDiv3 = platformValueForW3CName(axDiv3); |
| shouldBe("lastChar(accNameForDiv3)", "\"D\""); |
| |
| var div4 = document.getElementById('div4'); |
| div4.focus(); |
| shouldBe("document.activeElement == div4", "true"); |
| window.axDiv4 = accessibilityController.focusedElement; |
| shouldBe("axDiv4.title.indexOf('Link')", "-1"); |
| |
| var div5 = document.getElementById('div5'); |
| div5.focus(); |
| shouldBe("document.activeElement == div5", "true"); |
| window.axDiv5 = accessibilityController.focusedElement; |
| shouldBe("axDiv5.title.indexOf('Link')", "-1"); |
| shouldBe("axDiv5.title.indexOf('Initial text before link') >= 0", "false"); |
| |
| var div6 = document.getElementById('div6'); |
| div6.focus(); |
| shouldBe("document.activeElement == div6", "true"); |
| window.axDiv6 = accessibilityController.focusedElement; |
| shouldBe("axDiv6.title.indexOf('List item')", "-1"); |
| |
| var div7 = document.getElementById('div7'); |
| div7.focus(); |
| shouldBe("document.activeElement == div7", "true"); |
| window.axDiv7 = accessibilityController.focusedElement; |
| shouldBe("axDiv7.title.indexOf('List item')", "-1"); |
| shouldBe("axDiv7.title.indexOf('Initial text before list') >= 0", "false"); |
| |
| document.getElementById("content").style.visibility = "hidden"; |
| } |
| |
| </script> |
| |
| <script src="../resources/js-test-post.js"></script> |
| </body> |
| </html> |