95 lines
2.3 KiB
HTML
95 lines
2.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script src="resources/atk-helpers.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!-- Suspected "a" element in several different configurations. -->
|
|
|
|
<div>
|
|
<a id="id1" href="x" style="display:block;">
|
|
<span style="display:block;">one</span>
|
|
</a>
|
|
</div>
|
|
|
|
<div>
|
|
<div>before</div>
|
|
<a id="id2" href="x" style="display:block;">
|
|
<span style="display:block;">two</span>
|
|
</a>
|
|
</div>
|
|
|
|
<a id="id3" href="x" style="display:block;"><span style="display:block;">three</span></a>
|
|
|
|
<div>
|
|
<a id="id4" href="x" style="display:block;">
|
|
before,
|
|
<span style="display:block;">four</span>
|
|
,after
|
|
</a>
|
|
</div>
|
|
|
|
<div>
|
|
<div>before</div>
|
|
<a id="id5" href="x" style="display:block;"><span style="display:block;">five</span>
|
|
,after
|
|
</a>
|
|
</div>
|
|
|
|
<a id="id6" href="x" style="display:block;">before,<span style="display:block;">six</span></a>
|
|
|
|
<a id="id7" href="x" style="display:block;">no span here</a>
|
|
|
|
<div id="console"></div>
|
|
|
|
<script>
|
|
var caretMovedData;
|
|
|
|
function stripNonWhite(s)
|
|
{
|
|
var s2 = "";
|
|
var i;
|
|
for(i = 0; i < s.length; i++)
|
|
if (s[i] != ' ' && s[i] != '\n')
|
|
s2 += s[i];
|
|
return s2.replace(/<\\n>/g, "");
|
|
}
|
|
|
|
function globalListener(object, name, offset)
|
|
{
|
|
var role = object.role.replace('AXRole: AX', '');
|
|
if (name == 'AXTextCaretMoved') {
|
|
caretMovedData += role + '|' + offset;
|
|
}
|
|
}
|
|
|
|
if (window.internals)
|
|
internals.settings.setCaretBrowsingEnabled(true);
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
if (window.accessibilityController) {
|
|
var i, linkText, accText, id;
|
|
accessibilityController.addNotificationListener(globalListener)
|
|
for (i = 1; i <= 7; i++) {
|
|
id = 'id' + i;
|
|
elem = accessibilityController.accessibleElementById(id);
|
|
linkText = stripNonWhite(document.links[id].textContent);
|
|
accText = stripNonWhite(elem.stringValue);
|
|
shouldBeEqualToString("accText", "AXValue:" + linkText);
|
|
caretMovedData = '';
|
|
shouldBe("setCaretOffset(elem, 1)", "true");
|
|
shouldBeEqualToString("caretMovedData", "Link|1");
|
|
}
|
|
}
|
|
|
|
description('This tests that text inside "a" block inside "span" block is accessible.');
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|