Baseline Features
Widely Available
Newly Available
Limited Availability
Zstandard compression
Zstandard or zstd is fast lossless compression algorithm. When used as a content...
zoom
The zoom CSS property scales the size of an element. Unlike the transform proper...
XMLHttpRequest
The XMLHttpRequest API makes HTTP requests. It's the predecessor to fetch(). Als...
Window management
The window.getScreenDetails() method gets information about the screens on a dev...
Window
The window global object represents a browser tab or iframe and its relationship...
Wheel events
The wheel event fires when the user moves a mouse wheel or similar spatially rot...
WebVTT regions
WebVTT regions set the areas of the video where captions or subtitles should be ...
WebVTT cue settings
The VTTCue API updates various aspects of cues dynamically, such as alignment, s...
WebVTT cue alignment
The WebVTT cue alignment settings control which part of the cue is aligned with ...
WebVTT
WebVTT is a captions and subtitles format. WebVTT files are loaded using the <tr...
WebVR
The navigator.getVRDisplays() API represents virtual reality (VR) devices, inclu...
WebUSB
The WebUSB API exposes USB compatible devices to web pages.
WebTransport
The WebTransport API transmits data between a client and a server, by using the ...
WebSockets
The WebSocket API opens a two-way communication channel between the user's brows...
WebP
The WebP image format is a raster graphics file format that supports animation, ...
WebNN
The WebNN API constructs and executes computational graphs of neural networks by...
WebHID
The WebHID API provides access to Human Interface Devices (HID) that are connect...
WebGPU
The navigator.gpu API performs operations such as rendering and computation on d...
Desynchronized WebGL2 canvas
The optional desynchronized parameter of a canvas's getContext() method permits ...
Color management for WebGL2
The drawingBufferColorSpace and unpackColorSpace properties of WebGL2RenderingCo...
WebGL2
The WebGL2RenderingContext API is the "webgl2" rendering context for the <canvas...
WebCodecs
The WebCodecs API provides low-level access to individual video frames and chunk...
Web NFC
The NDEFReader API reads and writes messages to near-field communication (NFC) t...
Web MIDI
The Web MIDI API enables selecting MIDI input and output devices and sending and...
Locks
The navigator.locks API coordinates work with shared resources through mutually ...
Web Bluetooth
The Web Bluetooth API enables selecting and communicating with nearby Bluetooth ...
Visual viewport API
The visualViewport API provides a way to query and modify the user-visible viewp...
Virtual keyboard
The navigator.virtualKeyboard API inspects and controls on-screen virtual keyboa...
Small, large, and dynamic viewport units
The sv*, lv*, and dv* CSS viewport units are relative to the smallest, largest, ...
Viewport segments
The viewport segment CSS environment variables and media features, and the viewp...
Vibration
The navigator.vibrate() method makes a tactile alert, if the device is equipped ...
User agent sniffing
The navigator.userAgent property is the user agent string for the current browse...
URLPattern
The URLPattern API creates patterns that can be matched against URLs or URL comp...
URL.canParse()
The URL.canParse() static method checks whether a URL can be parsed into a valid...
URL
A URL object represents a web address, like https://example.com/, and parts of t...
User agent client hints
The Sec-CH-UA HTTP request header and the navigator.userAgentData API expose bro...
translate
The translate HTML attribute marks whether an element's text should be translate...
transform-box
The transform-box CSS property sets the position and dimensions of the reference...
Transferable ArrayBuffer
The transfer() and transferToFixedLength() methods of ArrayBuffer move a buffer ...
Touch events
Touch events touchstart, touchmove, touchend, and touchcancel fire when users in...
touch-action
The touch-action CSS property sets whether an element on a touch screen can be p...
title (attribute)
The title global HTML attribute sets information about an element, such as a nam...
text-size-adjust
The text-size-adjust CSS property disables or modifies the browser's default tex...
Text encoding and decoding
The TextEncoder API transforms a stream of code points into a byte stream with U...
text-emphasis
The text-emphasis CSS property sets position and style for text emphasis marks, ...
text-decoration
The text-decoration CSS property sets the style and color of decorative lines in...
text-autospace
The text-autospace CSS property sets whether and how to insert spaces in inter-s...
SVG 1.1 (discouraged)
The SVG 1.1 image format has several components that were excluded from SVG 2, s...
Summarizer
The Summarizer API uses an on-device language model to summarize text.
structuredClone()
The structuredClone() global method creates a deep copy of an object. Values tha...
spellcheck
The spellcheck global HTML attribute sets whether the browser may check an eleme...
Speculation rules
Speculation rules are hints to the browser to proactively download pages in the ...
Sourcemap header
The Sourcemap HTTP response header links generated code to a source map, so the ...
single-color-gradients
Shared storage locks
The withLock option to set(), append(), delete(), clear(), and batchUpdate() met...
navigator.share()
The navigator.share() method invokes the device's native sharing mechanism and p...
setTimeout()
The setTimeout() global function executes provided code after a given duration o...
setInterval
The setInterval() global function repeatedly executes provided code on a given d...
Serializable errors
The DOMException, Error, EvalError, RangeError, ReferenceError, SyntaxError, Typ...
Web serial
The navigator.serial API communicates with devices over serial ports, such as mi...
scroll-initial-target
The scroll-initial-target: nearest CSS declaration sets the initial scroll posit...
Scroll methods on elements
The scroll() and scrollBy() methods change the scroll position of overflow conte...
Screen wake lock
The navigator.wakeLock.request("screen") API prevents the device's screen from d...
Screen orientation lock
The screen.orientation.lock() method prevents changes to the screen orientation,...
Screen orientation
The screen.orientation API gets information about the orientation of the viewpor...
Screen capture
The navigator.mediaDevices.getDisplayMedia() method asks the user to choose a sc...
Screen
The window.screen property contains information about the screen of the output d...
Scheduler API
The scheduler API provides a way to prioritize all tasks belonging to an applica...
Save-Data
Browsers send the Save-Data HTTP request header when the user turns on a data-sa...
Sanitizer API
The Document.parseHTML() static method and the setHTML() method of Element and S...
Resize observer
The ResizeObserver API observes and reacts to changes in the size of DOM element...
Resizable buffers
The resize() method of an ArrayBuffer and the grow() method of a SharedArrayBuff...
requestIdleCallback()
The requestIdleCallback() API queues a function that runs in idle browser time, ...
requestAnimationFrame()
The requestAnimationFrame() method schedules a function that runs before the nex...
Reporting API
The Reporting-Endpoints HTTP header and ReportingObserver() API send reports of ...
Remote playback
The Remote Playback API initiates and controls playback of media on connected re...
registerProtocolHandler
The navigator.registerProtocolHandler() method declares a site's ability to hand...
Registered custom properties
The CSS.registerProperty() static method and the @property CSS at-rule register ...
Region capture
When using navigator.mediaDevices.getDisplayMedia() to capture a browser tab as ...
RegExp static properties
The RegExp object has several static properties to access the input and results ...
RegExp.escape()
The RegExp.escape() static method takes a string and replaces any characters tha...
RegExp compile()
The compile() method of RegExp objects recompiles an existing regular expression...
Regular expressions
The RegExp object represents a regular expression, a notation for matching text ...
Referrer policy
The Referrer-Policy HTTP header and referrerpolicy HTML attributes control wheth...
Push messages
The Push API subscribes to and receives server-initiated messages. Subscribers r...
__proto__
The __proto__ property of objects partially exposes the prototype of an object.
Profiler
The Profiler API records data about the execution of a page, which you can send ...
Private network access
The Access-Control-Request-Private-Network: true and Access-Control-Allow-Privat...
Private click measurement
The attributionsourceid and attributiondestination attributes for <a> elements m...
Presentation API
The Presentation API shows or controls content on another display, such as a net...
Preloading responsive images
The imagesrcset and imagesizes attributes with the rel="preload" attribute for t...
Portals
The <portal> HTML element embeds another page into the current page as a non-int...
Pointer lock
Provides access to raw mouse movement by locking the target of mouse events to a...
Pointer Events
Pointer events, such as pointerdown, and the PointerEvent API, represent general...
ping
The ping attribute for <a> elements sets a URL to send a POST request to when th...
Picture-in-picture (video)
The picture-in-picture API allow websites to create a floating, always-on-top vi...
Periodic background sync
The periodic background synchronization API fires a recurring periodicsync event...
pdfViewerEnabled
The navigator.pdfViewerEnabled property is a boolean for whether the browser nav...
path()
The path() CSS shape function creates a shape for clip-path, shape-outside, and ...
Unsanitized HTML parsing methods
The Document.parseHTMLUnsafe() static method parses HTML into a DOM tree, while ...
Page visibility
The document.visibilityState and document.hidden properties tell you whether the...
Page transition events
The pageshow and pagehide transition events fire when a document loads or unload...
Page lifecycle
The page lifecycle API helps you safely handle page suspensions or discards from...
Outlines
The outline-color, outline-style, and outline-width and outline-offset CSS prope...
outline
The outline CSS shorthand sets the color, style, and width of a line around an e...
Online status
The navigator.onLine property is a boolean for whether the browser is connected ...
Observable
The when() method on a event target returns an Observable object, which provides...
object-position
The object-position CSS property places images, videos, and other replaced eleme...
Object
Objects in JavaScript are collections of key-value pairs.
Object.hasOwn()
The Object.hasOwn() static method checks whether an object has a given property....
object-fit
The object-fit CSS property sets how images, videos, and other replaced elements...
numeric-seperators
Notifications from service workers and installed apps
Notifications via service worker registration's showNotification() method, sent ...
Notifications
The Notification() constructor shows a message to the user, typically using the ...
Network Information
The navigator.connection API provides information about the network connection a...
Navigator
The window.navigator API is a generic global object, under which many other, mor...
Navigation API
The navigation API initiates, intercepts, or modifies browser navigation actions...
Mouse events
Mouse events, such as click, mousedown, or mousemove, fire when users interact w...
<link rel="modulepreload">
The rel="modulepreload" attribute for the <link> HTML element indicates that a m...
Min and max width and height
The min-width, min-height, max-width, and max-height CSS properties set the mini...
MediaStream recording
The MediaRecorder API captures data generated by MediaStream or HTMLMediaElement...
MediaController
The playback of multiple <video> or <audio> elements can be coordinated by a Med...
Media source
The MediaSource API is a custom data source for media elements commonly used for...
Media session
The navigator.mediaSession API integrates with platform UI for media playback. I...
Media playback quality
The getVideoPlaybackQuality() method of HTMLVideoElement returns metrics that ca...
Media capture
The navigator.mediaDevices.getUserMedia() API requests access to devices that pr...
Media capabilities
The navigator.mediaCapabilities API queries the encoding and decoding abilities ...
MathML
MathML, or the Mathematical Markup Language, describes mathematical notation, su...
matchMedia
The window.matchMedia() method checks whether a media query applies to the docum...
Managed media source
The ManagedMediaSource API is a MediaSource where the browser manages the memory...
Location
The location global object represents the current page's address. You can use it...
Local network access
The "local-network-access" user permission (and certain actions that imply this ...
Local fonts
The window.queryLocalFonts() method returns an array of locally-installed fonts,...
Lazy-loading images and iframes
The loading="lazy" attribute for <img> and <iframe> elements blocks loading the ...
<link rel="preload">
The rel="preload" attribute for the <link> HTML element requests resources, such...
<link rel="prefetch">
The rel="prefetch" attribute for the <link> HTML element is a hint to the browse...
<link rel="preconnect">
The rel="preconnect" attribute for the <link> HTML element is a hint to the brow...
<link rel="expect">
The rel="expect" attribute for the <link> HTML element is a hint to the browser ...
<link rel="dns-prefetch">
The rel="dns-prefetch" attribute for the <link> HTML element is a hint to the br...
Language
The navigator.language property is a string representing the preferred language ...
lang
The lang global HTML attribute defines the language of an element. It's used by ...
Keyboard map
The navigator.keyboard.getLayoutMap() API returns a map from key codes to human ...
Keyboard lock
The navigator.keyboard.lock() API allows you to capture keys that are normally r...
Keyboard events
The keydown and keyup events fire for each key press (or, with modifier keys, a ...
JPEG XL
The JPEG XL image format is a raster graphics file format that supports animatio...
isSecureContext
The isSecureContext global property is a boolean for whether the current browsin...
isInputPending()
The navigator.scheduling.isInputPending() method checks if there are pending inp...
Error.isError()
The Error.isError() static method checks whether a value is an Error object.
Invoker commands
The command and commandfor attributes for the <button> HTML element dispatch an ...
Intersection observer visibility tracking
The trackVisibility parameter for the IntersectionObserver constructor enables t...
Intersection observer
The IntersectionObserver API asynchronously observes changes in the intersection...
interactivity
The interactivity: inert CSS declaration makes an element and its descendants in...
Insertable streams for MediaStreamTrack
The MediaStreamTrackProcessor and MediaStreamTrackGenerator APIs modify the cont...
inputmode
The inputmode global HTML attribute gives a hint about what type of data is to b...
input (event)
The input event fires when a form control changes or an element with the content...
Ink
The navigator.ink API uses the system compositor to draw to a <canvas> element a...
IndexedDB
The IndexedDB API is a local storage transactional object database.
Import maps
A <script type="importmap"> HTML element provides an import map as a JSON string...
Import assertions
Module import … assert { type: "json" } and import … assert { type: "css" } Java...
ImageBitmapRenderingContext
The ImageBitmapRenderingContext API is the "bitmaprenderer" rendering context fo...
srcdoc
The srcdoc attribute for the <iframe> HTML element sets a string of HTML to embe...
Sandboxed iframes
The sandbox attribute for the <iframe> HTML element sets many security restricti...
Idle detection
The IdleDetector API is used to notify a webpage of the user's idle, active, and...
HTTP/3
HTTP/3 is a major revision of the HTTP network protocol, providing improved perf...
HTTP/2
The HTTP/2 protocol is a major revision of the HTTP network protocol, providing ...
HTTP/1.1
HTTP/1.1 is a network protocol used by browsers and servers. It has been superse...
HTTP authentication
The Authorization and WWW-Authenticate headers authenticate a user with a server...
History
The window.history API manipulates the browser session history, from navigations...
Custom highlights
Custom highlights style arbitrary text ranges, without adding extra elements to ...
hashchange
The hashchange event fires when the URL fragment identifier (the part of the URL...
hardwareConcurrency
The navigator.hardwareConcurrency property is the number of logical processors a...
Hanging punctuation
The hanging-punctuation CSS property puts punctuation characters outside of the ...
Global privacy control
The Sec-GPC request header indicates that the user does not consent to a website...
Map getOrInsert()
The getOrInsert() and getOrInsertComputed() methods of Map objects get a value, ...
getBoxQuads()
The getBoxQuads() method, when called on a document, element, pseudo-element, or...
Geolocation
The navigator.gelocation API requests the user's latitude, longitude, heading, a...
Fullscreen API
The fullscreen API makes a specific element fill the whole screen and hides most...
Font loading
The document.fonts API dynamically loads custom fonts and tracks when fonts are ...
System font
The font-family: system-ui CSS declaration uses the operating system default fon...
Math font family
The font-family: math CSS declaration uses the browser default font face for dis...
Focus events
Focus events, such as focus and blur, fire when an element gets or loses focus.
File API
The File API represents and reads from file data and metadata. Typically, you ge...
fetchLater
The fetchLater() method requests a deferred fetch sent at an unknown time. The b...
Fetch upload streams
A fetch() request uploads a stream of data to the server when a request's body p...
Fetch priority
The fetch() priority option and the fetchpriority HTML attribute give hints to t...
Fetch metadata request headers
The Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site, and Sec-Fetch-User HTTP head...
Fetch
The fetch() method makes asynchronous HTTP requests.
<fencedframe>
The <fencedframe> element embeds another HTML page into the current page in a mo...
Eyedropper
The EyeDropper API opens an eyedropper tool, a color picker that allows users to...
window.external
The window.external.AddSearchProvider() and window.external.IsSearchProviderInst...
Explicit resource management
The using and await using declarations and the dispose and asyncDispose symbols ...
Events
The Event API and the addEventListener() method on objects that receive events (...
Error cause
The cause property of errors records the specific original cause of the error, p...
enterkeyhint
The enterkeyhint global HTML attribute sets the label for a virtual keyboard's E...
Encrypted media extensions
The mediaKeys property of HTMLMediaElement and the navigator.requestMediaKeySyst...
document.elementFromPoint() and document.elementsFromPoint()
The document.elementFromPoint() and document.elementsFromPoint() methods find th...
Element capture
The restrictTo() method on screen capture media tracks limits capture to a speci...
element()
The element() CSS function creates a live-updating image from an HTML element th...
EditContext
The EditContext API allows you to build rich text editors that support advanced ...
Early data
TLS 1.3 sessions may be resumed more quickly by sending so-called early data to ...
Drag and Drop
The Drag and Drop API lets users drag and drop elements and external files such ...
download
The download attribute for <a> elements loads the target URL as a file to be sav...
DOM Geometry
The DOMMatrix, DOMPoint, DOMQuad and DOMRect APIs represent points, rectangles, ...
document.write()
The document.open(), document.write(), document.writeln(), and document.close() ...
Document picture-in-picture
The document picture-in-picture API creates an always-on-top window from arbitra...
Document colors
A document's bgColor, fgColor, alinkColor, linkColor, and vlinkColor properties ...
document.caretPositionFromPoint()
The document.caretPositionFromPoint() method finds an insertion point, represent...
dirname
The dirname attribute of <textarea> and <input> HTML elements includes the field...
Digital goods
The window.getDigitalGoodsService API connects to stores or billing services for...
devicePixelRatio
The window.devicePixelRatio property is the ratio of the size of one CSS pixel t...
Device posture
The device posture API and the device-posture CSS media feature reflect the phys...
Device memory
The navigator.deviceMemory property is the approximate amount of device memory, ...
toGMTString()
The toGMTString() method of Date objects is an alias to the toUTCString() method...
Dataset
The dataset API attaches and accesses custom data on elements, using either the ...
Data URLs
Data URLs are URLs that start with the data: scheme and which directly contain d...
Custom ellipses
The text-overflow CSS property with a string value sets the string representing ...
createImageBitmap
The createImageBitmap() global method creates an ImageBitmap object from a sourc...
corner-shape
The corner-shape CSS property sets the shape of an element's corners when using ...
contenteditable="plaintext-only"
The contenteditable="plaintext-only" global HTML attribute allows the user to ed...
contenteditable
The contenteditable global HTML attribute allows the user to edit the content of...
Content Index
The Content Index API allows developers to register their offline enabled conten...
Contact picker
The navigator.contacts API allows you to ask users to share limited details abou...
Constructed stylesheets
The CSSStyleSheet constructor creates a new stylesheet which can be shared betwe...
Compression streams
The CompressionStream and DecompressionStream APIs compress and decompress data ...
Compression Dictionary Transport
Compression Dictionary Transport is a mechanism for using designated HTTP respon...
Composition events
The compositionstart, compositionupdate, and compositionend events fire when an ...
CloseWatcher
The CloseWatcher API listens and responds to close requests on in-page component...
Clearing site data
The Clear-Site-Data header deletes browsing data (such as cookies, storage, or c...
checkVisibility()
The checkVisibility() method checks if an element is potentially visible, with o...
Change event
The change event for <input>, <select>, and <textarea> elements fires when the u...
Brotli compression
Brotli is a lossless data compression algorithm. When used as a content encoding...
box-decoration-break
The box-decoration-break CSS property sets whether box decorations, such as bord...
beforeunload
The beforeunload event is fired when the current window is about to be unloaded....
::before and ::after
The ::before and ::after CSS pseudo-elements select inline boxes preceding and f...
Beacons
The navigator.sendBeacon() method asynchronously sends an HTTP POST request with...
Battery status
The navigator.getBattery() API obtains information about the device's battery, i...
baseline-source
The baseline-source CSS property controls how inline-level boxes with multiple l...
Base64 encoding and decoding
The atob() and btoa() global functions encode and decode strings to and from bas...
BarProp
The visible property of the window.locationbar, window.menubar, window.personalb...
Barcode detector
The BarcodeDetector API recognizes various barcode formats in images.
Badging
The navigator.setAppBadge() method allows installed web applications to display ...
Background sync
The background synchronization API registers a service worker callback to run on...
Background fetch
Background fetch downloads data in the background even when the web page is clos...
AVIF
AVIF (AV1 Image File Format) is an image format based on the AV1 video format.
autofocus
The autofocus HTML attribute gives focus to an element on page load.
autocorrect
The autocorrect global HTML attribute controls whether to automatically correct ...
autocapitalize
The autocapitalize global HTML attribute sets the virtual keyboard capitalizatio...
Audio session
The navigator.audioSession API controls how audio playback interacts with other ...
Attribution reporting
The Attribution Reporting API measures when an ad click or view leads to a conve...
Atomics.pause()
The Atomics.pause() static method gives a hint to the CPU that the code calling ...
ARIA attribute reflection
WAI-ARIA attributes have corresponding properties on Element and ElementInternal...
Anchor positioning
Anchor positioning places an element based on the position of another element. F...
Alerts
The window.alert(), window.confirm(), and window.prompt() methods open modal dia...
Accessor methods
The __defineGetter__() and __defineSetter__() methods of objects bind a function...
accesskey
The accesskey global HTML attribute gives a hint for generating a keyboard short...
AbortSignal.any()
The AbortSignal.any() static method combines an iterable of abort signals into a...
AbortController and AbortSignal
The AbortController and AbortSignal APIs allow you to cancel an ongoing operatio...
Abortable fetch
If you construct a fetch request with an AbortSignal, you can cancel the request...
XSLT
The XSLTProcessor API transforms XML documents into new XML or HTML documents, u...
XPath
The document.evaluate() method selects elements in an HTML or XML document based...
Shared worker
The SharedWorker() constructor runs a script in its own thread, which can send a...
Service workers
The service worker of a website is a script that runs in its own thread and whic...
requestAnimationFrame() in workers
The requestAnimationFrame() method in workers schedules a function that runs bef...
Dedicated workers
The Worker() constructor runs a script in its own thread, which can send and rec...
Lighting estimation
The XRLightProbe and XRLightEstimate objects represent real-world environmental ...
Layers (WebXR)
WebXR layer types, such as XRCylinderLayer, XRCylinderLayer, XREquirectLayer, XR...
Hit test
The getHitTestResults() method of an XRFrame object helps place objects in an au...
Hand input
An XRHand object, from the hand attribute of an XRInputSource object, represents...
Gamepad (WebXR)
The gamepad attribute of an XRInputSource represents an XR input device, such as...
DOM overlays for WebXR
A DOM overlay shows 2D DOM content as an interactive, transparent layer on top o...
WebXR
The navigator.xr API represents the browser's virtual reality or augmented reali...
Depth sensing
An XRDepthInformation object represents a measurement of the distance from the u...
Raw camera access for WebXR
The XRView.camera property provides direct access to pose-synchronized camera im...
Augmented reality
The "immersive-ar" value for navigator.xr.requestSession() starts an augmented r...
Anchors (WebXR)
An XRAnchor object keeps track of a pose that is fixed relative to the real worl...
WebRTC statistics
The RTCPeerConnection.getStats(), RTCRtpSender.getStats(), and RTCRtpReceiver.ge...
WebRTC SCTP information
The sctp object on RTCPeerConnection represents the negotiated SCTP transport. S...
WebRTC encoded transform
The WebRTC encoded transform API allows you to modify audio and video streams in...
WebRTC
The WebRTC API establishes real-time communication channels directly between bro...
SharedArrayBuffer in WebGL
SharedArrayBuffer objects can be used in WebGL APIs that previously only worked ...
Desynchronized WebGL canvas
The optional desynchronized parameter of a canvas's getContext() method permits ...
Color management for WebGL
The drawingBufferColorSpace and unpackColorSpace properties of WebGLRenderingCon...
WebGL
The WebGLRenderingContext API is the "webgl" rendering context for the <canvas> ...
OES_draw_buffers_indexed WebGL extension
The OES_draw_buffers_indexed extension for WebGL 2.0 contexts allows you to cont...
WEBGL_multi_draw WebGL extension
The WEBGL_multi_draw extension for WebGL 1.0 and 2.0 contexts renders more than ...
WEBGL_lose_context WebGL extension
The WEBGL_lose_context extension for WebGL 1.0 and 2.0 contexts simulates losing...
WEBGL_draw_buffers WebGL extension
The WEBGL_draw_buffers extension for WebGL 1.0 contexts enables a fragment shade...
WEBGL_depth_texture WebGL extension
The WEBGL_depth_texture extension for WebGL 1.0 contexts defines 2D depth and de...
WEBGL_debug_shaders WebGL extension
The WEBGL_debug_shaders extension for WebGL 1.0 and 2.0 contexts adds the getTra...
WEBGL_debug_renderer_info WebGL extension
The WEBGL_debug_renderer_info extension for WebGL 1.0 and 2.0 contexts exposes i...
WEBGL_compressed_texture_s3tc_srgb WebGL extension
The WEBGL_compressed_texture_s3tc_srgb extension for WebGL 1.0 and 2.0 contexts ...
WEBGL_compressed_texture_s3tc WebGL extension
The WEBGL_compressed_texture_s3tc extension for WebGL 1.0 and 2.0 contexts adds ...
WEBGL_compressed_texture_pvrtc WebGL extension
The WEBGL_compressed_texture_pvrtc extension for WebGL 1.0 and 2.0 contexts adds...
WEBGL_compressed_texture_etc1 WebGL extension
The WEBGL_compressed_texture_etc1 extension for WebGL 1.0 and 2.0 contexts adds ...
WEBGL_compressed_texture_etc WebGL extension
The WEBGL_compressed_texture_etc extension for WebGL 1.0 and 2.0 contexts adds m...
WEBGL_compressed_texture_astc WebGL extension
The WEBGL_compressed_texture_astc extension for WebGL 1.0 and 2.0 contexts adds ...
WEBGL_color_buffer_float WebGL extension
The WEBGL_color_buffer_float extension for WebGL 1.0 contexts adds the 32-bit fl...
OVR_multiview2 WebGL extension
The OVR_multiview2 extension for WebGL 2.0 contexts renders into multiple views ...
OES_vertex_array_object WebGL extension
The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array o...
OES_texture_half_float_linear WebGL extension
The OES_texture_half_float_linear extension for WebGL 1.0 contexts adds linear f...
OES_texture_half_float WebGL extension
The OES_texture_half_float extension for WebGL 1.0 contexts adds texture formats...
OES_texture_float_linear WebGL extension
The OES_texture_float_linear extension for WebGL 1.0 and 2.0 contexts adds linea...
OES_texture_float WebGL extension
The OES_texture_float extension for WebGL 1.0 contexts adds floating-point pixel...
OES_standard_derivatives WebGL extension
The OES_standard_derivatives extension for WebGL 1.0 contexts adds the GLSL deri...
OES_fbo_render_mipmap WebGL extension
The OES_fbo_render_mipmap extension for WebGL 1.0 contexts attaches any level of...
OES_element_index_uint WebGL extension
The OES_element_index_uint extension for WebGL 1.0 contexts adds support for gl....
KHR_parallel_shader_compile WebGL extension
The KHR_parallel_shader_compile extension for WebGL 1.0 and 2.0 contexts checks ...
EXT_texture_norm16 WebGL extension
The EXT_texture_norm16 extension to WebGL 2.0 contexts adds 16 bit signed normal...
EXT_texture_filter_anisotropic WebGL extension
The EXT_texture_filter_anisotropic extension for WebGL 1.0 and 2.0 contexts adds...
EXT_texture_compression_rgtc WebGL extension
The EXT_texture_compression_rgtc extension for WebGL 1.0 and 2.0 contexts adds R...
EXT_texture_compression_bptc WebGL extension
The EXT_texture_compression_bptc extension for WebGL 1.0 and 2.0 contexts adds t...
EXT_sRGB WebGL extension
The EXT_sRGB extension for WebGL 1.0 contexts adds sRGB support to textures and ...
EXT_shader_texture_lod WebGL extension
The EXT_shader_texture_lod extension for WebGL 1.0 and 2.0 contexts adds texture...
EXT_frag_depth WebGL extension
The EXT_frag_depth extension for WebGL 1.0 and 2.0 contexts adds setting the dep...
EXT_float_blend WebGL extension
The EXT_float_blend extension for WebGL 1.0 and 2.0 contexts adds 32-bit floatin...
EXT_disjoint_timer_query WebGL extension
The EXT_disjoint_timer_query extension for WebGL 1.0 contexts measures the durat...
EXT_color_buffer_half_float WebGL extension
The EXT_color_buffer_half_float extension for WebGL 1.0 and 2.0 contexts renders...
EXT_color_buffer_float WebGL extension
The EXT_color_buffer_float extension for WebGL 2.0 contexts adds color-renderabl...
EXT_blend_minmax WebGL extension
The EXT_blend_minmax extension for WebGL 1.0 contexts adds two blend equations, ...
ANGLE_instanced_arrays WebGL extension
The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same objec...
WebDriver BiDi
WebDriver BiDi is a bidirectional protocol that allows a WebDriver client and a ...
WebDriver
The WebDriver protocol allows out-of-process programs to inspect and control bro...
Typed function references (WebAssembly)
A typed function reference can be called directly.
Threads and atomics (WebAssembly)
Threads in WebAssembly run code in parallel, while atomic memory instructions ca...
Tail call optimization (WebAssembly)
Tail call optimization discards a caller frame and replaces the call with a jump...
String builtins (WebAssembly)
The WebAssembly builtin string functions mirror a subset of the JavaScript Strin...
Relaxed-width SIMD (WebAssembly)
Relaxed SIMD (Single Instruction Multiple Data) introduces local non-determinism...
Fixed-width SIMD (WebAssembly)
128-bit SIMD (Single Instruction Multiple Data) performs one instruction on mult...
Sign extension operators (WebAssembly)
Sign-extension operator instructions extend the width of 8-bit, 16-bit, and 32-b...
Reference types (WebAssembly)
The externref type can be both a value type and a table element type, while func...
Non-trapping float-to-int conversion (WebAssembly)
Saturating floating-point to integer conversion operators return the maximum or ...
Import and export of mutable globals (WebAssembly)
Mutable global variables are importable and exportable.
Multi-value (WebAssembly)
Instructions and blocks can produce multiple result values.
Multi-memory (WebAssembly)
A single module in WebAssembly can have multiple memories.
Memory64 (WebAssembly)
Instructions accept 64-bit memory indexes.
Garbage collection (WebAssembly)
Garbage collection tracks references for better memory management with garbage-c...
Extended constant expressions (WebAssembly)
The i32.add, i32.sub, i32.mul, i64.add, i64.sub, and i64.mul operations extend c...
Exception references with exnref (WebAssembly)
When caught, an exception is reified into an exception reference, a value of the...
Exception handling (WebAssembly)
Exceptions break the normal control flow of execution to represent exceptional b...
Bulk memory operations (WebAssembly)
Bulk memory operations, such as copy and init, mirror the efficiency of native m...
BigInt to i64 conversion (WebAssembly)
Integer values pass bidirectionally between JavaScript and WebAssembly, converte...
WebAssembly
The WebAssembly.instantiate() and WebAssembly.instantiateStreaming() global stat...
Imperative slot assignment
The assign() method for <slot> elements assigns nodes to the slot, as an alterna...
Web Audio
The Web Audio API creates graphs of audio nodes that handle sound inputs, synthe...
OfflineAudioContext
The OfflineAudioContext API represents an audio processing graph that writes to ...
AudioWorklet
The AudioWorklet API runs module code in a separate thread, specifically for non...
View transitions
View transitions allow you to create animated visual transitions between differe...
view-transition-class
The view-transition-class CSS property sets a name that can be used to apply sty...
Cross-document view transitions
The @view-transition CSS rule sets whether a document opts-in to transitions bet...
Active view transition
The :active-view-transition CSS pseudo-class matches the root element when a vie...
::target-text
The ::target-text pseudo-element allows you to style text highlighted by a URL t...
Scroll to text fragment
Text fragments are URL fragments on the form #:~:text=snippet and link to a snip...
SVG filters
The <filter> SVG element applies custom effects such as color manipulation, blur...
SVG
The SVG image format, represented by the <svg> element, creates two-dimensional ...
Opacity (SVG)
The fill-opacity, and stroke-opacity SVG attributes and CSS properties control t...
context-fill and context-stroke
The context-fill and context-stroke CSS values are used with fill and stroke in ...
TransformStream transformer cancel() method
The cancel() method of a TransformStream transformer cleans up resources when th...
Transferable streams
Streams are transferable objects, which can be moved between contexts such as wi...
Streams
The streams API creates, composes, and consumes continuously generated data.
ReadableStream.from()
The ReadableStream.from() static method converts an iterable or async iterable o...
Readable byte streams
A ReadableStream constructed with { type: "bytes" } reads bytes from a stream wi...
Asynchronously iterable streams
Asynchronous iteration of a stream allows you to use for await … of loops to ite...
Storage manager
The navigator.storage API provides information about the availability and persis...
Storage buckets
The navigator.storageBuckets API allows you to organize locally stored data into...
Storage access
The document.requestStorageAccess() method allows content in iframes to request ...
Shared storage
The sharedStorage API stores data to a shared space where the data can then be p...
Non-cookie storage access
Non-cookie storage access extends the requestStorageAccess() API to let content ...
localStorage and sessionStorage
The localStorage and sessionStorage APIs store data as key-value pairs. While lo...
Speech synthesis
The SpeechSynthesis API converts text to speech with artificial voices.
Speech recognition grammar
The SpeechRecognition.grammars property of the Web Speech API represents a set o...
Speech recognition
The SpeechRecognition API converts audio into text using the device's speech rec...
speak-as
The speak-as CSS property sets how any element's content is spoken. Not to be co...
speak
The speak CSS property sets whether or not text should be spoken.
Virtual sensors
The CreateVirtualSensor WebDriver command creates a virtual sensor for testing a...
Orientation Sensor
The AbsoluteOrientationSensor and RelativeOrientationSensor APIs describe the ph...
Magnetometer
The Magnetometer API reads magnetic field sensor data from the device's magnetom...
Gyroscope
The Gyroscope API reads the angular velocity of a device in three dimensions.
Device orientation events
The DeviceMotion and DeviceOrientation events report the movement and orientatio...
Ambient light sensor
The AmbientLightSensor API returns the current light level in lux of the ambient...
Accelerometer
The Accelerometer, LinearAccelerationSensor and GravitySensor APIs read the acce...
Selection
The Selection API controls and modifies user text selections within the page.
Selection composed ranges
The window.getSelection().getComposedRanges() method returns ranges that represe...
Web Cryptography
The Web Cryptography API performs low-level cryptographic operations, such as en...
User activation
The navigator.userActivation API reveals whether the user has interacted with th...
Upgrade insecure requests
The Upgrade-Insecure-Requests HTTP request header tells the server that the resp...
Trusted types
Trusted types allow you to lock down insecure parts of the DOM API and prevent c...
Permissions
The navigator.permissions API checks whether a permission, such as access to geo...
Mixed content handling
When a document is loaded over HTTPS, browsers ensure that none of the document'...
Credentialless iframes
The credentialless attribute for the <iframe> HTML element loads third-party con...
HTTP Strict Transport Security
The Strict-Transport-Security HTTP response header informs browsers that the sit...
Content Security Policy (CSP)
Content Security Policy (CSP) helps to mitigate certain security threats, includ...
CORS
Cross-Origin Resource Sharing is an HTTP-header based mechanism that allows a se...
scrollend
The scrollend event fires when an element or document has finished scrolling.
scrollbar-width
The scrollbar-width CSS property sets the width of the scrollbar.
scrollbar-gutter
The scrollbar-gutter CSS property reserves space for the scrollbar, preventing u...
scrollbar-color
The scrollbar-color CSS property sets the color of the scrollbar track and thumb...
Scroll snap events
The scrollsnapchanging and scrollsnapchange events fire when a scroll gesture ch...
Scroll snap
CSS scroll snap controls the panning and scrolling behavior within a scroll cont...
Scroll markers
A scroll container can be navigated by activating ::scroll-marker pseudo-element...
scrollIntoView()
The scrollIntoView() method scrolls an element's ancestor containers such that t...
Scroll-driven animations
The animation-timeline, scroll-timeline, and view-timeline CSS properties advanc...
::scroll-button
The ::scroll-button(<dir>) CSS pseudo-element is a focusable button which scroll...
scroll-behavior
The scroll-behavior CSS property controls whether scrolling is smooth or snaps, ...
overscroll-behavior
The overscroll-behavior CSS property disables default scrolling behaviors when t...
overflow-anchor
The overflow-anchor CSS property sets an element as a possible scroll anchor, re...
ruby-position
The ruby-position CSS property sets the position of a ruby annotation in relatio...
ruby-overhang
The ruby-overhang CSS property sets whether ruby annotations may overlap adjacen...
ruby-align
The ruby-align CSS property sets the spacing and alignment of ruby annotation te...
Window Controls Overlay
The display_override:\ ["window-controls-overlay"] web application manifest memb...
<meta name="application-title">
The name="application-title" attribute for the <meta> HTML element sets an insta...
Web app manifest
A web app manifest file provides metadata about the site. The browser can use th...
beforeinstallprompt
The beforeinstallprompt event fires when a Progressive Web App (PWA) is installa...
Application shortcuts
The shortcuts web app manifest member registers common actions of an installed w...
Share targets
The share_target web app manifest member registers an installed web app as a han...
Protocol handlers
The protocol_handlers web app manifest member registers an installed web app as ...
Launch handler
The launch_handler web app manifest member, with the client_mode property, confi...
File handlers
The file_handlers web app manifest member registers an installed web app as a ha...
Print events
An alternative to @media print queries, the beforeprint and afterprint events al...
print-color-adjust
The print-color-adjust CSS property sets whether styles of printed pages should ...
window.print()
The window.print() method opens the browser's print dialog.
color-adjust
The color-adjust shorthand CSS property allows multiple performance related colo...
Server timing
The serverTiming property of the PerformanceResourceTiming API contains server t...
Resource timing
PerformanceResourceTiming entries report when network events happen while loadin...
Resource size
The decodedBodySize, encodedBodySize, and transferSize properties of the Perform...
PerformanceTiming and PerformanceNavigation
The window.performance.timing and window.performance.navigation APIs report perf...
Performance
The performance global object and the PerformanceObserver API provide access to ...
Paint timing
The paint performance entry and the PerformancePaintTiming API measures the dura...
Page visibility state
The visibility-state performance entry and the VisibilityStateEntry API measure ...
Navigation timing
The navigation performance entry and the PerformanceNavigationTiming API measure...
Memory measurement
The measureUserAgentSpecificMemory() method estimates the memory usage of a web ...
Long tasks
The longtask performance event type and the PerformanceLongTaskTiming API provid...
Long animation frames
The long-animation-frame performance event type and the PerformanceLongAnimation...
Layout instability
The layout-shift performance entry and LayoutShift API measures the layout stabi...
Largest contentful paint (LCP)
The largest-contentful-paint performance entry and the LargestContentfulPaint AP...
Event timing
The event and first-input performance entries and the PerformanceEventTiming API...
Element timing
The element performance entry and the PerformanceElementTiming API measures the ...
Back/forward cache blocking reasons
The notRestoredReasons property of a PerformanceNavigationTiming object explains...
Secure payment confirmation
The payment extension of a web authentication credential allows a relying party ...
Payment request
The PaymentRequest API prompts the user to make a payment through the browser's ...
Payment handler
The payment handler API registers a web application as a payment handler and res...
XMLSerializer
The XMLSerializer API provides the serializeToString() method to construct an XM...
DOMParser
The DOMParser API parses XML or HTML source code from a string into a DOM Docume...
Server-sent events
The EventSource API creates a connection to a server and listens to a stream of ...
postMessage
The postMessage() global method sends cross-origin messages to windows and worke...
messageerror
The messageerror event fires on a target, such as a window or worker, when an in...
Channel messaging
Channel messaging communicates one-to-one between browsing contexts on the same ...
BroadcastChannel
The BroadcastChannel API allows you to send messages between same-origin browsin...
JavaScript modules in workers
The Worker() constructor accepts { type: "module" } to load scripts that use imp...
JavaScript modules in shared workers
The SharedWorker() constructor accepts { type: "module" } to load scripts that u...
JavaScript modules in service workers
The navigator.serviceWorker.register() method accepts { type: "module" } to load...
JavaScript modules
JavaScript modules allow code to be organized into reusable units. Modules use i...
with
The with JavaScript statement adds a given object to the chain of scopes used to...
Weak references
The WeakRef and FinalizationRegistry objects hold references to garbage-collecta...
Unicode point escapes
Unicode point escapes (\\u{}) represent Unicode characters within strings.
Top-level await
The await keyword, when used at the top level of a module (outside of an async f...
Temporal
The Temporal API allows you to work with dates, times, time zones, and durations...
Template literals
Template literals are literals delimited with backtick (`) characters, allowing ...
Spread syntax
The spread (...) syntax allows an iterable, such as an array or string, to be ex...
SharedArrayBuffer and Atomics
The SharedArrayBuffer object represents bytes shared between multiple workers an...
Proxy and Reflect
The Proxy and Reflect JavaScript built-ins intercept and define custom behavior ...
Optional catch binding
Omit the the binding parameter of a catch clause when you don't need information...
Numeric separators
To improve readability for numeric literals, underscores (_) can be used as sepa...
Nullish coalescing
The nullish coalescing (??) and nullish coalescing assignment (??=) operators re...
Math.sumPrecise()
The Math.sumPrecise() static method returns the sum of an iterable of numbers. I...
Logical assignments
The logical AND assignment (&&=) and the logical OR assignment (||=) operators s...
Let and const
The let and const declarations define block-scoped variables.
JavaScript (initial core language support)
JavaScript is a programming language that runs in browsers, usually through the ...
HTML wrapper methods
JavaScript built-in methods such as, String.bold() and String.italics(), wrap st...
Hashbang comments
The #! comment at the absolute start of a script or module is treated as a norma...
globalThis
The globalThis property accesses the global this value (and hence the global obj...
Generators
Generator functions (function*) create iterators that return multiple values, on...
Function caller and arguments
The caller and arguments properties of a non-strict mode Function object are the...
Functions
Functions are series of statements that can be called and return a value. The fu...
Exponentiation operator
The exponentiation (**) operator returns the result of raising the first operand...
escape() and unescape()
The escape() and unescape() built-in Javascript methods encode and unencode stri...
Destructuring
The destructuring assignment syntax is a JavaScript expression that unpacks valu...
getYear() and setYear()
The getYear() and setYear() methods of Date objects get and set the year as an o...
Classes
Classes are an object-oriented syntax for JavaScript prototypes.
BigInt64Array
The BigInt64Array and BigUint64Array typed arrays represent 64-bit integers, sig...
BigInt
The BigInt JavaScript type represents integers of any size, including integers t...
Atomics.waitAsync
The Atomics.waitAsync() static method waits for a value in a shared memory locat...
Async generators
Async generator functions (async function*) create iterators that return multipl...
Async functions
The async and await keywords allow you to use the asynchronous, promise-based be...
arguments.callee
The callee property of the arguments variable in a non-strict function body's lo...
Promise.withResolvers()
The Promise.withResolvers() static method is an alternative to the Promise() con...
Promise.try()
The Promise.try() static method returns a promise that takes a callback of any k...
Promise finally()
The promise finally() method executes a function when the promise settles (resol...
Promise.any()
The Promise.any() static method returns a promise that fulfills as soon as the f...
Promise.allSettled()
The Promise.allSettled() static method waits for an array of promises to settle ...
Promise (initial support)
A promise represents an asynchronous operation which eventually succeeds or fail...
Symbol
A Symbol value is a unique, non-enumerable primitive value used for encapsulatio...
String (initial support)
The string type (and String object) represents a sequence of characters.
Math and numbers
The number type (and Number object) represents floating-point numbers, such as 4...
Date
The Date object represents a single moment in time.
String isWellFormed() and toWellFormed()
The isWellFormed() method of strings returns a boolean indicating if the string ...
String trimStart() and trimEnd()
The trimStart() and trimEnd() methods of strings return a new string with whites...
String startsWith() and endsWith()
The startsWith() and endsWith() methods of strings returns whether a search stri...
String replaceAll()
The replaceAll() method of strings returns a new string where all matches of a p...
String repeat()
The repeat() method of strings returns the original string repeated a number of ...
String raw()
The String.raw() static method interpolates template literal substitutions, but ...
String padStart() and padEnd()
The padStart() and padEnd() methods of strings return a string lengthened to a m...
String normalize()
The normalize() method of strings returns a Unicode normal form of a string as a...
String matchAll()
The matchAll() method of strings matches a string against a regular expression a...
String includes()
The includes() method of strings returns whether a search string appears within ...
String codePointAt() and fromCodePoint()
The codePointAt() method returns the numeric value of the UTF-16 code point at a...
String at()
The at() method of strings returns the character (one UTF-16 code unit) at an in...
JSON source text access
To serialize and parse JSON in a lossless way, JSON.stringify() handles rawJSON ...
JSON import attributes
Module import … with { type: "json" } statements load JSON data. Also known as J...
JSON
The JSON API provides static methods for parsing values from and converting valu...
Typed array iterators
Typed arrays are iterable with the for … of statement and enumerable with the me...
Iterators and the for...of loop
The for...of loop operates on a sequence of values sourced from an iterable obje...
Iterator methods
The Iterator object is an abstract base for objects that implement the iterator ...
Async iterators and the for await..of loop
Asynchronous iterator objects, such as those returned by promises or generator f...
Intl.Segmenter
The Intl.Segmenter API creates a locale-aware text splitter that can separate a ...
Intl.RelativeTimeFormat
The Intl.RelativeTimeFormat API creates a locale-aware formatter that turns an o...
Intl.PluralRules
The Intl.PluralRules API creates a locale-aware object that tells you which of t...
Intl.Locale info
The getter methods of the Intl.Locale API provide supplemental information about...
Intl.Locale
The Intl.Locale API parses Unicode locale identifiers, with language, region, an...
Intl.ListFormat
The Intl.ListFormat API creates a locale-aware formatter that turns iterable obj...
Intl.DurationFormat
The Intl.DurationFormat API creates a locale-aware formatter that turns an objec...
Intl.DisplayNames
The Intl.DisplayNames API provides localized names of language, region, script, ...
Intl
The Intl API provides language sensitive string comparison, number formatting, d...
WeakSet
A WeakSet object stores unique values of any type without creating strong refere...
WeakMap
A WeakMap object holds key-value pairs that do not create strong references to i...
Uint8Array base64 and hex conversion
The Uint8Array object methods fromBase64(), toBase64(), and setFromBase64() conv...
Typed arrays (initial support)
Typed arrays are ordered lists of JavaScript values, where all values are of the...
Typed array iteration methods
Typed array iteration methods
Float16Array
Float16Array is a typed array of 16-bit floating point numbers.
Set methods
The difference(), intersection(), isDisjointFrom(), isSubsetOf(), isSupersetOf()...
Set (initial support)
Set objects store unique values of any type.
Map (initial support)
Map objects hold key-value pairs and remember the original insertion order of th...
Array grouping
The Object.groupBy() and Map.groupBy() static methods group values of arrays and...
Stable array sort
Stable array sort() function
Array splice()
The array splice() method changes an array in-place. You can use it to delete it...
Array.of()
The Array.of() and typed array .of() static methods create new arrays from the v...
Array iterators
Arrays are iterable with the for … of statement and enumerable with the methods ...
Array iteration methods
Array iteration methods
Array.isArray()
The Array.isArray() static method checks whether a value is an array.
Array includes()
The includes() method of arrays and typed arrays returns whether a given value a...
Array.fromAsync()
The Array.fromAsync() static method copies items from an async iterable object t...
Array.from()
The Array.from() and typed array .from() static methods copy items from an itera...
Array flat() and flatMap()
The flat() and flatMap() methods for arrays creates a new array such that each n...
Array findLast() and findLastIndex()
The findLast() and findLastIndex() methods of arrays and typed arrays search an ...
Array find() and findIndex()
The find() and findIndex() methods of arrays and typed arrays search an array fo...
Array fill()
The fill() method of arrays and typed arrays sets all or some items of an array ...
Array copyWithin()
The copyWithin() method of arrays and typed arrays shifts or copies items of an ...
Array by copy
The toReversed(), toSorted(), toSpliced(), and with() methods of arrays and type...
Array at()
The at() method of arrays and typed arrays returns the item at an index, includi...
Array (initial support)
Arrays are ordered lists of JavaScript values.
<img sizes="auto" loading="lazy">
The sizes="auto" attribute for the <img> HTML element reserves layout space for ...
image-orientation
The image-orientation CSS property corrects the rotation of an image using the i...
image()
The image() CSS function creates an image similar to url() but with additional f...
cross-fade()
The cross-fade() CSS function generates an image by mixing two images.
smooth
The image-rendering: smooth CSS declaration scales images while retaining a grad...
image-rendering
The image-rendering CSS property sets how images are scaled, retaining smoothnes...
crisp-edges
The image-rendering: crisp-edges CSS declaration scales images to preserve lines...
tabindex
The tabindex HTML attribute make an element focusable, and sets the element's re...
srcset and sizes
The srcset and sizes attributes for <img> elements set a list of possible source...
<ruby>
The <ruby> element produces small annotations that are rendered with its base te...
popover="hint"
The popover="hint" global HTML attribute creates a popover that is subordinate t...
Popover
The popover HTML attribute creates an overlay to display content on top of other...
<meta name="theme-color">
The name="theme-color" attribute for the <meta> HTML element sets the preferred ...
inert
The inert HTML attribute marks an element and its descendants as non-interactive...
HTML media capture
The capture HTML attribute for <input type="file"> elements allows the user to c...
hidden="until-found"
The hidden="until-found" attribute hides an element until it is found using the ...
Description list
The <dl>, <dt>, and <dd> HTML elements represent a list of terms and their assoc...
Declarative shadow DOM
The shadowrootmode attribute on <template> creates a shadow root without the use...
blocking="render"
The blocking="render" attribute for <link>, <script>, and <style> elements block...
<video>
The <video> element plays videos or movies, optionally with controls provided by...
Text tracks
The <track> element is used as a child of the media elements that lets you speci...
<source>
The <source> element sets a media resource for the <picture>, <video>, and <audi...
requestVideoFrameCallback()
The requestVideoFrameCallback() method for <video> schedules a function that run...
preservesPitch
The preservesPitch property for <audio> or <video> adjusts the pitch of audio to...
Media element pseudo-classes
The :playing, :paused, :seeking, :buffering, :stalled, :muted, and :volume-locke...
fastSeek()
The fastSeek() method seeks an <audio> or <video> element as fast as possible, b...
controlslist
The controlslist attribute for <audio> or <video> hides parts of the browser's b...
captureStream() for <audio> and <video>
The captureStream() method for <audio> and <video> elements returns a MediaStrea...
Audio and video tracks
The audioTracks and videoTracks APIs for media elements switch audio and video t...
<audio>
The <audio> element plays sound such as audio effects or music, optionally with ...
<wbr>
The <wbr> HTML element represents a word break opportunity, to explicitly mark a...
<var>
The <var> element represents the name of a variable in a mathematical expression...
<u>
The <u> HTML element makes non-textual annotations, styling text as underlined b...
<title>
The <title> element sets the title of the document and exposes it to users via t...
<time>
The <time> HTML element represents a time, such as a calendar date, clock time, ...
<template>
The <template> HTML element holds HTML fragments which you can clone and insert ...
Table styling
Attributes and properties of table elements, such as align, vAlign, noWrap, bgco...
Tables
The <table> HTML element, with several related elements, represents tabular data...
<sub> and <sup>
The <sub> and <sup> elements sets inline text to be displayed as subscript or su...
<style>
The <style> element embeds an inline CSS stylesheet in a document.
<strong>
The <strong> HTML element brings attention to the content, styling text as bold ...
<span>
The <span> HTML element is the generic inline container for content.
<small>
The <small> element represents side-comments and small print, like copyright and...
<slot>
The <slot> HTML element is a placeholder inside a web component where consumers ...
<section>
The <section> element is a generic standalone section of a document, which doesn...
<search>
The <search> HTML element is a container that represents the parts of the web pa...
<script> and <noscript>
The <script> element contains or loads data or executable code. This is typicall...
<samp>
The <samp> element represents a sample or quoted output from a computer program....
<s>
The <s> HTML element indicates text that is no longer relevant or accurate, styl...
dialog.requestClose()
The requestClose() method of a <dialog> HTML element closes the dialog, firing a...
<q>
The <q> element represents a short inline quotation.
<pre>
The <pre> element represents a block element of preformatted text that is presen...
<picture>
The <picture> element is used for art direction in responsive images, where a di...
<p>
The <p> element represents a paragraph of text.
<object>
The <object> element represents an external resource such as a PDF or SVG docume...
<nav>
The <nav> element represents a section of a page whose purpose is to provide nav...
<meta>
The <meta> element represents metadata about the page used by the browser or sea...
<menu>
The <menu> element represents an unordered list of action items (<li>), such as ...
<mark>
The <mark> element represents text which is marked or highlighted for reference ...
<main>
The <main> element represents the dominant content of a document. It is commonly...
<ol>, <ul>, and <li>
The <ol>, <ul>, and <li> HTML elements represent ordered and unordered lists.
<link>
The <link> element creates a relationship between the current document and an ex...
<kbd>
The <kbd> element represents textual user input, such as keyboard or voice input...
<ins>
The <ins> element element represents a range of text that has been inserted into...
<img>
The <img> element adds an image into the document.
Image maps
The <area> and <map> elements define a clickable area on an image.
<iframe>
The <iframe> element embeds another HTML page into the current page.
<i>
The <i> HTML element identifies idiomatic content, styling text as italic by def...
<html>
The <html> element represents the top-level of an HTML document and is referred ...
<hr>
The <hr> element represents a thematic break between paragraphs, often shown as ...
<hgroup>
The <hgroup> element represents a heading and related content.
<h1> through <h6>
The <h1> through <h6> HTML elements represent six levels of section headings, in...
<header> and <footer>
The <header> and <footer> HTML elements represent content that precedes and foll...
<head>
The <head> element contains machine-readable information (metadata) about the do...
<figure> and <figcaption>
The <figure> and <figcaption> HTML elements represent an illustration, diagram, ...
<embed>
The <embed> element represents an external resource such as a PDF or SVG documen...
<em>
The <em> HTML element emphasizes or stresses the content, styling text as italic...
<div>
The <div> HTML element is the generic container for content.
<dialog closedby>
The closedby HTML attribute for <dialog> sets which user actions close a dialog....
<dialog>
The <dialog> HTML element represents a modal or non-modal dialog box, such as a ...
<dfn>
The <dfn> element marks a term to be defined, styling text as italic by default.
Mutually exclusive <details> elements
Multiple <details> elements which use the same name attribute are mutually exclu...
<details>
The <details> element is a disclosure widget which can be expanded to reveal add...
<del>
The <del> element element represents a range of text that has been deleted from ...
<data>
The <data> element links a given piece of content with a machine-readable transl...
Console
The console API logs debugging messages to the browser development tools' consol...
<code>
The <code> element displays its contents as a fragment of computer code.
<cite>
The <cite> element represents the title of a quoted, referenced, or mentioned cr...
<br>
The <br> element produces line breaks in text.
<body>
The <body> element represents the content of an HTML document.
<blockquote>
The <blockquote> element represents an extended quotation, styling contents as a...
<bdo>
The <bdo> element overrides the directionality of text, so that the text within ...
<bdi>
The <bdi> element isolates text that may have a different text direction from it...
<base>
The <base> element sets the base URL (the URL that relative URLs are relative to...
<b>
The <b> HTML element draws reader's attention to text, styling text as bold by d...
<aside>
The <aside> element represents a portion of a document whose content is only ind...
<article>
The <article> element represents self-contained content, which is intended to be...
<address>
The <address> element represents contact information for a person or people, or ...
<abbr>
The <abbr> HTML element represents an abbreviation or acronym.
<a>
The <a> element creates a hyperlink to any resource that's accessible via a URL,...
writingsuggestions
The writingsuggestions HTML attribute turns on or off a browser's writing sugges...
<textarea>
The <textarea> element represents an editing control that allows users to enter ...
showPicker() for <select>
The showPicker() method for <select> elements shows the dropdown menu or other u...
showPicker() for <input>
The showPicker() method for <input> elements shows the user interface for pickin...
<select>
The <select> element provides a menu of options for a user to pick from, typical...
<input type="search">
The <input type="search"> HTML element represents a text field for search querie...
:read-only and :read-write
The :read-only and :read-write CSS pseudo-classes match elements that are read-o...
<progress>
The <progress> element displays an indicator showing the completion progress of ...
<output>
The <output> element represents the result of a calculation, user action, or for...
<meter>
The <meter> element represents a scalar value within a known range or a fraction...
<label>
The <label> HTML element represents a caption for a form field.
<input type="submit">
The <input type="submit"> HTML element represents a button that triggers an acti...
Input selectors
The :checked, :disabled, and :enabled CSS pseudo-classes match form elements bas...
<input type="reset">
The <input type="reset"> HTML element represents a button that sets all form fie...
<input type="range">
The <input type="range"> element represents a slider for choosing an inexact val...
<input type="radio">
The <input type="radio"> HTML element represents one button in a group such that...
<input type="password">
The <input type="password"> HTML element represents a field for users to enter a...
<input type="number">
The <input type="number"> HTML element represents numeric input data.
<input type="image">
The <input type="image"> HTML element is an image that can be used to submit a f...
<input type="hidden">
The <input type="hidden"> HTML element represents a form field that is not shown...
<input type="file">
The <input type="file"> HTML element shows a file picker from which users can ch...
Email, telephone, and URL <input> types
The <input type="email">, <input type="tel">, and <input type="url"> HTML elemen...
Date and time <input> types
The <input type="date"> and <input type="time"> HTML elements show date and time...
`alpha` and `colorspace` attributes for `<input type=color>`
The ability to control the opacity of a color picked using <input type="color"> ...
<input type="color">
The <input type="color"> HTML element shows a color picker from which users can ...
<input type="checkbox">
The <input type="checkbox"> HTML element represents a tickable box with two stat...
<input type="button">
The <input type="button"> HTML element represents a button that triggers some ac...
<input>
The <input type="text"> HTML element allows the user to enter information into a...
:indeterminate
The :indeterminate CSS pseudo-class selects any form element whose state is inde...
<form>
The <form> element contains interactive controls for submitting information.
<fieldset> and <legend>
The <fieldset> and <legend> elements group several form control elements within ...
<datalist>
The <datalist> element sets recommended values for an <input> element. Browsers ...
Customizable <select>
The <select> element's appearance, including the button, selected option, picker...
Constraint validation API
Methods that validate form controls before submission, such as checkValidity(), ...
<button>
The <button> HTML element represents a button that triggers some action, such as...
:autofill
The :autofill pseudo-class matches <input> elements that have been filled in aut...
:state()
The :state() CSS pseudo-class matches custom elements based on their custom stat...
Scoped custom element registries
The CustomElementRegistry() constructor creates a new custom element registry th...
Form-associated custom elements
Custom elements may act like built-in form elements, via the the attachInternals...
Customized built-in elements
Customized built-in elements are HTML elements that extend built-in elements usi...
Autonomous custom elements
Autonomous custom elements are HTML elements with a hyphenated tag name (like <e...
Gamepad VR hands and poses
The hand and pose properties of a Gamepad object represent the position in space...
Gamepad touch buttons
The touched property of a GamepadButton object indicates whether a button capabl...
Gamepad haptic feedback
The gamepad.vibrationActuator property represents a gamepad's haptics hardware, ...
Gamepad
The navigator.getGamepads() API accesses and responds to signals from game contr...
Origin private file system
The navigator.storage.getDirectory() method returns a FileSystemDirectoryHandle ...
File system access
The showOpenFilePicker(), showDirectoryPicker(), and showSaveFilePicker() method...
Shadow DOM
Shadow DOM allows you to attach encapsulated "shadow" DOM trees to elements. A s...
MutationObserver
The MutationObserver API watches for changes to the DOM tree and calls a callbac...
Mutation events
Mutation events like DOMSubtreeModified, DOMNodeInserted, or DOMNodeRemoved fire...
moveBefore()
The moveBefore() DOM method relocates a node while preserving its state. For exa...
getHTML()
The getHTML() method of Element and ShadowRoot objects serializes an element's D...
DOM
The DOM (Document Object Model) API represents HTML and XML documents as trees o...
z-index
The z-index CSS property orders overlapping elements, with higher values appeari...
writing-mode SVG 1.1 values
The lr, lr-tb, rl, rl-tb, tb, and tb-rl keyword values for the writing-mode CSS ...
writing-mode
The writing-mode CSS property sets whether text is laid out horizontally or vert...
word-break: break-word
The word-break: break-word CSS declaration sets word breaks to occur according t...
will-change
The will-change CSS property gives hints to the browser about expected changes t...
visibility
The visibility CSS property sets whether an element is shown. Invisible elements...
Vertical form controls
The writing-mode CSS property orients form elements (such as radio buttons, prog...
vertical-align
The vertical-align CSS property sets the vertical alignment of inline, inline-bl...
user-select
The user-select CSS property controls which elements can be selected by the user...
Two-value display property
The display CSS property accepts multiple keyword values, such as inline flex or...
sin(), cos(), tan(), asin(), acos(), atan(), and atan2() (CSS)
The sin(), cos(), tan(), asin(), acos(), atan(), and atan2() CSS functions compu...
Text stroke and fill (compatibility prefixes)
The -webkit-text-stroke-width and -webkit-text-stroke-color CSS properties set t...
text-spacing-trim
The text-spacing-trim CSS property controls spacing around CJK characters, avoid...
Text overflow
The text-overflow CSS property sets how hidden overflow content appears to users...
text-indent
The text-indent CSS property sets the size of the empty space (indentation) at t...
@supports
The @supports at-rule applies styles based on a browser's support for CSS featur...
style (attribute)
The style global HTML attribute applies inline CSS styling declarations to indiv...
@starting-style
The @starting-style CSS at-rule sets the starting values for properties that are...
sibling-count() and sibling-index()
The sibling-count() and sibling-index() CSS functions return integers that are u...
@scope
The @scope CSS at-rule sets the scope for a group of rules.
round(), mod(), and rem()
The round(), mod(), and rem() CSS functions compute rounded values and the remai...
resize (CSS property)
The resize CSS property sets whether an element can be resized by the user, and ...
Relative colors
The from keyword for color functions (color(), hsl(), oklch(), etc.) creates a n...
reading-flow
The reading-flow CSS property sets the order in which flex or grid elements are ...
Quotes
The quotes CSS property sets the quotation marks inserted via the content CSS pr...
pointer-events
The pointer-events CSS property sets whether a user can interact with an element...
Physical properties
The physical CSS properties, top, right, bottom, and left, set the inset positio...
paint-order
The paint-order CSS property sets the z-order of strokes, fills, and (in SVG con...
paint()
The paint() CSS function creates a custom image, drawn using a paint worklet, fo...
overlay
The overlay CSS property, used as an allow-discrete CSS transition, prevents a t...
overflow
The overflow CSS property sets the behavior for when content doesn't fit in an e...
overflow: overlay
The overflow: overlay CSS declaration is an alias to overflow: auto. Historicall...
overflow-clip-margin
The overflow-clip-margin CSS property sets how far overflow content may appear o...
overflow: clip
The overflow: clip CSS declaration clips an element's overflowing content to the...
opacity
The opacity CSS property sets the transparency of an element.
object-view-box
The object-view-box CSS property crops and zooms to an inset area of an image.
Nesting
CSS nesting allows for shorter selectors, easier reading, and more modularity by...
@namespace
The @namespace CSS rule sets a default namespace or namespace prefix. Namespace ...
Motion path
The offset CSS property animates an element along a defined motion path.
min(), max(), and clamp()
The min() and max() CSS functions return the minimum or maximum of the arguments...
margin-trim
The margin-trim CSS property removes the margins of child elements when they mee...
Logical properties
CSS logical properties control borders, size, margin, and padding with direction...
linear() easing
The linear() easing function for animations and transitions interpolates linearl...
line-clamp
The line-clamp CSS property limits the text in a block container to a certain nu...
light-dark()
The light-dark() CSS function accepts two colors and uses one depending on the c...
Layout direction override
The unicode-bidi and direction CSS properties override the Unicode layout algori...
initial-letter
The initial-letter CSS property sets the number of lines the first letter of an ...
@import
The @import CSS at-rule loads styles from another stylesheet.
ime-mode
The ime-mode CSS property sets the state of the input method editor for text fie...
image-set()
The image-set() CSS function provides a set of images at different resolutions o...
if()
The if() CSS function is an inline conditional value that returns a value based ...
Hyphenation
The hyphens CSS property controls when long words are broken by line wrapping. A...
glyph-orientation-vertical
The glyph-orientation-vertical CSS property sets the orientation of glyphs in te...
@function
The @function CSS at-rule defines a custom function that takes CSS values or cus...
Forced colors
The forced-colors CSS @media rule detects when a user has chosen to use a forced...
float and clear
The float CSS property aligns an element to either side of its container, allowi...
filter
The filter CSS property applies one or more graphic effects to an element. You c...
field-sizing
The field-sizing CSS property allows form controls such as <textarea> to be size...
pow(), sqrt(), hypot(), log(), and exp()
The pow(), sqrt(), hypot(), log(), and exp() CSS functions compute various expon...
display: table
The display: table CSS declaration renders an element with the box layout of a <...
display: ruby
The display: ruby CSS declaration renders an element with the box layout of a <r...
display: list-item
The display: list-item CSS declaration renders an element with the box layout of...
display: flow-root
The display: flow-root CSS declaration sets an element as the root element of a ...
display: contents
The display: contents CSS declaration sets an element to display only its conten...
display animation
You can animate elements between display: none and any other display value or an...
Display
The display CSS property sets the display behavior of an element's box within it...
Custom properties
Custom properties are CSS properties prefixed with -- that set values you can re...
Cursor styles
The cursor CSS property styles the pointer, allowing you to provide hints to the...
CSS.supports()
The CSS.supports() static method returns whether the browser supports a CSS decl...
CSS import attributes
Module import … with { type: "css" } statements load CSS modules as constructabl...
content-visibility
The content-visibility CSS property delays rendering an element, including layou...
Content
The content CSS property sets the content inside of an element or pseudo-element...
color-scheme
The color-scheme CSS property sets which color schemes (light or dark) an elemen...
color-mix()
The color-mix() function mixes two colors in a given color space and by a given ...
Color
The color CSS property sets the primary foreground color of an element, which is...
@charset
The @charset CSS at-rule specifies the character encoding of an external style s...
Cascade layers
The @layer CSS at-rule avoids specificity conflicts by providing priority levels...
caret-color
The caret-color CSS property sets the color of the text insertion pointer in a t...
calc-size()
The calc-size() CSS function computes mathematical expressions that include heig...
calc() keywords
The e, pi, infinity, and NaN keywords represent well-defined constants accepted ...
calc()
The calc() CSS function computes mathematical expressions such a calc(100%/3 - 1...
backdrop-filter
The backdrop-filter CSS property applies graphical effects such as blurring or c...
attr() (content only)
The attr() CSS function, in content property declarations, sets a ::before or ::...
attr()
The attr() CSS function, in the context of any property, returns the value of an...
aspect-ratio
The aspect-ratio CSS property controls the width-to-height ratio of elements. Fo...
appearance
The appearance CSS property controls the appearance of form controls. Using appe...
Alternative style sheets
The rel="alternate stylesheet" attribute for the <link> HTML element offers an a...
Alt text for generated content
The / notation in content CSS property values adds alternative text to generated...
accent-color
The accent-color CSS property sets a color for checkboxes, radio buttons, and ot...
abs() and sign()
The abs() and sign() CSS functions compute the absolute value or the sign of the...
white-space-collapse
The white-space-collapse CSS property sets whether new line characters are shown...
white-space
The white-space CSS property sets how white space is collapsed and how lines wra...
text-wrap-mode
The text-wrap-mode CSS property sets whether lines may wrap with the values wrap...
tab-size
The tab-size CSS property sets the width of the tab character.
Viewport units
The vw, vh, vmin, and vmax CSS viewport units are relative to the size of the vi...
rlh unit
The rlh CSS length unit is a font-relative length relative to the line height of...
ric unit
The ric CSS length unit, or root international character, is a font-relative len...
rex unit
The rex CSS length unit is a font-relative length that is equal to the x-height ...
rem
The rem CSS length unit is a font-relative length that is equal to the font size...
rch unit
The rch CSS length unit is a font-relative length equal to the value of the ch u...
rcap unit
The rcap CSS length unit is a font-relative length equal to the value of the cap...
Q unit
The Q CSS length unit is an absolute length anchored to the physical measurement...
lh unit
The lh CSS length unit corresponds to the requested line height, the computed va...
ic unit
The ic CSS length unit corresponds to the width of CJK ideographic characters.
ex unit
The ex CSS length unit is a font-relative length equal to the used x-height of t...
em unit
The em CSS length unit is a font-relative length equal to the specified font siz...
ch unit
The ch CSS length unit is a font-relative length based on the width of the zero ...
cap unit
The cap CSS length unit corresponds to the height of Latin capital letters.
Transitions (CSS)
The transition shorthand CSS property sets how changes to an element's styles ma...
transition-behavior
The transition-behavior: allow-discrete CSS declaration allows transitions for p...
interpolate-size
The interpolate-size CSS property sets whether animations and transitions interp...
3D transforms
The transform CSS property and its 3D transform functions allow rotations and ot...
2D transforms
The transform CSS property and its 2D transform functions allow rotating, scalin...
Individual transform properties
The translate, rotate, and scale CSS properties apply single transformations ind...
word-spacing
The word-spacing CSS property sets the amount of white space between words.
text-underline-position
The text-underline-position CSS property sets the position of underlines on text...
text-underline-offset
The text-underline-offset CSS property shifts underlines on text from the initia...
text-transform
The text-transform CSS property sets text case and capitalization.
text-shadow
The text-shadow CSS property sets the position and styles of shadow on text.
text-orientation
The text-orientation CSS property sets the how text is typeset within a line whe...
text-justify
The text-justify CSS property sets the justification method of text when text-al...
text-indent: hanging
The text-indent: hanging CSS declaration indents all lines except the first.
text-indent: each-line
The text-indent: each-line CSS declaration indents text after forced breaks as w...
text-combine-upright
The text-combine-upright CSS property displays multiple characters in the space ...
text-box
The text-box CSS property sets the spacing above and below text based on a font'...
text-align-last
The text-align-last CSS property sets the alignment of the last line of text bef...
text-align
The text-align CSS property sets the horizontal placement of the inner content o...
Rhythmic sizing
The line-height-step CSS property creates consistent vertical rhythm by setting ...
line-height
The line-height CSS property sets the spacing between text baselines, oriented t...
letter-spacing
The letter-spacing CSS property controls the amount of space between each letter...
dominant-baseline
The dominant-baseline CSS property sets the specific baseline used to align an e...
baseline-shift
The baseline-shift CSS property sets the position of an element relative to its ...
alignment-baseline
The alignment-baseline CSS property sets which baseline of an element is aligned...
word-break: auto-phrase
The word-break: auto-phrase CSS declaration specifies that wrapping should occur...
word-break
The word-break CSS property sets how lines break within words.
text-wrap-style
The text-wrap-style CSS property sets how lines break in text that overflows the...
text-wrap: stable
The text-wrap: stable CSS declaration wraps text using the default algorithm, bu...
text-wrap: pretty
The text-wrap: pretty CSS declaration prioritizes better layout over speed when ...
text-wrap: nowrap
The text-wrap: nowrap CSS declaration prevents text breaking into multiple lines...
text-wrap: balance
The text-wrap: balance CSS declaration balances the length of each line when tex...
text-wrap
The text-wrap CSS property sets how lines break in text that overflows the conta...
overflow-wrap
The overflow-wrap CSS property breaks a line of text onto multiple lines inside ...
line-break
The line-break CSS property sets how strictly to apply rules for wrapping text t...
Hyphenate limit chars
The hyphenate-limit-chars CSS property sets the number of characters in a word b...
Hyphenate character
The hyphenate-character CSS property sets the character or string to use at the ...
:where()
The :where() CSS functional pseudo-class takes a selector list as its argument, ...
:user-valid and :user-invalid
The :user-valid and :user-invalid pseudo-classes match form controls that have b...
User action pseudo-classes
The :active, :focus, and :hover CSS pseudo-classes match elements based on how u...
Time-relative pseudo-selectors
The :past and :future CSS pseudo-classes match prior or upcoming text track cues...
text-decoration in ::selection
The text-decoration CSS property in a ::selection rule sets the underline and ot...
:target-within
The :target-within CSS pseudo-class matches the element with an ID matching the ...
:target
The :target CSS pseudo-class matches the element with an ID matching the URL fra...
::spelling-error and ::grammar-error
The ::spelling-error and ::grammar-error CSS pseudo-elements match text that is ...
Shadow parts
The part and exportparts HTML attributes expose elements of a shadow DOM as name...
Selectors (core)
CSS selectors match elements based on their type, attributes, and relationship t...
::selection
The ::selection CSS pseudo-element selects text a user has highlighted.
:scope (pseudo-class)
The :scope CSS pseudo-class matches the scoping root, for instance the element t...
:root
The :root pseudo-class matches the root element of the document, usually the <ht...
:placeholder-shown
The :placeholder-shown CSS pseudo-element selects <input> and <textarea> element...
::placeholder
The ::placeholder CSS pseudo-element selects help text in <input> and <textarea>...
Page selectors
The :first, :left, and :right pseudo-classes select pages based on their positio...
:open
The :open CSS pseudo-class matches elements that have open states, like <details...
:nth-of-type() pseudo-classes
The :nth-of-type() and :nth-last-of-type() CSS functional pseudo-classes match e...
:nth-child() of <selector>
The of syntax for the :nth-child() and :nth-last-child() CSS functional pseudo-c...
:nth-child()
The :nth-child() and :nth-last-child() CSS functional pseudo-classes match eleme...
:not()
The :not() functional pseudo-class matches elements that do not match the select...
:modal
The :modal pseudo-class selects elements that put other elements into a non-inte...
Link selectors
The :link CSS pseudo-class matches unvisited links, :visited matches visited lin...
:lang()
The :lang() CSS functional pseudo-class matches elements based on their content ...
:is()
The :is() CSS functional pseudo-class takes a selector list as its argument, and...
:host-context()
The :host-context() CSS pseudo-class selects the containing element of the shado...
Host
The :host CSS pseudo-class selects the containing element of the shadow tree in ...
Heading pseudo-classes
The :heading and :heading() CSS pseudo-classes match headings of varying levels....
:has-slotted
The :has-slotted CSS pseudo-class matches <slot> elements where the fallback con...
:has()
The :has() CSS functional pseudo-class matches an element if any of the selector...
Form validity pseudo-classes
The form validity CSS pseudo-classes match <form> elements based on the constrai...
:focus-within
The :focus-within CSS pseudo-class matches an element if the element or any of i...
:focus-visible
The :focus-visible CSS pseudo-class selects elements that match the :focus pseud...
::first-line
The ::first-line CSS pseudo-element selects the first line of text in an element...
::first-letter
The ::first-letter CSS pseudo-element selects the first letter in an element for...
::file-selector-button
The ::file-selector-button CSS pseudo-element selects the button of a <input typ...
:empty
The :empty CSS pseudo-class matches elements without child elements.
:dir()
The :dir() CSS functional pseudo-class matches elements by text direction, eithe...
::details-content
The ::details-content pseudo-element selects the expandable content of a <detail...
:default
The :default CSS pseudo-class matches the default element in a group of related ...
Case-sensitive attribute selector
The s identifier in a CSS attribute selector matches attribute values case-sensi...
Case-insensitive attribute selector
The i identifier in a CSS attribute selector matches attribute values case-insen...
::backdrop
The ::backdrop CSS pseudo-element is a box underneath an element in the top laye...
video-dynamic-range media query
The video-dynamic-range CSS media query sets styles based on whether a device ca...
Update frequency media query
The update CSS media query sets styles based on whether and how fast the user's ...
@supports (compatibility prefix)
The @supports (-webkit-transform-3d) CSS media query is a standardized compatibi...
scripting media query
The scripting CSS media query sets styles based on whether scripting such as Jav...
resolution media query (compatibility prefixes)
The -webkit-device-pixel-ratio, -webkit-min-device-pixel-ratio, and -webkit-max-...
resolution media query
The resolution CSS media query sets styles based on the pixel density, or how ma...
prefers-reduced-transparency media query
The prefers-reduced-transparency CSS media query sets styles based on whether th...
prefers-reduced-motion media query
The prefers-reduced-motion CSS media query sets styles based on whether the user...
prefers-reduced-data media query
The prefers-reduced-data CSS media query detects whether the user has a preferen...
prefers-contrast media query
The prefers-contrast CSS media query sets styles based on whether the user prefe...
prefers-color-scheme media query
The prefers-color-scheme CSS media query sets styles based on the requested colo...
Overflow media queries
The overflow-block and overflow-inline CSS media queries set styles based on the...
Media query range syntax
The range syntax of CSS media queries allows you to use mathematical comparison ...
Media queries
The @media CSS rule conditionally applies styles based on the output device type...
inverted-colors media query
The inverted-colors CSS media query sets styles based on whether the user has in...
Interaction media queries
The pointer, any-pointer, hover, and any-hover CSS media queries set styles base...
dynamic-range media query
The dynamic-range CSS media query sets styles based on whether a device can disp...
display-mode media query
The display-mode CSS media query sets styles based on whether the web page is in...
Device media queries
The device-aspect-ratio, device-height, and device-width media features describe...
color-gamut media query
The color-gamut media query sets styles based on the colors a device can display...
::marker
The ::marker CSS pseudo-element selects list item markers for styling numbers or...
List style
The list-style shorthand CSS property and the list-style-image, list-style-posit...
Width and height
The width and height CSS properties set the preferred physical size of an elemen...
Widows and orphans
The widows and orphans CSS properties set the minimum lines included in a text f...
stretch
The stretch CSS keyword expands a box as needed to fit its contents until the ma...
Page setup
The @page CSS at-rule sets the page-specific dimensions and margins for content ...
page-orientation
The page-orientation CSS property sets the rotation of a page after pagination. ...
Page breaks
In printed page layouts, the break-after, break-before, break-inside CSS propert...
Page break aliases
The page-break-before, page-break-inside, and page-break-after CSS properties ar...
padding
The padding CSS property sets space between an element's edge and its contents. ...
min-content and max-content
The min-content and max-content CSS keywords represent the smallest and largest ...
Masonry
Masonry is a type of CSS grid layout where the items on one of the axes are tigh...
margin
The margin CSS property sets space around an element. It is a shorthand for marg...
fit-content()
The fit-content() CSS function, used outside of a grid layout property, clamps a...
fit-content
The fit-content CSS keyword expands a box as needed to fit its contents until th...
Column breaks
In columnar layouts (created by the columns or column-count CSS properties), the...
box-sizing
The box-sizing CSS property sets whether an element's width and height are calcu...
align-content in block layouts
The align-content property vertically aligns content in block layouts, like it d...
Sticky positioning
The position: sticky CSS declaration positions an element in the normal flow unt...
Static positioning
The position: static CSS declaration positions an element in the normal flow. A ...
Relative positioning
The position: relative CSS declaration offsets the position of an element relati...
Position
The position CSS property sets the origin position of an element to an element, ...
Fixed positioning
The position: fixed CSS declaration removes an element from the normal flow and ...
Absolute positioning
The position: absolute CSS declaration removes an element from the normal flow a...
Multi-column layout
Multi-column layout flows an element's content across one or more columns in a s...
column-span
The column-span CSS property controls whether a child element extends across all...
::column
The ::column CSS pseudo-element represents the individual columns of a multi-col...
column-fill
The column-fill CSS property sets the distribution of content across columns in ...
Subgrid
The subgrid value for the grid-template-columns and grid-template-rows propertie...
Grid animation
Grid animation allows you to animate the grid-template-columns and grid-template...
Grid
CSS grid is a two-dimensional layout system, which lays content out in rows and ...
Gap decorations
The column-rule and row-rule CSS properties display decorative lines between col...
Flexbox gap
The gap CSS property in a flexbox layout sets the size of the space between item...
Flexbox
Flexbox is a one-dimensional layout system, which places content either horizont...
Gradients
The linear-gradient() and radial-gradient() CSS functions and their repeating co...
Gradient interpolation
Gradient interpolation controls how the colors between gradient stops are calcul...
Conic gradients
The conic-gradient() and repeating-conic-gradient() CSS functions create backgro...
font-width
The font-width CSS property selects a font face from a font family based on widt...
font-weight
The font-weight CSS property controls the thickness of a font. It is set explici...
font-variation-settings
The font-variation-settings CSS property sets an "axis of variability" on a vari...
font-variant-alternates
The font-variant-alternates CSS property, along with the @font-feature-values at...
font-style
The font-style CSS property sets the text style, with normal, italic, and obliqu...
font-stretch
The font-stretch CSS property selects a font face from a font family based on wi...
font-size-adjust
The font-size-adjust CSS property preserves apparent text size, regardless of th...
font-size
The font-size CSS property sets the text height.
Font shorthand
The font CSS property shorthand sets multiple font properties, including style, ...
font-palette animation
You can animate color fonts between two font-palette values.
font-palette
The font-palette CSS property selects a color palette from the font, optionally ...
font-optical-sizing
The font-optical-sizing CSS property sets whether text rendering is optimized fo...
Font metric overrides
The ascent-override, descent-override, and line-gap-override descriptors adjust ...
UI fonts
The ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for the font-fam...
font-family
The font-family CSS property sets the desired font face for text, along with opt...
@font-face
The @font-face CSS at-rule creates a custom font-family value. The at-rule's des...
font-display
The font-display CSS descriptor sets whether to show a substitute font or nothin...
COLRv1
COLRv1 is a font format that supports multi-color glyphs. COLRv1 extends COLRv0 ...
COLRv0
COLRv0 is a font format that supports multi-color glyphs. COLRv0 supports only s...
font-synthesis-weight
The font-synthesis-weight CSS property sets whether or not the browser should sy...
font-synthesis-style
The font-synthesis-style CSS property sets whether or not the browser should syn...
font-synthesis-small-caps
The font-synthesis-small-caps CSS property sets whether or not the browser shoul...
font-synthesis-position
The font-synthesis-position CSS property sets whether or not the browser should ...
font-synthesis
The font-synthesis CSS shorthand property disables all font synthesis except the...
font-variant-position
The font-variant-position CSS property sets whether to use alternate glyphs for ...
font-variant-numeric
The font-variant-numeric CSS property sets how numeric characters are displayed....
font-variant-ligatures
The font-variant-ligatures CSS property sets how characters can be visually comb...
font-variant-emoji
The font-variant-emoji CSS property sets the default presentation for emoji char...
font-variant-east-asian
The font-variant-east-asian CSS property controls glyph substitution and sizing ...
font-variant-caps
The font-variant-caps CSS property sets whether text should be displayed in smal...
font-variant
The font-variant CSS property is a shorthand for font-variant-alternates, font-v...
font-language-override
The font-language-override CSS property sets which language-specific glyphs are ...
font-kerning
The font-kerning CSS property sets whether kerning data from a font is used to a...
font-feature-settings
The font-feature-settings CSS property sets low-level OpenType feature tags for ...
unset
The unset keyword resets any CSS property, removing any values previously set by...
revert
The revert CSS keyword resets any property to its previous default, provided by ...
initial
The initial keyword resets any CSS property to its initial value as defined by t...
inherit
The inherit keyword resets any CSS property to the computed value of that proper...
all
The all CSS property is a shorthand for all CSS properties, except for direction...
Safe area inset environment variables
The safe-area-inset- CSS environment variables represent a rectangle that cannot...
Numeric factory functions
The numeric factory functions, such as CSS.px() or CSS.kHz(), return a CSSUnitVa...
getComputedStyle()
The getComputedStyle() global method returns an CSSStyleDeclaration object that ...
CSS typed object model
The CSSStyleValue and its subclasses represent CSS values as distinct types inst...
CSS object model (DOM level 2)
The DOM level 2 style specification defined interfaces to access and modify CSS ...
CSS object model
The CSS object model API reads, creates, and modifies CSS stylesheets and inline...
CSS.escape()
The CSS.escape() static method escapes a string so that it can be used in a vali...
Counters (CSS)
The counter-reset and counter-increment CSS properties and the counter() and cou...
@counter-style
The @counter-style CSS at-rule sets custom counter styles for list items. For ex...
counter-set
The counter-set CSS property creates (and optionally sets a value for) a counter...
Reversed counter-reset
The reversed() CSS function for counter-reset creates a counter that counts down...
Style containment
The contain: style CSS declaration permits the browser to avoid slower layout ca...
Size containment
The contain: size CSS declaration sets an element's dimensions exclusively by it...
Paint containment
The contain: paint CSS declaration prevents an element's descendants from being ...
Layout containment
The contain: layout CSS declaration isolates the inside of an element such that ...
contain-intrinsic-size
The contain-intrinsic-size CSS property sets the intrinsic size of an element. W...
Inline-size containment
The contain: inline-size CSS declaration prevents the element's inline dimension...
contain
The contain CSS property sets limits to the scope of styles, layout, and paint r...
Container style queries
Container style queries with the @container at-rule apply styles to an element b...
Container scroll-state queries
Container scroll-state queries with the @container scroll-state(...) at-rule app...
Container queries
Container size queries with the @container at-rule apply styles to an element ba...
System colors
The system color CSS keywords, such as ButtonBorder or LinkText, allow you to ma...
RGB
The rgb(), rgba(), and hexadecimal (as in #004488ff) notations pick colors using...
Oklab and Oklch
The Oklab color space expresses colors in terms of lightness and how red/green a...
Named colors
Some CSS color values can be referenced by name, such as red or limegreen. They ...
Lab and LCH
The CIE Lab color space expresses colors in terms of lightness and how red/green...
HWB
The hwb() CSS function picks colors using hue, whiteness, and blackness channels...
HSL
The hsl() and hsla() CSS functions pick colors using hue, saturation, lightness,...
currentColor
The currentColor CSS value allows you to reuse an element's computed text color ...
contrast-color()
The contrast-color() CSS function picks a color that has guaranteed contrast aga...
color()
The color() function picks a color from a given color space. Wide gamut color sp...
color-contrast()
The color-contrast() CSS function picks a color from a list that has the most co...
Borders
The border CSS property sets the color, style, and width of the line around an e...
border-radius
The border-radius CSS property rounds the corners of the border drawn around an ...
Border images
The border-image CSS property draws an image around an element.
mix-blend-mode
The mix-blend-mode CSS property blends an element's content with its background ...
isolation
The isolation CSS property creates a new stacking context, which impacts z-index...
background-blend-mode
The background-blend-mode CSS property blends an element's background image and ...
box-shadow
The box-shadow CSS property applies shadow effects around an element's frame. Th...
background-size
The background-size CSS property scales or stretches a background based on the s...
background-repeat
The background-repeat CSS property sets how a background image is tiled.
background-position
The background-position CSS property offsets the initial position of background ...
background-origin
The background-origin CSS property sets the background starting position relativ...
background-image
The background-image CSS property sets the graphics to display behind the conten...
background-color
The background-color CSS property sets the fill color of an element, behind any ...
background-clip: text
The background-clip: text CSS declaration draws the background underneath only t...
background-clip: border-area
The background-clip: border-area CSS declaration draws the background underneath...
background-clip
The background-clip CSS property sets the extent of the background: the padding ...
background-attachment
The background-attachment CSS property sets whether an element's background imag...
background
The background CSS property is a shorthand that sets several background properti...
WebOTP
The OTPCredential API represents a one-time-password (OTP).
Password credentials
The PasswordCredential API represents a username and password.
Federated credentials
The FederatedCredential API represents the details required to authenticate a us...
Federated credential management
The IdentityCredential API delegates authentication to a third-party identity pr...
Credential management
The navigator.credentials API provides generic storage for authentication creden...
Web authentication signal methods
The signalUnknownCredential(), signalAllAcceptedCredentials(), and signalCurrent...
Web authentication easy public key access
The getAuthenticatorData(), getPublicKey(), and getPublicKeyAlgorithm() methods ...
Web authentication
The web authentication API allows you to create public key-based credentials and...
Partitioned cookies
Partitioned cookies allow you to opt a cookie into partitioned storage, with a s...
Cookies
The Set-Cookie HTTP header stores limited amounts of data that persist across re...
Cookie store
The CookieStore API is an asynchronous and promise-based API for managing cookie...
cookieEnabled
The navigator.cookieEnabled property is a boolean for whether the browser accept...
Virtual pressure sources
The CreateVirtualPressureSource WebDriver command creates artificial sources of ...
CPU compute pressure
The PressureObserver API monitors CPU load, allowing you to adjust workloads in ...
shapes
The circle(), ellipse(), inset(), polygon(), rect(), and xywh() CSS shape functi...
shape-outside
The shape-outside CSS property, along with shape-margin and shape-image-threshol...
Masks
The mask CSS property (and several longhand properties) partially or completely ...
mask-type
The mask-type CSS property on an SVG <mask> element sets whether the mask is a l...
mask-border
The mask-border CSS property sets how the edges of an element are masked. It is ...
Clip path boxes
The fill-box, stroke-box, and view-box values for clip-path set an edge of the e...
Animatable clipping paths
The clip-path property can be animated using CSS transitions and animations.
clip-path
The clip-path CSS property and SVG attribute set the visible area of an element....
clip
The clip CSS property sets the visible area of an absolutely positioned element.
execCommand()
The execCommand() method reads and writes from the clipboard and performs editin...
Read unsanitized clipboard data
The optional formats.unsanitized parameter of the navigator.clipboard.read() met...
SVG clipboard items
The image/svg+xml data type (also known as the MIME type) for ClipboardItem obje...
ClipboardItem.supports()
The ClipboardItem.supports() static method checks if the browser supports writin...
Clipboard events
The "copy", "cut", and "paste" events fire on elements when the user starts an a...
Custom formats for clipboard items
The web prefix for ClipboardItem data types (also known as MIME types) allows r...
Async clipboard
The navigator.clipboard API asynchronously reads and writes to the system clipbo...
Offscreen canvas
The OffscreenCanvas API provides a canvas that can be drawn to off screen, with ...
captureStream() for <canvas>
The captureStream() method for <canvas> elements returns a MediaStream which inc...
Canvas roundRect()
The roundRect() methods draw a rounded rectangle to a 2D canvas.
Canvas reset()
The reset() method clears a canvas to its initial state.
Canvas createConicGradient()
The createConicGradient() methods draw a conic gradient to a 2D canvas.
contextlost and contextrestored
The contextlost event for <canvas> fires when the canvas backing storage is lost...
willReadFrequently
The optional willReadFrequently parameter of a canvas's getContext() method perm...
Desynchronized 2D canvas
The optional desynchronized parameter of a canvas's getContext() method permits ...
Color management for 2D canvas
The optional colorSpace parameter of a 2D canvas's getContext() method chooses t...
2D canvas opacity
The optional alpha parameter of a 2D canvas's getContext() method sets whether t...
2D canvas
The CanvasRenderingContext2D API is the "2d" rendering context for the <canvas> ...
<canvas>
The <canvas> HTML element is a space to draw graphics in, using the 2D canvas AP...
Web animations
The web animation API programmatically creates, inspects, and controls element a...
text-decoration-line: blink
The text-decoration: blink CSS declaration flashes text between visible and invi...
steps() easing
The steps() CSS easing function divides an animation or transition into equidist...
SMIL SVG animations
The <animate>, <animateMotion>, and <animateTransform> SVG elements declarativel...
cubic-bezier() easing
The cubic-bezier() CSS easing function interpolates along a smooth curve, creati...
Animations (CSS)
The animation CSS property animates an element's style over time, using keyframe...
animation-composition
The animation-composition CSS property chooses how to combine animations that af...