Limited Availability
30 featuresThe navigator.audioSession API controls how audio playback interacts with other applications. For example, playing music can pause audio from other applications, while ambient audio can play at the same time.
The CSSStyleValue and its subclasses represent CSS values as distinct types instead of only strings. Also known as typed OM.
The fullscreen API makes a specific element fill the whole screen and hides most browser UI.
The gamepad.vibrationActuator property represents a gamepad's haptics hardware, which allows you to control the vibration motors in a gamepad.
The numeric factory functions, such as CSS.px() or CSS.kHz(), return a CSSUnitValue representing a CSS number value (as in 12px or 440kHz).
The iterationComposite property of a KeyframeEffect object sets whether an animation's iterations are calculated independently ("replace") or are accumulated with the value of the previous iteration ("accumulate").
The margin-trim CSS property removes the margins of child elements when they meet the edges of the container.
The autocapitalize global HTML attribute sets the virtual keyboard capitalization behavior for user input on an element, such as the first letter of sentences or all words.
The window.getScreenDetails() method gets information about the screens on a device, which you can use to place new windows on a specific screen with window.open().
The <datalist> element sets recommended values for an <input> element. Browsers may show a dropdown menu of all values or match values as the user types.
The :autofill pseudo-class matches <input> elements that have been filled in automatically by the browser.
The credentialless attribute for the <iframe> HTML element loads third-party content in an ephemeral context and does not send any credentials such as cookies. When using cross-origin isolation, this allows you to embed content that does not send Cross-Origin-Embedder-Policy headers.
The launch_handler web app manifest member, with the client_mode property, configure how web app launches behave when an instance of the app is already open. For example, you can choose to focus the existing app instance instead of launching a new one.
The initial-letter CSS property sets the number of lines the first letter of an element occupies. You can use the property to make a raised capital or drop cap.
Speculation rules are hints to the browser to proactively download pages in the background so they appear instantly when the user navigates to them.
The Web MIDI API enables selecting MIDI input and output devices and sending and receiving MIDI messages.
The Permissions-Policy response header and the allow attribute for <iframe> elements sets whether a policy-controlled feature, such as an API, may be used in a document.
COLRv1 is a font format that supports multi-color glyphs. COLRv1 extends COLRv0 to support gradients, transforms, and blending modes.
The XRView.camera property provides direct access to pose-synchronized camera images within a WebXR session.
The EXT_texture_compression_bptc extension for WebGL 1.0 and 2.0 contexts adds the BPTC compressed texture formats to compressedTexImage2D() and compressedTexSubImage2D().
The EXT_texture_norm16 extension to WebGL 2.0 contexts adds 16 bit signed normalized and unsigned normalized fixed-point texture, renderbuffer, and texture buffer formats.
The fetch() method and Request() constructor accept a ReadableStream object as the request's body option, to stream upload data to the server.
The display_override: ["window-controls-overlay"] web application manifest member shows content in the title bar area of a progressive web app that is installed on a desktop device.
The text-decoration CSS property in a ::selection rule sets the underline and other text decoration styles on the text a user has highlighted.
The web prefix for ClipboardItem data types (also known as MIME types) allows reading and writing unsanitized custom data from the device clipboard.
When using navigator.mediaDevices.getDisplayMedia() to capture a browser tab as a video stream, the region capture API allows you to crop the video to the bounding box of a given element. In contrast to the element capture API, any content that overlays that element is also captured.
The object-view-box CSS property crops and zooms to an inset area of an image.
The DOMException, Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, and URIError objects are serializable. You can call structuredClone() on an error object or pass it to a worker using postMessage().
Streams are transferable objects, which can be moved between contexts such as windows and workers.
The window.queryLocalFonts() method returns an array of locally-installed fonts, each represented by a FontData object.