1. Array.prototype.includes

    Determines whether or not an array includes the given value, returning a boolean value (unlike `indexOf`).

  2. Base64 encoding and decoding

    Utility functions for encoding and decoding strings to and from base 64: window.atob() and window.btoa().

  3. Audio element

    Method of playing sound on webpages (without requiring a plug-in). Includes support for the following media properties: `currentSrc`, `currentTime`, `paused`, `playbackRate`, `buffered`, `duration`, `played`, `seekable`, `ended`, `autoplay`, `loop`, `controls`, `volume` & `muted`

  4. AVIF image format

    A modern image format based on the [AV1 video format](/av1). AVIF generally has better compression than [WebP](/webp), JPEG, PNG and GIF and is designed to supersede them. AVIF competes with [JPEG XL](/jpegxl) which has similar compression quality and is generally seen as more feature-rich than AVIF.

  5. 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).

  6. :focus-visible CSS pseudo-class

    The `:focus-visible` pseudo-class applies while an element matches the `:focus` pseudo-class, and the UA determines via heuristics that the focus should be specially indicated on the element (typically via a “focus ring”).

  7. letter-spacing CSS property

    Controls spacing between characters of text (i.e. "tracking" in typographical terms). Not to be confused with kerning.

  8. selector list argument of :nth-child and :nth-last-child CSS pseudo-classes

    The newest versions of `:nth-child()` and `:nth-last-child()` accept an optional `of S` clause which filters the children to only those which match the selector list `S`. For example, `:nth-child(1 of .foo)` selects the first child among the children that have the `foo` class (ignoring any non-`foo` children which precede that child). Similar to `:nth-of-type`, but for arbitrary selectors instead of only type selectors.

  9. CSS overflow: overlay

    The `overlay` value of the `overflow` CSS property is a non-standard value to make scrollbars appear on top of content rather than take up space. This value is deprecated and related functionality being standardized as [the `scrollbar-gutter` property](mdn-css_properties_scrollbar-gutter).

  10. CSS3 attr() function for all properties

    While `attr()` is supported for effectively all browsers for the `content` property, CSS Values and Units Level 5 adds the ability to use `attr()` on **any** CSS property, and to use it for non-string values (e.g. numbers, colors).

  11. CSS3 Colors

    Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla().

  12. CSS grab & grabbing cursors

    Support for the `grab` & `grabbing` values for the `cursor` property. Used to indicate that something can be grabbed (dragged to be moved).

  13. 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).

  14. DOMContentLoaded

    JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.).

  15. 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).

  16. Feature Policy

    This specification defines a mechanism that allows developers to selectively enable and disable use of various browser features and APIs. Feature Policy is deprecated and has been replaced with [Permissions Policy](/permissions-policy) and [Document Policy](/document-policy).

  17. HEIF/HEIC image format

    A modern image format based on the [HEVC video format](/hevc). HEIC generally has better compression than [WebP](/webp), JPEG, PNG and GIF. It is hard for browsers to support HEIC because it is [complex and expensive to license](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Patent_licensing). [AVIF](/avif) and [JPEG XL](/jpegxl) provide free licenses and are designed to supersede HEIC.

  18. HEVC/H.265 video format

    The High Efficiency Video Coding (HEVC) compression standard is a video compression format intended to succeed H.264. It is hard for browsers to universally support HEVC because it is [complex and expensive to license](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Patent_licensing). HEVC competes with [AV1](/av1) which has similar compression quality and provides a free license.

  19. Input Method Editor API

    Provides scripted access to the Input Method Editor (IME). An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions.

  20. Search input type

    Search field form input type. Intended to look like the underlying platform's native search field widget (if there is one). Other than its appearance, it's the same as an `<input type="text">`.

  21. KeyboardEvent.location

    A `KeyboardEvent` property that indicates the location of the key on the input device. Useful when there are more than one physical key for the same logical key (e.g. left or right "Control" key; main or numpad "1" key).

  22. Context menu item (menuitem element)

    Method of defining a context menu item, now deprecated and [removed from the HTML specification](https://github.com/whatwg/html/issues/2730).

  23. Dynamic Adaptive Streaming over HTTP (MPEG-DASH)

    HTTP-based media streaming communications protocol, an alternative to HTTP Live Streaming (HLS).

  24. Web Storage - name/value pairs

    Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).

  25. File System Access API

    API for manipulating files in the device's local file system (not in a sandbox).

  26. Web Notifications

    Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).

  27. Reversed attribute of ordered lists

    This attribute makes an ordered list number its items in descending order (large to small), instead of ascending order (small to large; the default). The order that the list items are displayed in is not affected.

  28. Permissions Policy

    A security mechanism that allows developers to explicitly enable or disable various powerful browser features for a given site. Similar to [Document Policy](/document-policy).

  29. prefers-reduced-motion media query

    CSS media query based on a user preference for preferring reduced motion (animation, etc).

  30. relList (DOMTokenList)

    Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList).

  31. Ruby annotation

    Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).

  32. Srcset and sizes attributes

    The `srcset` and `sizes` attributes on `img` (or `source`) elements allow authors to define various image resources and "hints" that assist a user agent to determine the most appropriate image source to display (e.g. high-resolution displays, small monitors, etc).

  33. getUserMedia/Stream API

    Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.

  34. Strict Transport Security

    Declare that a website is only accessible over a secure connection (HTTPS).

  35. Scoped attribute

    Deprecated method of allowing scoped CSS styles using a "scoped" attribute. Now [removed from the specification](https://github.com/whatwg/html/issues/552) and replaced by the [@scope CSS rule](/css-cascade-scope).

  36. ES6 Template Literals (Template Strings)

    Template literals are string literals allowing embedded expressions using backtick characters (`). You can use multi-line strings and string interpolation features with them. Formerly known as template strings.

  37. Video element

    Method of playing videos on webpages (without requiring a plug-in). Includes support for the following media properties: `currentSrc`, `currentTime`, `paused`, `playbackRate`, `buffered`, `duration`, `played`, `seekable`, `ended`, `autoplay`, `loop`, `controls`, `volume` & `muted`

  38. View Transitions API (single-document)

    Provides a mechanism for easily creating animated transitions between different DOM states, while also updating the DOM contents in a single step. This API is specific to single-document transitions, support for same-origin cross-document transitions is [being planned](https://github.com/WICG/view-transitions/blob/main/cross-doc-explainer.md).

  39. Viewport units: vw, vh, vmin, vmax

    Length units representing a percentage of the current viewport dimensions: width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).

  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. WebTransport

    Protocol framework to send and receive data from servers using [HTTP3](/http3). Similar to [WebSockets](/websockets) but with support for multiple streams, unidirectional streams, out-of-order delivery, and reliable as well as unreliable transport.

  42. WebUSB

    Allows communication with devices via USB (Universal Serial Bus).

  43. WebVR API

    API for accessing virtual reality (VR) devices, including sensors and head-mounted displays. Replaced by the [WebXR Device API](/webxr).

  44. css property: counter-reset: resets counter on current element (not sibling elements).

  45. css max-lines property

  46. css @apply rule