| <!DOCTYPE HTML> |
| <script src="../resources/testharness.js"></script> |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="../resources/run-after-layout-and-paint.js"></script> |
| |
| <canvas> |
| <ul id="container"><li>One</li><li>Two</li><li>Three</li></ul> |
| </canvas> |
| |
| <script> |
| async_test(function(t) { |
| var container = document.getElementById("container"); |
| var axContainer = accessibilityController.accessibleElementById("container"); |
| assert_equals(axContainer.childrenCount, 3, "Initial"); |
| |
| var newNode = document.createElement("li"); |
| newNode.innerText = "Four"; |
| container.appendChild(newNode); |
| |
| assert_equals(axContainer.childrenCount, 4, "After appendChild"); |
| |
| container.removeChild(newNode); |
| // Removing a child inside a canvas doesn't cause the lifecycle state to reset, |
| // so wait for the next lifecycle update. |
| runAfterLayoutAndPaint(t.step_func(() => { |
| assert_equals(axContainer.childrenCount, 3, "After removeChild"); |
| t.done(); |
| })); |
| }, "Children count is correct inside a canvas"); |
| |
| </script> |