`).\n- Via the [CSSStyleSheet] API. For example, `document.styleSheets[0].cssRules[0].style` returns a `CSSStyleDeclaration` object on the first CSS rule in the document's first stylesheet.\n- Via [Window.getComputedStyle], which exposes the `CSSStyleDeclaration` object as a **read-only** interface.",
+ "properties": {
+ "cssfloat": "\n\nThe **`cssFloat`** property of the [CSSStyleDeclaration] interface returns the result of invoking [CSSStyleDeclaration.getPropertyValue] with `float` as an argument.\n\nWhen setting, it invokes [CSSStyleDeclaration.setProperty] with `float` as the first argument, and the given value as the second argument. The given value must be a valid value for the `float` property.",
+ "csstext": "\n\nThe **`cssText`** property of the [CSSStyleDeclaration] interface returns or sets the text of the element's **inline** style declaration only.\n\nTo be able to set a **stylesheet** rule dynamically, see [Using dynamic styling information](/en-US/docs/Web/API/CSS_Object_Model/Using_dynamic_styling_information).\n\nNot to be confused with stylesheet style-rule [CSSRule.cssText].",
+ "getpropertycssvalue": " \n\nThe **CSSStyleDeclaration.getPropertyCSSValue()**\nmethod interface returns a [CSSValue] containing the CSS value for a\nproperty. Note that it returns `null` if the property name is a\nshorthand property.\n\n> **Note:** This interface was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - [CSSStyleDeclaration.getPropertyValue] of the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - [Element.computedStyleMap] of the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental.",
+ "getpropertypriority": "\n\nThe **CSSStyleDeclaration.getPropertyPriority()** method interface returns\na string that provides all explicitly set priorities on the CSS\nproperty.",
+ "getpropertyvalue": "\n\nThe **CSSStyleDeclaration.getPropertyValue()** method interface returns a\nstring containing the value of a specified CSS property.",
+ "item": "\n\nThe `CSSStyleDeclaration.item()`\nmethod interface returns a CSS property name from a [CSSStyleDeclaration]\nby index.\n\nThis method doesn't throw exceptions as long as you provide\narguments; the empty string is returned if the index is out of range and a\n`TypeError` is thrown if no argument is provided.",
+ "length": "\n\nThe read-only property returns an integer that represents the\nnumber of style declarations in this CSS declaration block.",
+ "parentrule": "\n\nThe **CSSStyleDeclaration.parentRule** read-only\nproperty returns a [CSSRule] that is the parent of this style\nblock, e.g. a [CSSStyleRule] representing the style for a CSS\nselector.",
+ "removeproperty": "\n\nThe **`CSSStyleDeclaration.removeProperty()`** method interface\nremoves a property from a CSS style declaration object.",
+ "setproperty": "\n\nThe\n**`CSSStyleDeclaration.setProperty()`** method interface sets\na new value for a property on a CSS style declaration object."
+ }
+ },
+ "cssstylerule": {
+ "docs": "\n\nThe **`CSSStyleRule`** interface represents a single CSS style rule.\n\n",
+ "properties": {
+ "selectortext": "\n\nThe **`selectorText`** property of the [CSSStyleRule] interface gets and sets the selectors associated with the `CSSStyleRule`.",
+ "style": "\n\nThe read-only **`style`** property is the [CSSStyleDeclaration] interface for the [declaration block](https://www.w3.org/TR/1998/REC-CSS2-19980512/syndata.html#block) of the [CSSStyleRule].",
+ "stylemap": "\n\nThe **`styleMap`** read-only property of the\n[CSSStyleRule] interface returns a [StylePropertyMap] object\nwhich provides access to the rule's property-value pairs."
+ }
+ },
+ "cssstylesheet": {
+ "docs": "\n\nThe **`CSSStyleSheet`** interface represents a single [CSS](/en-US/docs/Web/CSS) stylesheet, and lets you inspect and modify the list of rules contained in the stylesheet. It inherits properties and methods from its parent, [StyleSheet].\n\nA stylesheet consists of a collection of [CSSRule] objects representing each of the rules in the stylesheet. The rules are contained in a [CSSRuleList], which can be obtained from the stylesheet's [CSSStyleSheet.cssRules] property.\n\nFor example, one rule might be a [CSSStyleRule] object containing a style such as:\n\n```css\nh1,\nh2 {\n font-size: 16pt;\n}\n```\n\nAnother rule might be an _at-rule_ such as or , and so forth.\n\nSee the [Obtaining a StyleSheet](#obtaining_a_stylesheet) section for the various ways a `CSSStyleSheet` object can be obtained. A `CSSStyleSheet` object can also be directly constructed. The constructor, and the [CSSStyleSheet.replace], and [CSSStyleSheet.replaceSync] methods are newer additions to the specification, enabling _Constructable Stylesheets_.",
+ "properties": {
+ "addrule": "\n\nThe obsolete [CSSStyleSheet] interface's\n**`addRule()`** _legacy method_ adds a new rule to the\nstylesheet. You should avoid using this method, and should instead use the more standard\n[CSSStyleSheet.insertRule] method.",
+ "cssrules": "\n\nThe read-only [CSSStyleSheet] property\n**`cssRules`** returns a live [CSSRuleList] which\nprovides a real-time, up-to-date list of every CSS rule which comprises the\nstylesheet. Each item in the list is a [CSSRule] defining a single\nrule.",
+ "deleterule": "\n\nThe [CSSStyleSheet] method\n**`deleteRule()`** removes a rule from the stylesheet\nobject.",
+ "insertrule": "\n\nThe **`CSSStyleSheet.insertRule()`**\nmethod inserts a new [CSS rule](/en-US/docs/Web/API/CSSRule) into the [current style sheet](/en-US/docs/Web/API/CSSStyleSheet).\n\n> **Note:** Although `insertRule()` is exclusively a method of\n> [CSSStyleSheet], it actually inserts the rule into\n> `[CSSStyleSheet].cssRules` — its internal\n> [CSSRuleList].",
+ "ownerrule": "\n\nThe read-only [CSSStyleSheet] property\n**`ownerRule`** returns the [CSSImportRule]\ncorresponding to the at-rule which imported the stylesheet into\nthe document. If the stylesheet wasn't imported into the document using\n`@import`, the returned value is `null`.",
+ "removerule": "\n\nThe obsolete [CSSStyleSheet] method\n**`removeRule()`** removes a rule from the stylesheet\nobject. It is functionally identical to the standard, preferred method\n[CSSStyleSheet.deleteRule].\n\n> **Note:** This is a _legacy method_ which has been replaced by\n> the standard method [CSSStyleSheet.deleteRule]. You\n> should use that instead.",
+ "replace": "\n\nThe **`replace()`** method of the [CSSStyleSheet] interface asynchronously replaces the content of the stylesheet with the content passed into it. The method returns a promise that resolves with the `CSSStyleSheet` object.\n\nThe `replace()` and [CSSStyleSheet.replaceSync] methods can only be used on a stylesheet created with the [CSSStyleSheet.CSSStyleSheet] constructor.",
+ "replacesync": "\n\nThe **`replaceSync()`** method of the [CSSStyleSheet] interface synchronously replaces the content of the stylesheet with the content passed into it.\n\nThe `replaceSync()` and [CSSStyleSheet.replace] methods can only be used on a stylesheet created with the [CSSStyleSheet.CSSStyleSheet] constructor.",
+ "rules": "\n\n**`rules`** is a _deprecated_\n_legacy property_ of the [CSSStyleSheet] interface. Functionally\nidentical to the preferred [CSSStyleSheet.cssRules] property,\nit provides access to a live-updating list of the CSS rules comprising the\nstylesheet.\n\n> **Note:** As a legacy property, you should not use `rules` and\n> should instead use the preferred [CSSStyleSheet.cssRules].\n> While `rules` is unlikely to be removed soon, its availability is not as\n> widespread and using it will result in compatibility problems for your site or app."
+ }
+ },
+ "cssstylevalue": {
+ "docs": "\n\nThe **`CSSStyleValue`** interface of the [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Object_Model#css_typed_object_model) is the base class of all CSS values accessible through the Typed OM API. An instance of this class may be used anywhere a string is expected.",
+ "properties": {
+ "parse_static": "\n\nThe **`parse()`** static method of the [CSSStyleValue]\ninterface sets a specific CSS property to the specified values and returns the first\nvalue as a [CSSStyleValue] object.",
+ "parseall_static": "\n\nThe **`parseAll()`** static method of the [CSSStyleValue]\ninterface sets all occurrences of a specific CSS property to the specified value and\nreturns an array of [CSSStyleValue] objects, each containing one of the\nsupplied values."
+ }
+ },
+ "csssupportsrule": {
+ "docs": "\n\nThe **`CSSSupportsRule`** interface represents a single CSS [at-rule](/en-US/docs/Web/CSS/At-rule).\n\n"
+ },
+ "csstransformcomponent": {
+ "docs": "\n\nThe **`CSSTransformComponent`** interface of the is part of the [CSSTransformValue] interface.",
+ "properties": {
+ "is2d": "\n\nThe **`is2D`** read-only property of the [CSSTransformComponent] interface indicates where the transform is 2D or 3D.",
+ "tomatrix": "\n\nThe **`toMatrix()`** method of the\n[CSSTransformComponent] interface returns a [DOMMatrix]\nobject.\n\nAll transform functions can be represented mathematically as a 4x4 transformation matrix. This is explained in detail in [Understanding the CSS Transforms matrix](https://dev.opera.com/articles/understanding-the-css-transforms-matrix/).\n\n> **Note:** The `is2D` property affects what transform, and therefore type of matrix that will be returned. CSS 2D and 3D transforms are different for legacy reasons. A brief explanation of 2D vs. 3D transforms can be found in [Using CSS transforms](/en-US/docs/Web/CSS/CSS_transforms/Using_CSS_transforms).",
+ "tostring": "\n\nThe **`toString()`** method of the [CSSTransformComponent] interface is a returning a [CSS Transforms](/en-US/docs/Web/CSS/CSS_transforms) function."
+ }
+ },
+ "csstransformvalue": {
+ "docs": "\n\nThe **`CSSTransformValue`** interface of the represents `transform-list` values as used by the CSS `transform` property.\n\n",
+ "properties": {
+ "entries": "\n\nThe **`CSSTransformValue.entries()`** method\nreturns an array of a given object's own enumerable\nproperty `[key, value]` pairs in the same order as that provided by a\n[`for...in`](/en-US/docs/Web/JavaScript/Reference/Statements/for...in) loop (the difference being that a for-in loop enumerates\nproperties in the prototype chain as well).",
+ "foreach": "\n\nThe **`CSSTransformValue.forEach()`** method executes a provided function once for each element of the `CSSTransformValue`.",
+ "is2d": "\n\nThe read-only **`is2D`** property of the\n[CSSTransformValue] interface returns whether the transform is 2D or 3D.\n\nIn the case of the `CSSTransformValue` this property returns\ntrue unless any of the individual functions return false for `Is2D`, in which\ncase it returns false.",
+ "keys": "\n\nThe **`CSSTransformValue.keys()`** method\nreturns a new _array iterator_ object that contains the keys\nfor each index in the array.",
+ "length": "\n\nThe read-only **`length`** property of the\n[CSSTransformValue] interface returns the number of transform components in\nthe list.",
+ "tomatrix": "\n\nThe **`toMatrix()`** method of the\n[CSSTransformValue] interface returns a [DOMMatrix] object.",
+ "values": "\n\nThe **`CSSTransformValue.values()`** returns a\nnew _array iterator_ object that contains the values for\neach index in the CSSTransformValue object."
+ }
+ },
+ "csstransition": {
+ "docs": "\n\nThe **`CSSTransition`** interface of the [Web Animations API] represents an [Animation] object used for a [CSS Transition](/en-US/docs/Web/CSS/CSS_transitions).\n\n",
+ "properties": {
+ "transitionproperty": "\n\nThe **`transitionProperty`** property of the\n[CSSTransition] interface returns the **expanded transition property\nname** of the transition. This is the longhand CSS property for which the\ntransition was generated."
+ }
+ },
+ "csstranslate": {
+ "docs": "\n\nThe **`CSSTranslate`** interface of the represents the [translate()](/en-US/docs/Web/CSS/transform-function/translate) value of the individual `transform` property in CSS. It inherits properties and methods from its parent [CSSTransformValue].\n\n",
+ "properties": {
+ "x": "\n\nThe **`x`** property of the\n[CSSTranslate] interface gets and sets the abscissa or x-axis of the\ntranslating vector.",
+ "y": "\n\nThe **`y`** property of the\n[CSSTranslate] interface gets and sets the ordinate or y-axis of the\ntranslating vector.",
+ "z": "\n\nThe **`z`** property of the\n[CSSTranslate] interface representing the z-component of the translating\nvector. A positive value moves the element towards the viewer, and a negative value\nfarther away.\n\nIf this value is present then the transform is a 3D transform and the `is2D`\nproperty will be set to false."
+ }
+ },
+ "cssunitvalue": {
+ "docs": "\n\nThe **`CSSUnitValue`** interface of the represents values that contain a single unit type. For example, \"42px\" would be represented by a `CSSNumericValue`.\n\n",
+ "properties": {
+ "unit": "\n\nThe **`CSSUnitValue.unit`** read-only property\nof the [CSSUnitValue] interface returns a string\nindicating the type of unit.",
+ "value": "\n\nThe **`CSSUnitValue.value`** property of the\n[CSSUnitValue] interface returns a double indicating the number of units."
+ }
+ },
+ "cssunparsedvalue": {
+ "docs": "\n\nThe **`CSSUnparsedValue`** interface of the represents property values that reference [custom properties](/en-US/docs/Web/CSS/CSS_cascading_variables). It consists of a list of string fragments and variable references.\n\nCustom properties are represented by `CSSUnparsedValue` and `var()` references are represented using [CSSVariableReferenceValue].\n\n",
+ "properties": {
+ "entries": "\n\nThe **`CSSUnparsedValue.entries()`** method\nreturns an array of a given object's own enumerable property `[key, value]`\npairs in the same order as that provided by a `for...in` loop (the difference being that a for-in loop enumerates properties in the\nprototype chain as well).",
+ "foreach": "\n\nThe **`CSSUnparsedValue.forEach()`** method\nexecutes a provided function once for each element of the\n[CSSUnparsedValue].",
+ "keys": "\n\nThe **`CSSUnparsedValue.keys()`** method\nreturns a new _array iterator_ object that contains the keys\nfor each index in the array.",
+ "length": "\n\nThe **`length`** read-only property of the\n[CSSUnparsedValue] interface returns the number of items in the object.",
+ "values": "\n\nThe **`CSSUnparsedValue.values()`** method\nreturns a new _array iterator_ object that contains the\nvalues for each index in the CSSUnparsedValue object."
+ }
+ },
+ "cssvalue": {
+ "docs": "\n\nThe **`CSSValue`** interface represents the current computed value of a CSS property.\n\n> **Note:** This interface was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental.",
+ "properties": {
+ "csstext": "\n\nThe **`cssText`** property of the [CSSValue]\ninterface represents the current computed CSS property value.\n\n> **Note:** This property was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental.",
+ "cssvaluetype": "\n\nThe **`cssValueType`** read-only property of the\n[CSSValue] interface represents the type of the current computed CSS\nproperty value.\n\n> **Note:** This property was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental."
+ }
+ },
+ "cssvaluelist": {
+ "docs": "\n\nThe **`CSSValueList`** interface derives from the [CSSValue] interface and provides the abstraction of an ordered collection of CSS values.\n\n> **Note:** This interface was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental.\n\nSome properties allow an empty list in their syntax. In that case, these properties take the `none` identifier. So, an empty list means that the property has the value `none`.\n\nThe items in the `CSSValueList` are accessible via an integral index, starting from 0.\n\n",
+ "properties": {
+ "item": "\n\nThe **`item()`** method of the [CSSValueList]\ninterface is used to retrieve a [CSSValue] by ordinal index.\n\nThe order in this collection represents the order of the values in the CSS style\nproperty. If the index is greater than or equal to the number of values in the list,\nthis method returns `null`.\n\n> **Note:** This method was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental.",
+ "length": "\n\nThe **`length`** read-only property of the\n[CSSValueList] interface represents the number of [CSSValue]s\nin the list. The range of valid values of the indices is `0` to\n`length-1` inclusive.\n\n> **Note:** This property was part of an attempt to create a typed CSS Object Model. This attempt has been abandoned, and most browsers do\n> not implement it.\n>\n> To achieve your purpose, you can use:\n>\n> - the untyped [CSS Object Model](/en-US/docs/Web/API/CSS_Object_Model), widely supported, or\n> - the modern [CSS Typed Object Model API](/en-US/docs/Web/API/CSS_Typed_OM_API), less supported and considered experimental."
+ }
+ },
+ "cssvariablereferencevalue": {
+ "docs": "\n\nThe **`CSSVariableReferenceValue`** interface of the allows you to create a custom name for a built-in CSS value. This object functionality is sometimes called a \"CSS variable\" and serves the same purpose as the `var()` function. The custom name must begin with two dashes.",
+ "properties": {
+ "fallback": "\n\nThe **`fallback`** read-only property of the\n[CSSVariableReferenceValue] interface returns the [custom property fallback value](/en-US/docs/Web/CSS/Using_CSS_custom_properties#custom_property_fallback_values) of the [CSSVariableReferenceValue].",
+ "variable": "\n\nThe **`variable`** property of the\n[CSSVariableReferenceValue] interface returns the [custom property name](/en-US/docs/Web/CSS/--*) of the\n[CSSVariableReferenceValue]."
+ }
+ },
+ "customelementregistry": {
+ "docs": "\n\nThe **`CustomElementRegistry`** interface provides methods for registering custom elements and querying registered elements. To get an instance of it, use the [window.customElements] property.",
+ "properties": {
+ "define": "\n\nThe **`define()`** method of the [CustomElementRegistry] interface adds a definition for a custom element to the custom element registry, mapping its name to the constructor which will be used to create it.",
+ "get": "\n\nThe **`get()`** method of the\n[CustomElementRegistry] interface returns the constructor for a\npreviously-defined custom element.",
+ "getname": "\n\nThe **`getName()`** method of the\n[CustomElementRegistry] interface returns the name for a\npreviously-defined custom element.",
+ "upgrade": "\n\nThe **`upgrade()`** method of the\n[CustomElementRegistry] interface upgrades all shadow-containing custom\nelements in a [Node] subtree, even before they are connected to the main\ndocument.",
+ "whendefined": "\n\nThe **`whenDefined()`** method of the\n[CustomElementRegistry] interface returns a `Promise` that\nresolves when the named element is defined."
+ }
+ },
+ "customevent": {
+ "docs": "\n\nThe **`CustomEvent`** interface represents events initialized by an application for any purpose.\n\n> **Note:** If used to attempt to communicate between a web extension content script and a web page script, a non-string `detail` property throws with \"Permission denied to access property\" in Firefox. To avoid this issue clone the object. See [Share objects with page scripts](/en-US/docs/Mozilla/Add-ons/WebExtensions/Sharing_objects_with_page_scripts) for more information.\n\n",
+ "properties": {
+ "detail": "\n\nThe read-only **`detail`** property of the [CustomEvent] interface\nreturns any data passed when initializing the event.",
+ "initcustomevent": "\n\nThe **`CustomEvent.initCustomEvent()`** method initializes a [CustomEvent] object.\nIf the event has already been dispatched, this method does nothing.\n\nEvents initialized in this way must have been created with the [Document.createEvent] method.\nThis method must be called to set the event before it is dispatched using [EventTarget.dispatchEvent].\nOnce dispatched, it doesn't do anything anymore.\n\n> **Note:** **Do not use this method anymore, as it is deprecated.**\n>\n> Rather than using the feature, instead use specific event constructors, like [CustomEvent.CustomEvent].\n> The page on [Creating and triggering events](/en-US/docs/Web/Events/Creating_and_triggering_events) gives more information about the way to use those."
+ }
+ },
+ "customstateset": {
+ "docs": "\n\nThe **`CustomStateSet`** interface of the [Document Object Model](/en-US/docs/Web/API/Document_Object_Model) stores a list of states for an [autonomous custom element](/en-US/docs/Web/API/Web_components/Using_custom_elements#types_of_custom_element), and allows states to be added and removed from the set.\n\nThe interface can be used to expose the internal states of a custom element, allowing them to be used in CSS selectors by code that uses the element.",
+ "properties": {
+ "add": "\n\nThe **`add`** method of the [CustomStateSet] interface adds an item to the `CustomStateSet`, after checking that the value is in the correct format.",
+ "clear": "\n\nThe **`clear()`** method of the [CustomStateSet] interface removes all elements from the `CustomStateSet` object.",
+ "delete": "\n\nThe **`delete()`** method of the [CustomStateSet] interface deletes a single value from the `CustomStateSet`.",
+ "entries": "\n\nThe **`entries`** method of the [CustomStateSet] interface returns a new [iterator](/en-US/docs/Web/JavaScript/Reference/Iteration_protocols) object, containing an array of `[value,value]` for each element in the `CustomStateSet`.",
+ "foreach": "\n\nThe **`forEach()`** method of the [CustomStateSet] interface executes a provided function for each value in the `CustomStateSet` object.",
+ "has": "\n\nThe **`has()`** method of the [CustomStateSet] interface returns a `Boolean` asserting whether an element is present with the given value.",
+ "keys": "\n\nThe **`keys()`** method of the [CustomStateSet] interface is an alias for [CustomStateSet.values].",
+ "size": "\n\nThe **`size`** property of the [CustomStateSet] interface returns the number of values in the `CustomStateSet`.",
+ "values": "\n\nThe **`values()`** method of the [CustomStateSet] interface returns a new iterator object that yields the values for each element in the `CustomStateSet` object in insertion order."
+ }
+ },
+ "datatransfer": {
+ "docs": "\n\nThe **`DataTransfer`** object is used to hold the data that is being dragged during a drag and drop operation. It may hold one or more data items, each of one or more data types. For more information about drag and drop, see [HTML Drag and Drop API](/en-US/docs/Web/API/HTML_Drag_and_Drop_API).\n\nThis object is available from the [DragEvent.dataTransfer] property of all [DragEvent].",
+ "properties": {
+ "addelement": "\n\nThe **`DataTransfer.addElement()`** method sets the drag source\nto the given element. This element will be the element to which [HTMLElement/drag_event] and\n[HTMLElement/dragend_event] events are fired, and not the default target (the node that was\ndragged).\n\n> **Note:** This method is Firefox-specific.",
+ "cleardata": "\n\nThe **`DataTransfer.clearData()`** method removes the drag\noperation's [DataTransfer] for the given type. If data for the\ngiven type does not exist, this method does nothing.\n\nIf this method is called with no arguments or the format is an empty\nstring, the data of all types will be removed.\n\nThis method does _not_ remove files from the drag operation, so it's possible\nfor there still to be an entry with the type `\"Files\"` left in the object's\n[DataTransfer.types] list if there are any files included in the drag.\n\n> **Note:** This method can only be used in the handler for the [HTMLElement/dragstart_event] event,\n> because that's the only time the drag operation's data store is writable.",
+ "dropeffect": "\n\nThe **`DataTransfer.dropEffect`** property controls the\nfeedback (typically visual) the user is given during a drag and drop operation. It will\naffect which cursor is displayed while dragging. For example, when the user hovers over\na target drop element, the browser's cursor may indicate which type of operation will\noccur.\n\nWhen the [DataTransfer] object is created, `dropEffect` is set\nto a string value. On getting, it returns its current value. On setting, if the new\nvalue is one of the values listed below, then the property's current value will be set\nto the new value and other values will be ignored.\n\nFor the [HTMLElement/dragenter_event] and [HTMLElement/dragover_event] events,\n`dropEffect` will be initialized based on what action the user is requesting.\nHow this is determined is platform specific, but typically the user can press modifier\nkeys such as the alt key to adjust the desired action. Within event handlers for\n[HTMLElement/dragenter_event] and [HTMLElement/dragover_event] events, `dropEffect` should\nbe modified if a different action is desired than the action that the user is\nrequesting.\n\nFor the [HTMLElement/drop_event] and [HTMLElement/dragend_event] events, `dropEffect` will\nbe set to the action that was desired, which will be the value `dropEffect`\nhad after the last [HTMLElement/dragenter_event] or [HTMLElement/dragover_event] event. In a\n[HTMLElement/dragend_event] event, for instance, if the desired dropEffect is \"move\", then the\ndata being dragged should be removed from the source.",
+ "effectallowed": "\n\nThe **`DataTransfer.effectAllowed`** property specifies the\neffect that is allowed for a drag operation. The _copy_ operation is used to\nindicate that the data being dragged will be copied from its present location to the\ndrop location. The _move_ operation is used to indicate that the data being\ndragged will be moved, and the _link_ operation is used to indicate that some\nform of relationship or connection will be created between the source and drop\nlocations.\n\nThis property should be set in the [HTMLElement/dragstart_event] event to set the desired drag\neffect for the drag source. Within the [HTMLElement/dragenter_event] and [HTMLElement/dragover_event]\nevent handlers, this property will be set to whatever value was assigned during the\n[HTMLElement/dragstart_event] event, thus `effectAllowed` may be used to determine\nwhich effect is permitted.\n\nAssigning a value to `effectAllowed` in events other than\n[HTMLElement/dragstart_event] has no effect.",
+ "files": "\n\nThe **`files`** read-only property of [`DataTransfer`](/en-US/docs/Web/API/DataTransfer) objects is a [FileList] in the drag operation. If the operation includes no files, the list is empty.\n\nThis feature can be used to drag files from a user's desktop to the browser.\n\n> **Note:** The `files` property of [`DataTransfer`](/en-US/docs/Web/API/DataTransfer) objects can only be accessed from within the `drop` event. For all other events, the `files` property will be empty — because its underlying data store will be in a [protected mode](https://html.spec.whatwg.org/multipage/dnd.html#the-drag-data-store).",
+ "getdata": "\n\nThe **`DataTransfer.getData()`**\nmethod retrieves drag data (as a string) for the specified type.\nIf the drag operation does not include data, this method returns an empty\nstring.\n\nExample data types are `text/plain` and `text/uri-list`.",
+ "items": "\n\nThe read-only [DataTransfer] property `items` property is a\n[DataTransferItemList] of the [DataTransferItem] in a drag operation. The list includes one item for each item in the\noperation and if the operation had no items, the list is empty.",
+ "setdata": "\n\nThe **`DataTransfer.setData()`** method sets the drag\noperation's [DataTransfer] to the specified data and type. If\ndata for the given type does not exist, it is added at the end of the drag data store,\nsuch that the last item in the [DataTransfer.types] list will be\nthe new type. If data for the given type already exists, the existing data is replaced\nin the same position. That is, the order of the\n[DataTransfer.types] list is not changed when replacing data of the\nsame type.\n\nExample data types are `text/plain` and `text/uri-list`.",
+ "setdragimage": "\n\nWhen a drag occurs, a translucent image is generated from the drag target (the element\nthe [HTMLElement/dragstart_event] event is fired at), and follows the mouse pointer during the\ndrag. This image is created automatically, so you do not need to create it yourself.\nHowever, if a custom image is desired, the\n**`DataTransfer.setDragImage()`** method can be used to set the\ncustom image to be used. The image will typically be an `img` element\nbut it can also be a `canvas` or any other visible element.\n\nThe method's `x` and `y` coordinates define how the image should\nappear relative to the mouse pointer. These coordinates define the offset into the image\nwhere the mouse cursor should be. For instance, to display the image so that the pointer\nis at its center, use values that are half the width and height of the image.\n\nThis method must be called in the [HTMLElement/dragstart_event] event handler.",
+ "types": "\n\nThe **`DataTransfer.types`** read-only property returns the available types\nthat exist in the [DataTransfer.items]."
+ }
+ },
+ "datatransferitem": {
+ "docs": "\n\nThe **`DataTransferItem`** object represents one drag data item. During a _drag operation_, each [DragEvent] has a [DragEvent.dataTransfer] property which contains a [DataTransferItemList] of drag data items. Each item in the list is a `DataTransferItem` object.\n\nThis interface has no constructor.",
+ "properties": {
+ "getasfile": "\n\nIf the item is a file, the **`DataTransferItem.getAsFile()`**\nmethod returns the drag data item's [File] object. If the item is not a\nfile, this method returns `null`.",
+ "getasfilesystemhandle": "\n\nThe **`getAsFileSystemHandle()`** method of the\n[DataTransferItem] interface returns a [FileSystemFileHandle]\nif the dragged item is a file, or a [FileSystemDirectoryHandle] if the\ndragged item is a directory.",
+ "getasstring": "\n\nThe **`DataTransferItem.getAsString()`** method invokes the\ngiven callback with the drag data item's string data as the argument if the item's\n[DataTransferItem.kind] is a _Plain unicode string_ (i.e.\n`kind` is `string`).",
+ "kind": "\n\nThe read-only **`DataTransferItem.kind`** property returns a\n[DataTransferItem] representing the _drag data item_ kind: some text\nor some file.",
+ "type": "\n\nThe read-only **`DataTransferItem.type`** property returns the\ntype (format) of the [DataTransferItem] object representing the drag data\nitem. The `type` is a Unicode string generally given by a MIME type, although\na MIME type is not required.\n\nSome example types are: `text/plain` and `text/html`.",
+ "webkitgetasentry": "\n\nIf the item described by the [DataTransferItem] is a file, `webkitGetAsEntry()` returns a [FileSystemFileEntry] or [FileSystemDirectoryEntry] representing it. If the item isn't a file, `null` is returned.\n\n> **Note:** This function is implemented as `webkitGetAsEntry()` in non-WebKit browsers including Firefox at this time; it may be renamed to\n> `getAsEntry()` in the future, so you should code defensively, looking for both."
+ }
+ },
+ "datatransferitemlist": {
+ "docs": "\n\nThe **`DataTransferItemList`** object is a list of [DataTransferItem] objects representing items being dragged. During a _drag operation_, each [DragEvent] has a [DragEvent.dataTransfer] property and that property is a `DataTransferItemList`.\n\nThe individual items can be accessed using the [bracket notation](/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors#bracket_notation) `[]`.\n\nThis interface has no constructor.",
+ "properties": {
+ "add": "\n\nThe **`DataTransferItemList.add()`** method creates a new\n[DataTransferItem] using the specified data and adds it to the drag data\nlist. The item may be a [File] or a string of a\ngiven type. If the item is successfully added to the list, the newly-created\n[DataTransferItem] object is returned.",
+ "clear": "\n\nThe [DataTransferItemList] method\n**`clear()`** removes all [DataTransferItem]\nobjects from the drag data items list, leaving the list empty.\n\nThe drag data store in which this list is kept is only writable while handling the\n[HTMLElement/dragstart_event] event. While handling [HTMLElement/drop_event], the drag data store is\nin read-only mode, and this method silently does nothing. No exception is thrown.",
+ "length": "\n\nThe read-only **`length`** property of the\n[DataTransferItemList] interface returns the number of items currently in\nthe drag item list.",
+ "remove": "\n\nThe **`DataTransferItemList.remove()`** method removes the\n[DataTransferItem] at the specified index from the list. If the index is\nless than zero or greater than one less than the length of the list, the list will not\nbe changed."
+ }
+ },
+ "decompressionstream": {
+ "docs": "\n\nThe **`DecompressionStream`** interface of the [Compression Streams API] is an API for decompressing a stream of data.",
+ "properties": {
+ "readable": "\n\nThe **`readable`** read-only property of the [DecompressionStream] interface returns a [ReadableStream].",
+ "writable": "\n\nThe **`writable`** read-only property of the [DecompressionStream] interface returns a [WritableStream]."
+ }
+ },
+ "dedicatedworkerglobalscope": {
+ "docs": "\n\nThe **`DedicatedWorkerGlobalScope`** object (the [Worker] global scope) is accessible through the [WorkerGlobalScope.self] keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the [JavaScript Reference](/en-US/docs/Web/JavaScript/Reference). See also: [Functions available to workers](/en-US/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers).\n\n",
+ "properties": {
+ "cancelanimationframe": "\n\nThe **`cancelAnimationFrame()`** method of the [DedicatedWorkerGlobalScope] interface cancels an animation frame request previously scheduled through a call to [DedicatedWorkerGlobalScope.requestAnimationFrame].\n\nCalling the `cancelAnimationFrame()` method requires the current worker to have an associated owner [Window]. That means that the current worker must be created by [Window] or by a dedicated worker that also has an associated owner [Window].",
+ "close": "\n\nThe **`close()`** method of the [DedicatedWorkerGlobalScope] interface discards any tasks queued in the `DedicatedWorkerGlobalScope`'s event loop, effectively closing this particular scope.",
+ "message_event": "\n\nThe `message` event is fired on a [DedicatedWorkerGlobalScope] object when the worker receives a message from its parent (i.e. when the parent sends a message using [`Worker.postMessage()`](/en-US/docs/Web/API/Worker/postMessage)).\n\nThis event is not cancellable and does not bubble.",
+ "messageerror_event": "\n\nThe `messageerror` event is fired on a [DedicatedWorkerGlobalScope] object when it receives a message that can't be deserialized.\n\nThis event is not cancellable and does not bubble.",
+ "name": "\n\nThe **`name`** read-only property of the\n[DedicatedWorkerGlobalScope] interface returns the name that the\n[Worker] was (optionally) given when it was created. This is the name that\nthe [Worker.Worker] constructor can pass to get a reference to\nthe [DedicatedWorkerGlobalScope].",
+ "postmessage": "\n\nThe **`postMessage()`** method of the [DedicatedWorkerGlobalScope] interface sends a message to the main thread that spawned it.\n\nThis accepts a data parameter, which contains data to copy from the worker to the main thread.\nThe data may be any value or JavaScript object handled by the [structured clone](/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm) algorithm, which includes cyclical references.\n\nThe method also accepts an optional array of [transferable objects](/en-US/docs/Web/API/Web_Workers_API/Transferable_objects) to _transfer_ to the main thread;\nUnlike the data parameter transferred objects are no longer usable in the worker thread.\n(Where possible, objects are transferred using a high performance zero-copy operation).\n\nThe main scope that spawned the worker can send back information to the thread that spawned it using the [Worker.postMessage] method.",
+ "requestanimationframe": "\n\nThe **`requestAnimationFrame()`** method of the [DedicatedWorkerGlobalScope] interface tells the browser you wish to perform an animation frame request and call a user-supplied callback function before the next repaint.\n\nThe frequency of calls to the callback function will generally match the display refresh rate. The most common refresh rate is 60 Hz, (60 cycles/frames per second), though 75 Hz, 120 Hz, and 144 Hz are also widely used. `requestAnimationFrame()` calls are paused in most browsers when running in background tabs or hidden `iframe`s, to improve performance and battery life.\n\nA call to the `requestAnimationFrame()` method schedules only one single call to the callback function. If you want to animate another frame, your callback function must call `requestAnimationFrame()` again.\n\n> **Warning:** Be sure always to use the first argument (or some other method for getting the current time) to calculate how much the animation will progress in a frame — **otherwise, the animation will run faster on high refresh-rate screens**. For ways to do that, see the examples below.\n\nCalling the `requestAnimationFrame()` method requires the current worker to have an associated owner [Window]. That means that the current worker must be created by [Window] or by a dedicated worker that also has an associated owner [Window].",
+ "rtctransform_event": "\n\nThe **`rtctransform`** event is fired at a worker's [DedicatedWorkerGlobalScope] object when an encoded video or audio frame has been queued for processing by a [WebRTC API/Using Encoded Transforms].\n\nThe event's [RTCTransformEvent.transformer] property returns a [RTCRtpScriptTransformer] that exposes the [ReadableStream] on which the frame is queued, and a [WritableStream] where the frame can be written to inject it back into the WebRTC pipeline.\n\nThis event is not cancellable and does not bubble.\n\n"
+ }
+ },
+ "delaynode": {
+ "docs": "\n\nThe **`DelayNode`** interface represents a [delay-line](https://en.wikipedia.org/wiki/Digital_delay_line); an [AudioNode] audio-processing module that causes a delay between the arrival of an input data and its propagation to the output.\n\nA `DelayNode` always has exactly one input and one output, both with the same amount of channels.\n\n\n\nWhen creating a graph that has a cycle, it is mandatory to have at least one `DelayNode` in the cycle, or the nodes taking part in the cycle will be muted.\n\n
\n \n \n Number of inputs | \n 1 | \n
\n \n Number of outputs | \n 1 | \n
\n \n Channel count mode | \n \"max\" | \n
\n \n Channel count | \n 2 (not used in the default count mode) | \n
\n \n Channel interpretation | \n \"speakers\" | \n
\n \n
",
+ "properties": {
+ "delaytime": "\n\nThe `delayTime` property of the [DelayNode] interface is an [a-rate](/en-US/docs/Web/API/AudioParam#a-rate) [AudioParam] representing the amount of delay to apply.\n\n`delayTime` is expressed in seconds, its minimal value is `0`, and its maximum value is defined by the `maxDelayTime` argument of the [BaseAudioContext.createDelay] method that created it.\n\n> **Note:** Though the [AudioParam] returned is read-only, the value it represents is not."
+ }
+ },
+ "deprecationreportbody": {
+ "docs": "\n\nThe `DeprecationReportBody` interface of the [Reporting API](/en-US/docs/Web/API/Reporting_API) represents the body of a deprecation report.\n\nA deprecation report is generated when a deprecated feature (for example a deprecated API method) is used on a document being observed by a [ReportingObserver]. In addition to the support of this API, receiving useful deprecation warnings relies on browser vendors adding these warnings for deprecated features.\n\n",
+ "properties": {
+ "anticipatedremoval": "\n\nThe **`anticipatedRemoval`** read-only property of the [DeprecationReportBody] interface returns the date that the browser version which removes the feature will ship. This value can be used to prioritize warnings. If this property returns `null` because the date is unknown, then the deprecation should be considered low priority.",
+ "columnnumber": "\n\nThe **`columnNumber`** read-only property of the [DeprecationReportBody] interface returns the line in the source file in which the deprecated feature was used.\n\n> **Note:** This property is most useful alongside [DeprecationReportBody.sourceFile] and [DeprecationReportBody.lineNumber] as it enables the location of the column in that file and line where the error occurred.",
+ "id": "\n\nThe **`id`** read-only property of the [DeprecationReportBody] interface returns a string representing the feature or API that is deprecated. This can be used to group or count related reports.",
+ "linenumber": "\n\nThe **`lineNumber`** read-only property of the [DeprecationReportBody] interface returns the line in the source file in which the deprecated feature was used.\n\n> **Note:** This property is most useful alongside [DeprecationReportBody.sourceFile] as it enables the location of the line in that file where the error occurred.",
+ "message": "\n\nThe **`message`** read-only property of the [DeprecationReportBody] interface returns a human-readable description of the deprecation. This typically matches the message a browser will display in its DevTools console regarding a deprecated feature.",
+ "sourcefile": "\n\nThe **`sourceFile`** read-only property of the [DeprecationReportBody] interface returns the path to the source file where the deprecated feature was used.\n\n> **Note:** This property can be used with [DeprecationReportBody.lineNumber] and [DeprecationReportBody.columnNumber] to locate the column and line in the file where the error occurred.",
+ "tojson": "\n\nThe **`toJSON()`** method of the [DeprecationReportBody] interface is a _serializer_, and returns a JSON representation of the `InterventionReportBody` object."
+ }
+ },
+ "devicemotionevent": {
+ "docs": "\n\nThe **`DeviceMotionEvent`** interface of the [Device Orientation Events] provides web developers with information about the speed of changes for the device's position and orientation.\n\n> **Warning:** Currently, Firefox and Chrome do not handle the coordinates the same way. Take care about this while using them.\n\n",
+ "properties": {
+ "acceleration": "\n\nThe **`acceleration`** read-only property of the [DeviceMotionEvent] interface returns the amount of acceleration recorded by\nthe device, in [meters per second squared (m/s²)](https://en.wikipedia.org/wiki/Meter_per_second_squared).\nThe acceleration value does not include the effect of\nthe gravity force, in contrast to [DeviceMotionEvent.accelerationIncludingGravity].\n\n> **Note:** If the hardware doesn't know how to remove gravity from the\n> acceleration data, this value may not be present in the\n> [DeviceMotionEvent]. In this situation, you'll need to use\n> [DeviceMotionEvent.accelerationIncludingGravity] instead.",
+ "accelerationincludinggravity": "\n\nThe **`accelerationIncludingGravity`** read-only property of the [DeviceMotionEvent] interface returns the\namount of acceleration recorded by the device, in [meters per second squared (m/s²)](https://en.wikipedia.org/wiki/Meter_per_second_squared). Unlike [DeviceMotionEvent.acceleration]\nwhich compensates for the influence of gravity, its value is the sum of the acceleration\nof the device as induced by the user and an acceleration equal and opposite to that\ncaused by gravity. In other words, it measures the\n[g-force](https://en.wikipedia.org/wiki/G-Force). In practice, this value represents\nthe raw data measured by an [accelerometer](https://en.wikipedia.org/wiki/Accelerometer).\n\nThis value is not typically as useful as [DeviceMotionEvent.acceleration],\nbut may be the only value available on devices that aren't able to remove gravity from\nthe acceleration data, such as on devices that don't have a gyroscope.\n\n> **Note:** `accelerationIncludingGravity`'s name can be misleading. This property represents acceleration including _the effects of_ gravity. For example, if a device is lying flat on a horizontal surface with the screen pointing up, gravity would be -9.8 along the Z axis, while `acceleration.z` would be 0 and `accelerationIncludingGravity.z` would be 9.8. Similarly, if a device is in free fall with its screen horizontal and pointing up, gravity would be -9.8 along the Z axis, while `acceleration.z` would be -9.8 and `accelerationIncludingGravity.z` would be 0.",
+ "interval": "\n\nThe **`interval`** read-only property of the [DeviceMotionEvent] interface returns the interval, in milliseconds, at which data is obtained from the underlying\nhardware. You can use this to determine the granularity of motion events.",
+ "rotationrate": "\n\nThe **`rotationRate`** read-only property of the [DeviceMotionEvent] interface returns the rate at which the device is rotating around each of its axes in degrees per\nsecond.\n\n> **Note:** If the hardware isn't capable of providing this\n> information, this property returns `null`."
+ }
+ },
+ "devicemotioneventacceleration": {
+ "docs": "\n\nThe **`DeviceMotionEventAcceleration`** interface of the [Device Orientation Events] provides information about the amount of acceleration the device is experiencing along all three axes.",
+ "properties": {
+ "x": "\n\nThe **`x`** read-only property of the [DeviceMotionEventAcceleration] interface indicates the amount of acceleration that occurred along the X\naxis in a [`DeviceMotionEventAcceleration`](/en-US/docs/Web/API/DeviceMotionEventAcceleration)\nobject.",
+ "y": "\n\nThe **`y`** read-only property of the [DeviceMotionEventAcceleration] interface indicates the amount of acceleration that occurred along the Y\naxis in a [`DeviceMotionEventAcceleration`](/en-US/docs/Web/API/DeviceMotionEventAcceleration)\nobject.",
+ "z": "\n\nThe **`z`** read-only property of the [DeviceMotionEventAcceleration] interface indicates the amount of acceleration that occurred along the Z\naxis in a [`DeviceMotionEventAcceleration`](/en-US/docs/Web/API/DeviceMotionEventAcceleration)\nobject."
+ }
+ },
+ "devicemotioneventrotationrate": {
+ "docs": "\n\nA **`DeviceMotionEventRotationRate`** interface of the [Device Orientation Events] provides information about the rate at which the device is rotating around all three axes.",
+ "properties": {
+ "alpha": "\n\nThe **`alpha`** read-only property of the [DeviceMotionEventRotationRate] interface indicates the rate of rotation around the Z axis, in degrees per second.",
+ "beta": "\n\nThe **`beta`** read-only property of the [DeviceMotionEventRotationRate] interface indicates the rate of rotation around the X axis, in degrees per second.",
+ "gamma": "\n\nThe **`gamma`** read-only property of the [DeviceMotionEventRotationRate] interface indicates the rate of rotation around the Y axis, in degrees per second."
+ }
+ },
+ "deviceorientationevent": {
+ "docs": "\n\nThe **`DeviceOrientationEvent`** interface of the [Device Orientation Events] provides web developers with information from the physical orientation of the device running the web page.\n\n",
+ "properties": {
+ "absolute": "\n\nThe **`absolute`** read-only property of the [DeviceOrientationEvent] interface indicates whether or not the device is providing orientation data absolutely (that is,\nin reference to the Earth's coordinate frame) or using some arbitrary frame determined\nby the device.\nSee [Orientation and motion data explained](/en-US/docs/Web/API/Device_orientation_events/Orientation_and_motion_data_explained) for details.",
+ "alpha": "\n\nThe **`alpha`** read-only property of the [DeviceOrientationEvent] interface returns the rotation of the device around the Z axis; that is, the number of degrees by\nwhich the device is being twisted around the center of the screen.\nSee [Orientation and motion data explained](/en-US/docs/Web/API/Device_orientation_events/Orientation_and_motion_data_explained) for details.",
+ "beta": "\n\nThe **`beta`** read-only property of the [DeviceOrientationEvent] interface returns the rotation of the device around the X axis; that is, the number of degrees,\nranged between -180 and 180, by which the device is tipped forward or backward.\nSee [Orientation and motion data explained](/en-US/docs/Web/API/Device_orientation_events/Orientation_and_motion_data_explained) for details.",
+ "gamma": "\n\nThe **`gamma`** read-only property of the [DeviceOrientationEvent] interface returns the rotation of the device around the Y axis; that is, the number of degrees,\nranged between `-90` and `90`, by which the device is tilted left\nor right.\nSee [Orientation and motion data explained](/en-US/docs/Web/API/Device_orientation_events/Orientation_and_motion_data_explained) for details."
+ }
+ },
+ "directoryentrysync": {
+ "docs": "\n\nThe `DirectoryEntrySync` interface represents a directory in a file system. It includes methods for creating, reading, looking up, and recursively removing files in a directory.\n\n> **Warning:** This interface is deprecated and is no more on the standard track.\n> _Do not use it anymore._ Use the [File and Directory Entries API](/en-US/docs/Web/API/File_and_Directory_Entries_API) instead."
+ },
+ "directoryreadersync": {
+ "docs": "\n\nThe `DirectoryReaderSync` interface lets you read the entries in a directory.\n\n> **Warning:** This interface is deprecated and is no more on the standard track.\n> _Do not use it anymore._ Use the [File and Directory Entries API](/en-US/docs/Web/API/File_and_Directory_Entries_API) instead."
+ },
+ "document": {
+ "docs": "\n\nThe **`Document`** interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the [DOM tree](/en-US/docs/Web/API/Document_object_model/Using_the_Document_Object_Model#what_is_a_dom_tree).\n\nThe DOM tree includes elements such as `body` and `table`, among [many others](/en-US/docs/Web/HTML/Element). It provides functionality globally to the document, like how to obtain the page's URL and create new elements in the document.\n\nThe `Document` interface describes the common properties and methods for any kind of document. Depending on the document's type (e.g. [HTML](/en-US/docs/Web/HTML), [XML](/en-US/docs/Web/XML), SVG, …), a larger API is available: HTML documents, served with the `\"text/html\"` content type, also implement the [HTMLDocument] interface, whereas XML and SVG documents implement the [XMLDocument] interface.",
+ "properties": {
+ "activeelement": "\n\nThe **`activeElement`** read-only property\nof the [Document] interface returns the [Element] within the DOM that currently has focus.\n\nOften `activeElement` will return a [HTMLInputElement] or\n[HTMLTextAreaElement] object if it has the text selection at the time. If\nso, you can get more detail by using the object's `selectionStart` and `selectionEnd` properties.\nOther times the focused element might be a `select` element (menu) or\nan `input` element.\n\nTypically a user can press the tab key to move the focus around the page among\nfocusable elements, and use the space bar to activate one (that is, to press a button or\ntoggle a radio button). Which elements are focusable varies depending on the platform\nand the browser's current configuration. For example, on macOS systems, elements that\naren't text input elements are not typically focusable by default.\n\n> **Note:** Focus (which element is receiving user input events) is not\n> the same thing as selection (the currently highlighted part of the document). You can\n> get the current selection using [window.getSelection].",
+ "adoptedstylesheets": "\n\nThe **`adoptedStyleSheets`** property of the [Document] interface is used for setting an array of constructed stylesheets to be used by the document.\n\n> **Note:** A constructed stylesheet is a stylesheet created programmatically using the [`CSSStyleSheet()` constructor](/en-US/docs/Web/API/CSSStyleSheet/CSSStyleSheet) (as compared to one created by a user-agent when importing a stylesheet from a script, imported using `style` and , or linked to via `link`).\n\nThe same constructed stylesheets can also be shared with one or more [ShadowRoot] instances using the [`ShadowRoot.adoptedStyleSheets`](/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets) property.\nChanging an adopted stylesheet will affect all the objects that adopt it.\n\nStylesheets in the property are evaluated along with the document's other stylesheets using the [CSS cascade algorithm](/en-US/docs/Web/CSS/Cascade).\nWhere the resolution of rules considers stylesheet order, `adoptedStyleSheets` are assumed to be ordered after those in [`Document.styleSheets`](/en-US/docs/Web/API/Document/styleSheets).\n\nOnly stylesheets created using the [`CSSStyleSheet()` constructor](/en-US/docs/Web/API/CSSStyleSheet/CSSStyleSheet) within the context of the current [Document] may be adopted.",
+ "adoptnode": "\n\n**`Document.adoptNode()`** transfers a from another [Document] into the method's\ndocument. The adopted node and its subtree are removed from their original document (if\nany), and their [Node.ownerDocument] is changed to the\ncurrent document. The node can then be inserted into the current document.",
+ "afterscriptexecute_event": "\n\nThe `afterscriptexecute` event fires when a static `script` element finishes executing its script. It does not fire if the element is added dynamically, such as with [Node.appendChild].",
+ "alinkcolor": "\n\nReturns or sets the color of an active link in the document body. A link is active\nduring the time between `mousedown` and `mouseup` events.",
+ "all": "\n\nThe [Document] interface's read-only **`all`** property returns an [HTMLAllCollection] rooted at the document node.\n\nRather than using `document.all` to return an [HTMLAllCollection] of all the document's elements in document order, you can use [Document.querySelectorAll] to return a [NodeList] of all the document's elements in document order:\n\n```js\nconst allElements = document.querySelectorAll(\"*\");\n```",
+ "anchors": " \n\nThe **`anchors`** read-only property of the\n[Document] interface returns a list of all of the anchors in the document.",
+ "append": "\n\nThe **`Document.append()`** method\ninserts a set of [Node] objects or string objects after\nthe last child of the document. String objects\nare inserted as equivalent [Text] nodes.\n\nThis method appends a child to a `Document`. To append to an arbitrary element in the tree, see [Element.append].",
+ "applets": " \n\nThe **`applets`** property of the [Document] returns an empty [HTMLCollection]. This property is kept only for compatibility reasons; in older versions of browsers, it returned a list of the applets within a document.\n\n> **Note:** Support for the `