#import #import #import #import #import #import #import #import #import #import #import #import enum ScrollBehavior { "auto", "smooth" }; dictionary ScrollOptions { ScrollBehavior behavior = "auto"; }; 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); undefined setAttribute(DOMString qualifiedName, DOMString value); [CEReactions] undefined setAttributeNS(DOMString? namespace , DOMString qualifiedName , DOMString value); 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] attribute DOMString id; [Reflect=class] attribute DOMString className; [SameObject, PutForwards=value] readonly attribute DOMTokenList classList; 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; [ImplementedAs=style_for_bindings] readonly attribute CSSStyleDeclaration style; 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 = {}); }; Element includes ParentNode; Element includes ChildNode; Element includes InnerHTML; // https://www.w3.org/TR/wai-aria-1.2/#idl_element Element includes ARIAMixin;