1. classList (DOMTokenList)

    Method of easily manipulating classes on elements, using the `DOMTokenList` object.

  2. Client Hints: DPR, Width, Viewport-Width

    DPR, Width, and Viewport-Width hints enable proactive content negotiation between client and server, enabling automated delivery of optimized assets - e.g. auto-negotiating image DPR resolution.

  3. CSS box-decoration-break

    Controls whether the box's margins, borders, padding, and other decorations wrap the broken edges of the box fragments (when the box is split by a break (page/column/region/line).

  4. CSS Canvas Drawings

    Method of using HTML5 Canvas as a background image. Not currently part of any specification.

  5. :default CSS pseudo-class

    The `:default` pseudo-class matches checkboxes and radio buttons which are checked by default, `<option>`s with the `selected` attribute, and the default submit button (if any) of a form.

  6. :dir() CSS pseudo-class

    Matches elements based on their directionality. `:dir(ltr)` matches elements which are Left-to-Right. `:dir(rtl)` matches elements which are Right-to-Left.

  7. CSS display: contents

    `display: contents` causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored when using CSS grid or similar layout techniques.

  8. CSS Filter Effects

    Method of applying filter effects using the `filter` property to elements, matching filters available in SVG. Filter functions include blur, brightness, contrast, drop-shadow, grayscale, hue-rotate, invert, opacity, sepia and saturate.

  9. CSS font-display

    `@font-face` descriptor `font-display` that allows control over how a downloadable font renders before it is fully loaded.

  10. CSS Table display

    Method of displaying elements as tables, rows, and cells. Includes support for all `display: table-*` properties as well as `display: inline-table`

  11. CSS writing-mode property

    Property to define whether lines of text are laid out horizontally or vertically and the direction in which blocks progress.

  12. Datalist element

    Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value.

  13. dataset & data-* attributes

    Method of applying and accessing custom data to elements.

  14. Data URIs

    Method of embedding images and other files in webpages as a string of text, generally using base64 encoding.

  15. Decorators

    ECMAScript Decorators are an in-progress proposal for extending JavaScript classes. Decorators use a special syntax, prefixed with an `@` symbol and placed immediately before the code being extended.

  16. Details & Summary elements

    The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.

  17. DeviceOrientation & DeviceMotion events

    API for detecting orientation and motion events from the device running the browser.

  18. Window.devicePixelRatio

    Read-only property that returns the ratio of the (vertical) size of one physical pixel on the current display device to the size of one CSS pixel.

  19. Dialog element

    Method of easily creating custom dialog boxes to display to the user with modal or non-modal options. Also includes a `::backdrop` pseudo-element for behind the element.

  20. EventTarget.dispatchEvent

    Method to programmatically trigger a DOM event.

  21. Do Not Track API

    API to allow the browser's Do Not Track setting to be queried via `navigator.doNotTrack`. Due to lack of adoption the Do Not Track specification was deprecated in 2018.

  22. document.currentScript

    `document.currentScript` returns the `<script>` element whose script is currently being processed.

  23. document.evaluate & XPath

    Allow nodes in an XML/HTML document to be traversed using XPath expressions.

  24. Document Policy

    A mechanism that allows developers to set certain rules and policies for a given site. The rules can change default browser behaviour, block certain features or set limits on resource usage. Document Policy is useful both for security and performance, and is similar to [Permissions Policy](/permissions-policy).

  25. document.scrollingElement

    `document.scrollingElement` refers to the element that scrolls the document.

  26. Document Object Model Range

    A contiguous range of content in a Document, DocumentFragment or Attr

  27. DOMMatrix

    The `DOMMatrix` interface represents 4x4 matrices, suitable for 2D and 3D operations. Supersedes the `WebKitCSSMatrix` and `SVGMatrix` interfaces.

  28. document.elementFromPoint()

    Given coordinates for a point relative to the viewport, returns the element that a click event would be dispatched at if the user were to click the point (in other words, the element that hit-testing would find).

  29. CSS Flexible Box Layout Module

    Method of positioning elements in horizontal or vertical stacks. Support includes all properties prefixed with `flex`, as well as `display: flex`, `display: inline-flex`, `align-content`, `align-items`, `align-self`, `justify-content` and `order`.

  30. display: flow-root

    The element generates a block container box, and lays out its contents using flow layout. It always establishes a new block formatting context for its contents. It provides a better solution to the most use cases of the "clearfix" hack.

  31. CSS Font Loading

    This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script. It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page.

  32. Directory selection from file input

    The `webkitdirectory` attribute on the `<input type="file">` element allows entire directory with file contents (and any subdirectories) to be selected.

  33. Resource Hints: dns-prefetch

    Gives a hint to the browser to perform a DNS lookup in the background to improve performance. This is indicated using `<link rel="dns-prefetch" href="https://example.com/">`

  34. display: run-in

    If the run-in box contains a block box, same as block. If a block box follows the run-in box, the run-in box becomes the first inline box of the block box. If an inline box follows, the run-in box becomes a block box.

  35. defer attribute for external scripts

    The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.

  36. Web SQL Database

    Method of storing data client-side, allows SQLite database queries for access and manipulation.

  37. text-decoration styling

    Method of defining the type, style and color of lines in the text-decoration property. These can be defined as shorthand (e.g. `text-decoration: line-through dashed blue`) or as single properties (e.g. `text-decoration-color: blue`)

  38. Trusted Types for DOM manipulation

    An API that forces developers to be very explicit about their use of powerful DOM-injection APIs. Can greatly improve security against XSS attacks.

  39. Typed Arrays

    JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently. Includes: `Int8Array`, `Uint8Array`, `Uint8ClampedArray`, `Int16Array`, `Uint16Array`, `Int32Array`, `Uint32Array`, `Float32Array` & `Float64Array`

  40. CSS -webkit-user-drag property

    The non-standard `-webkit-user-drag` CSS property can be used to either make an element draggable or explicitly non-draggable (like links and images). See the standardized [draggable attribute/property](/mdn-api_htmlelement_draggable) for the recommended alternative method of accomplishing the same functionality.

  41. WebXR Device API

    API for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays.

  42. datacue api

  43. document api

  44. domerror api

  45. dommatrix api

  46. domparser api

  47. dompoint api

  48. domrect api

  49. dragevent api

  50. css property: d