summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/accessibility/crashtests/computed-accessible-child-of-pseudo-element.html
blob: b00ee7ba56f2caee01532f62df2dc2d81f8b3bbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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>