Index: LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html |
diff --git a/LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html b/LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9dcfeb79623e35b78e059026c4ce0f19241b0bd4 |
--- /dev/null |
+++ b/LayoutTests/fast/canvas/canvas-hit-regions-accessibility-test.html |
@@ -0,0 +1,83 @@ |
+<!DOCTYPE HTML> |
+<head> |
+<title>Canvas Hit Regions: accessibility test</title> |
+<script src="../../resources/js-test.js"></script> |
+</head> |
+<body> |
+<canvas id="canvas"> |
+ <button id="button1"></button> |
+ <div id="container1"> |
+ <button id="button2"></button> |
+ <button id="button3"></button> |
+ </div> |
+ <div id="container2"> |
+ <div id="container3"> |
+ <button id="button4"></button> |
+ <button id="button5"></button> |
+ </div> |
+ <button id="button6"></button> |
+ </div> |
+</canvas> |
+<script> |
+ |
+ var canvas = document.getElementById("canvas"); |
+ var context = canvas.getContext("2d"); |
+ |
+ function drawRectAndAddHitRegion(control, x, y, width, height) { |
+ if (window.accessibilityController) |
+ window["ax" + control] = accessibilityController.accessibleElementById(control); |
+ |
+ context.beginPath(); |
+ context.rect(x, y, width, height); |
+ context.fill(); |
+ context.addHitRegion({ |
+ id : control, |
+ control : document.getElementById(control) |
+ }); |
+ } |
+ |
+ function testAccessibilityRect(control, x, y, width, height) { |
+ |
+ if (window.accessibilityController && !window["ax" + control]) |
+ window["ax" + control] = accessibilityController.accessibleElementById(control); |
+ |
+ shouldBe("ax" + control + ".x", x.toString()); |
+ shouldBe("ax" + control + ".y", y.toString()); |
+ shouldBe("ax" + control + ".width", width.toString()); |
+ shouldBe("ax" + control + ".height", height.toString()); |
+ } |
+ |
+ drawRectAndAddHitRegion("button1", 0, 0, 200, 200); |
+ drawRectAndAddHitRegion("button2", 0, 0, 100, 50); |
+ drawRectAndAddHitRegion("button3", 40, 20, 50, 70); |
+ drawRectAndAddHitRegion("button4", 0, 0, 100, 50); |
+ drawRectAndAddHitRegion("button5", 40, 20, 50, 70); |
+ drawRectAndAddHitRegion("button6", 20, 10, 140, 30); |
+ drawRectAndAddHitRegion("button7", 0, 0, 200, 200); |
+ |
+ debug("Just one button tests."); |
+ testAccessibilityRect("button1", 8, 8, 200, 200); |
+ debug(""); |
+ |
+ debug("The container1 has two buttons."); |
+ testAccessibilityRect("button2", 8, 8, 100, 50); |
+ testAccessibilityRect("button3", 48, 28, 50, 70); |
+ testAccessibilityRect("container1", 8, 8, 100, 90); |
+ debug(""); |
+ |
+ debug("Remove the button2 from the container1."); |
+ document.getElementById("container1").removeChild(document.getElementById("button2")); |
+ testAccessibilityRect("container1", 48, 28, 50, 70); |
+ debug(""); |
+ |
+ debug("Depth-two container tests."); |
+ testAccessibilityRect("button4", 8, 8, 100, 50); |
+ testAccessibilityRect("button5", 48, 28, 50, 70); |
+ testAccessibilityRect("button6", 28, 18, 140, 30); |
+ testAccessibilityRect("container2", 8, 8, 160, 90); |
+ testAccessibilityRect("container3", 8, 8, 100, 90); |
+ debug(""); |
+ |
+</script> |
+</body> |
+</html> |