#import #import #import #import #import #import #import #import #import #import #import #import #import enum ScrollLogicalPosition { "start", "center", "end", "nearest" }; dictionary ScrollIntoViewOptions : ScrollOptions { ScrollLogicalPosition block = "start"; ScrollLogicalPosition inline = "nearest"; }; // https://dom.spec.whatwg.org/#element [Exposed=Window] interface Element : Node { readonly attribute DOMString? namespaceURI; readonly attribute DOMString? prefix; readonly attribute DOMString localName; readonly attribute DOMString tagName; DOMString? getAttribute(DOMString qualifiedName); [CEReactions] undefined setAttribute(DOMString qualifiedName, DOMString value); [CEReactions] undefined setAttributeNS(DOMString? namespace , DOMString qualifiedName , DOMString value); [CEReactions] Attr? setAttributeNode(Attr attr); [CEReactions] Attr? setAttributeNodeNS(Attr attr); [CEReactions] undefined removeAttribute(DOMString qualifiedName); [CEReactions] boolean toggleAttribute(DOMString qualifiedName, optional boolean force); boolean hasAttribute(DOMString qualifiedName); boolean hasAttributes(); [SameObject] readonly attribute NamedNodeMap attributes; sequence getAttributeNames(); Attr? getAttributeNode(DOMString qualifiedName); HTMLCollection getElementsByTagName(DOMString tagName); HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); HTMLCollection getElementsByClassName(DOMString className); [Reflect, CEReactions] attribute DOMString id; [Reflect=class, CEReactions] attribute DOMString className; [SameObject, PutForwards=value] readonly attribute DOMTokenList classList; ShadowRoot attachShadow(ShadowRootInit init); readonly attribute ShadowRoot? shadowRoot; boolean matches(DOMString selectors); Element? closest(DOMString selectors); // legacy alias of .matches [ImplementedAs=matches] boolean webkitMatchesSelector(DOMString selectors); readonly attribute Element? nextElementSibling; readonly attribute Element? previousElementSibling; DOMRect getBoundingClientRect(); DOMRectList getClientRects(); attribute unrestricted double scrollTop; attribute unrestricted double scrollLeft; readonly attribute long scrollWidth; readonly attribute long scrollHeight; readonly attribute long clientTop; readonly attribute long clientLeft; readonly attribute long clientWidth; readonly attribute long clientHeight; [CEReactions] Element? insertAdjacentElement(DOMString where, Element element); undefined insertAdjacentText(DOMString where, DOMString data); [CEReactions] undefined insertAdjacentHTML(DOMString position, DOMString text); undefined scrollIntoView(optional (boolean or ScrollIntoViewOptions) arg = {}); }; dictionary ShadowRootInit { required ShadowRootMode mode; boolean delegatesFocus = false; // FIXME: SlotAssignmentMode slotAssignment = "named"; }; Element includes ParentNode; Element includes ChildNode; Element includes InnerHTML; // https://www.w3.org/TR/wai-aria-1.2/#idl_element Element includes ARIAMixin;