| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div><a href="#">fake</a></div> |
| <form novalidate=""> |
| <fake-radio id="radio1" data-id="jawns_01" data-name="jawns" data-label="Gritty"></fake-radio> |
| <fake-radio data-id="jawns_02" data-name="jawns" data-label="Wawa"></fake-radio> |
| </form> |
| <div><a href="#">fake</a></div> |
| <script> |
| customElements.define( |
| "fake-radio", |
| class FakeRadio extends HTMLElement { |
| constructor() { |
| super(); |
| let shadow = this.attachShadow({ mode: "open" }); |
| let radio = document.createElement("input"); |
| let label = document.createElement("label"); |
| label.innerText = this.dataset.label; |
| radio.id = this.dataset.id; |
| radio.type = "radio"; |
| radio.name = this.dataset.name; |
| label.setAttribute("for", this.dataset.id); |
| |
| shadow.appendChild(radio); |
| shadow.appendChild(label); |
| }}); |
| </script> |
| |
| |
| |
| <p id="description"></p> |
| <div id="console"></div> |
| |
| <script> |
| description("This test validates we don't crash asking for range for bounds when encountering a shadow dom element."); |
| |
| if (window.accessibilityController) { |
| var element = accessibilityController.accessibleElementById("jawns_01"); |
| var bounds = element.boundsForRange(0, 6); |
| shouldBeNonNull(element); |
| } |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |
| |