blob: 0e0c35947034615f01247ee5ce63532fcd15c1f8 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body id="body">
<p id="description"></p>
All "li" elements accept the button should be presentational.
<div role="group" id="container1" tabindex="0">
<ul role="presentation">
<li>apples</li>
<li>bananas</li>
<li role="button">cantalope</li>
<li>dates</li>
</ul>
</div>
Nested list inside a presentational list should not be presentational
<div role="group" id="container2" tabindex="0">
<ul role="presentation">
<li>This item should not expose an AXGroup; </li>
<li>this one should not either.</li>
<li>However, because the nested UL and LI do not have explicit role of presentation,</li>
<ul>
<li> this list item should expose an AXGroup, </li>
<li> and this one should, too. </li>
</ul>
<li>but this one is static text again.</li>
</ul>
</div>
<div id="console"></div>
<script>
description("This tests that when a list has the presentational role, and it has required required children, those required children \"li\" are also presentational.");
if (window.accessibilityController) {
// test the list in container 1
document.getElementById("container1").focus();
var container = accessibilityController.focusedElement;
shouldBe("container.childAtIndex(0).role", "'AXRole: AXStaticText'");
shouldBe("container.childAtIndex(0).stringValue", "'AXValue: apples'");
shouldBe("container.childAtIndex(1).stringValue", "'AXValue: bananas'");
shouldBe("container.childAtIndex(3).stringValue", "'AXValue: dates'");
shouldBe("container.childAtIndex(2).role", "'AXRole: AXButton'");
shouldBe("container.childAtIndex(2).title", "'AXTitle: cantalope'");
// test the list in container 2
document.getElementById("container2").focus();
var container2 = accessibilityController.focusedElement;
shouldBe("container2.childAtIndex(0).role", "'AXRole: AXStaticText'");
shouldBe("container2.childAtIndex(1).role", "'AXRole: AXStaticText'");
shouldBe("container2.childAtIndex(2).role", "'AXRole: AXStaticText'");
shouldBe("container2.childAtIndex(4).role", "'AXRole: AXStaticText'");
// this nested list should not inherit presentational
shouldBe("container2.childAtIndex(3).role", "'AXRole: AXList'");
shouldBe("container2.childAtIndex(3).childAtIndex(0).role", "'AXRole: AXGroup'");
shouldBe("container2.childAtIndex(3).childAtIndex(0).childAtIndex(0).role", "'AXRole: AXListMarker'");
shouldBe("container2.childAtIndex(3).childAtIndex(0).childAtIndex(1).role", "'AXRole: AXStaticText'");
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>