summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html')
-rw-r--r--testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html32
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html b/testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html
new file mode 100644
index 0000000000..b00ee7ba56
--- /dev/null
+++ b/testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html
@@ -0,0 +1,32 @@
+<html class="test-wait">
+<style>
+ h1::before { content: " [before] "; display: table; }
+</style>
+
+<h1>Heading</h1>
+
+<script>
+
+// Bypass this abandoned syntax in all but the engines that implement it.
+if (typeof getComputedAccessibleNode !== 'undefined') {
+
+ async function trigger1() {
+ let heading = document.querySelector('h1');
+ let computed_accessible_node = await self.getComputedAccessibleNode(heading);
+ let first_child = computed_accessible_node.firstChild;
+ // The first child of the heading is a pseudo element <table>.
+ await first_child.ensureUpToDate();
+ // The next child down has an accessibility object but no node.
+ let grand_child = first_child.firstChild;
+ await grand_child.ensureUpToDate();
+ document.documentElement.className = '';
+ }
+ trigger1();
+
+} else {
+ // Pass in other engines that have not implemented the abandoned API
+ document.documentElement.className = '';
+}
+
+</script>
+</html>