74 lines
2.2 KiB
HTML
74 lines
2.2 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<body>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
|
|
<div id="myContainer" tabindex="-1">
|
|
<a href="#">Link</a>
|
|
<button>Button</button>
|
|
<input type="text">
|
|
<input type="checkbox">
|
|
<input type="radio">
|
|
<input type="submit">
|
|
<select><option>1<option>2</select>
|
|
<span tabindex="0" role="button">ARIA button</span>
|
|
<span tabindex="0" role="link">ARIA link</span>
|
|
</div>
|
|
|
|
<canvas id="myCanvas" width="300" height="300" tabindex="-1">
|
|
<a href="#">Link</a>
|
|
<button>Button</button>
|
|
<input type="text">
|
|
<input type="checkbox">
|
|
<input type="radio">
|
|
<input type="submit">
|
|
<select><option>1<option>2</select>
|
|
<span tabindex="0" role="button">ARIA button</span>
|
|
<span tabindex="0" role="link">ARIA link</span>
|
|
</canvas>
|
|
|
|
<div id="console"></div>
|
|
<script>
|
|
description("This test makes sure that AccessibilityNodeObjects are created for elements in a canvas subtree.");
|
|
|
|
if (window.testRunner && window.accessibilityController) {
|
|
window.testRunner.dumpAsText();
|
|
|
|
function appendFocusableDescendants(axObject, axFocusableList) {
|
|
for (var i = 0; i < axObject.childrenCount; i++) {
|
|
var axChild = axObject.childAtIndex(i);
|
|
if (axChild.isFocusable)
|
|
axFocusableList.push(axChild);
|
|
appendFocusableDescendants(axChild, axFocusableList);
|
|
}
|
|
}
|
|
|
|
var container = document.getElementById("myContainer");
|
|
container.focus();
|
|
var axContainer = accessibilityController.focusedElement;
|
|
|
|
var canvas = document.getElementById("myCanvas");
|
|
canvas.focus();
|
|
var axCanvas = accessibilityController.focusedElement;
|
|
|
|
var axRenderObjects = [];
|
|
var axNodeObjects = [];
|
|
|
|
appendFocusableDescendants(axContainer, axRenderObjects);
|
|
appendFocusableDescendants(axCanvas, axNodeObjects);
|
|
|
|
shouldBe("axRenderObjects.length", "axNodeObjects.length");
|
|
|
|
for (var i = 0; i < axRenderObjects.length; i++) {
|
|
var axRenderObject = axRenderObjects[i];
|
|
var axNodeObject = axNodeObjects[i];
|
|
shouldBe("i == " + i + "; axRenderObject.role == axNodeObject.role", "true");
|
|
}
|
|
}
|
|
|
|
</script>
|
|
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|