Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /custom-elements/form-associated/ElementInternals-reportValidity-bubble.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<title>Both focusable and unfocusable custom elements can show validation bubbles</title>
<link rel=mismatch href=ElementInternals-reportValidity-bubble-notref.html>
<unfocusable-custom-element></unfocusable-custom-element>
<script>
class UnfocusableCustomElement extends HTMLElement {
constructor() {
super();
this.attachShadow({mode: 'open'});
this.shadowRoot.innerHTML = '<input>';
this.elementInternals = this.attachInternals();
const validationAnchor = this.shadowRoot.querySelector('input');
this.elementInternals.setValidity({valueMissing: true}, 'value missing', validationAnchor);
}
static get formAssociated() {
return true;
}
reportValidity() {
this.elementInternals.reportValidity();
}
}
customElements.define('unfocusable-custom-element', UnfocusableCustomElement);
document.querySelector('unfocusable-custom-element').reportValidity();
</script>