#import // https://html.spec.whatwg.org/multipage/custom-elements.html#elementinternals [Exposed=Window] interface ElementInternals { // Shadow root access readonly attribute ShadowRoot? shadowRoot; // Form-associated custom elements undefined setFormValue((File or USVString or FormData)? value, optional (File or USVString or FormData)? state); readonly attribute HTMLFormElement? form; undefined setValidity(optional ValidityStateFlags flags = {}, optional DOMString message, optional HTMLElement anchor); readonly attribute boolean willValidate; readonly attribute ValidityState validity; readonly attribute DOMString validationMessage; boolean checkValidity(); boolean reportValidity(); readonly attribute NodeList labels; // Custom state pseudo-class [FIXME, SameObject] readonly attribute CustomStateSet states; }; // Accessibility semantics // ElementInternals includes ARIAMixin; dictionary ValidityStateFlags { boolean valueMissing = false; boolean typeMismatch = false; boolean patternMismatch = false; boolean tooLong = false; boolean tooShort = false; boolean rangeUnderflow = false; boolean rangeOverflow = false; boolean stepMismatch = false; boolean badInput = false; boolean customError = false; };