#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 [FIXME] undefined setFormValue((File or USVString or FormData)? value, optional (File or USVString or FormData)? state); [FIXME] readonly attribute HTMLFormElement? form; [FIXME] undefined setValidity(optional ValidityStateFlags flags = {}, optional DOMString message, optional HTMLElement anchor); [FIXME] readonly attribute boolean willValidate; [FIXME] readonly attribute ValidityState validity; [FIXME] readonly attribute DOMString validationMessage; [FIXME] boolean checkValidity(); [FIXME] boolean reportValidity(); [FIXME] 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; };