2024
30 featuresThe ::target-text pseudo-element allows you to style text highlighted by a URL text fragment such as #:~:text=snippet.
Garbage collection tracks references for better memory management with garbage-collected languages running in WebAssmbly.
The @page CSS at-rule sets the page-specific dimensions and margins for content such as printed documents, ebooks, or slides.
Tail call optimization discards a caller frame and replaces the call with a jump instruction.
The ruby-align CSS property sets the spacing and alignment of ruby annotation text when it does not fill its available space.
The ruby-position CSS property sets the position of a ruby annotation in relation to its base text. Annotations can display over, under, or interleaved with the base text.
The scrollbar-gutter CSS property reserves space for the scrollbar, preventing unwanted layout changes as the scrollbar appears and disappears.
The scrollbar-width CSS property sets the width of the scrollbar.
The drawingBufferColorSpace and unpackColorSpace properties of WebGLRenderingContext sets the color representation for the buffer and imported textures, such as "srgb" or "display-p3".
The drawingBufferColorSpace and unpackColorSpace properties of WebGL2RenderingContext sets the color representation for the buffer and imported textures, such as "srgb" or "display-p3".
The fetch() priority option and the fetchpriority HTML attribute give hints to the browser about which requests to do before other requests of the same type.
The requestVideoFrameCallback() method for <video> schedules a function that runs with the next video frame. It is similar to requestAnimationFrame(), but for video.
The text-wrap CSS property sets how lines break in text that overflows the container. It is a shorthand for text-wrap-style and text-wrap-mode.
Text fragments are URL fragments on the form #:~:text=snippet and link to a snippet of text within a page. The browser may scroll, highlight, or otherwise bring that text to the reader's attention.
HTTP/3 is a major revision of the HTTP network protocol, providing improved performance and efficiency by using QUIC as the underlying transport protocol.
The from keyword for color functions (color(), hsl(), oklch(), etc.) creates a new color based on a given color by modifying the values of the input color. Also known as relative color syntax (RCS).
A typed function reference can be called directly.
The backdrop-filter CSS property applies graphical effects such as blurring or color shifting to the area behind an element.
The navigator.cookieEnabled property is a boolean for whether the browser accepts or ignores attempts to write cookie data.
The getHTML() method of Element and ShadowRoot objects serializes an element's DOM to an HTML string.
The optional willReadFrequently parameter of a canvas's getContext() method permits the browser to optimize for frequent getImageData() calls by avoiding hardware acceleration. Also known as multiple readback.
Multiple <details> elements which use the same name attribute are mutually exclusive. When one member of the group is opened, all other members are closed.
The @starting-style CSS at-rule sets the starting values for properties that are transitioning when the target element's style is first updated.
The transition-behavior: allow-discrete CSS declaration allows transitions for properties whose animation behavior is discrete. Such properties can't be interpolated and swap from their start value to the end value at 50%.
The font-size-adjust CSS property preserves apparent text size, regardless of the font used, by scaling fonts to the same size with respect to a specific metric, such as x-height. This can help make fallback fonts look the same size.
The / notation in content CSS property values adds alternative text to generated content. For example, the content: url('upvote-icon.svg') / 'Upvote' declaration adds accessible 'Upvote' text to the SVG icon. Also known as alternate text.
The CSS.registerProperty() static method and the @property CSS at-rule register custom properties for which types and behaviors can be defined.
The resize() method of an ArrayBuffer and the grow() method of a SharedArrayBuffer, constructed with the maxByteLength option, changes the size of the buffer in place.
The navigator.clipboard API asynchronously reads and writes to the system clipboard.
Gradient interpolation controls how the colors between gradient stops are calculated in CSS. For example, linear-gradient(to right in oklch longer hue, red, red); calculates in the oklch color space, with the hue going all the way around the hue circle from red back to red.