Groups
Work in progress. This page displays groups of features in a tree structure. Groups have not yet been finalized, expect frequent changes.
-
Clipping, shapes and masking
-
Credential management
-
CSS
-
Fonts
-
Layout
-
Media queries
- color-gamut media query
- display-mode media query
- dynamic-range media query
- Interaction media queries
- inverted-colors media query
- Media queries
- Media query range syntax
- Overflow media queries
- prefers-color-scheme media query
- prefers-contrast media query
- prefers-reduced-data media query
- prefers-reduced-motion media query
- prefers-reduced-transparency media query
- resolution media query
- resolution media query (compatibility prefixes)
- scripting media query
- @supports (compatibility prefix)
- Update frequency media query
- video-dynamic-range media query
-
Selectors
- Active view transition
- ::backdrop
- Case-insensitive attribute selector
- Case-sensitive attribute selector
- :default
- ::details-content
- :dir()
- :empty
- ::file-selector-button
- ::first-letter
- ::first-line
- :focus-visible
- :focus-within
- Form validity pseudo-classes
- :has()
- :has-slotted
- Host
- host-context
- Input selectors
- :is()
- :lang()
- Link selectors
- :modal
- @namespace
- :not()
- :nth-child()
- :nth-child() of <selector>
- :nth-of-type() pseudo-classes
- Open and closed selectors
- Page selectors
- ::placeholder
- :placeholder-shown
- :root
- :scope (pseudo-class)
- ::selection
- Selectors (core)
- Shadow parts
- ::spelling-error and ::grammar-error
- :target
- :target-within
- text-decoration in ::selection
- Time-relative pseudo-selectors
- User action pseudo-classes
- :user-valid and :user-invalid
- :where()
-
Text
-
Transitions (CSS)
- abs() and sign()
- accent-color
- Alt text for generated content
- Alternative style sheets
- Animations (CSS)
- appearance
- aspect-ratio
- attr()
- attr() (content only)
- backdrop-filter
- calc()
- calc() keywords
- calc-size()
- caret-color
- Cascade layers
- @charset
- Color
- color-mix()
- color-scheme
- Content
- content-visibility
- CSS.supports()
- Cursor styles
- Custom properties
- Display
- display animation
- display: contents
- display: flow-root
- display: list-item
- display: ruby
- display: table
- pow(), sqrt(), hypot(), log(), and exp()
- field-sizing
- filter
- float and clear
- Forced colors
- Hyphenation
- image-set()
- @import
- initial-letter
- Layout direction override
- light-dark()
- line-clamp
- linear() easing
- Logical properties
- margin-trim
- min(), max(), and clamp()
- Motion path
- @namespace
- Nesting
- object-view-box
- opacity
- overflow-clip-margin
- overflow
- overlay
- paint()
- paint-order
- Physical properties
- pointer-events
- Quotes
- reading-flow
- Relative colors
- resize (CSS property)
- round(), mod(), and rem()
- @scope
- speak
- speak-as
- @starting-style
- @supports
- text-indent
- Text overflow
- text-spacing-trim
- Text stroke and fill (compatibility prefixes)
- sin(), cos(), tan(), asin(), acos(), atan(), and atan2() (CSS)
- Two-value display property
- user-select
- vertical-align
- Vertical form controls
- visibility
- will-change
- writing-mode
- z-index
-
HTML
-
Forms
- :autofill
- <button>
- Constraint validation API
- <datalist>
- <fieldset> and <legend>
- <form>
- Form-associated custom elements
- :indeterminate
- <input>
- <input type="button">
- <input type="checkbox">
- <input type="color">
- Date and time <input> types
- Email, telephone, and URL <input> types
- <input type="file">
- <input type="hidden">
- <input type="image">
- <input type="number">
- <input type="password">
- <input type="radio">
- <input type="range">
- <input type="reset">
- Input selectors
- <input type="submit">
- <label>
- <output>
- <progress>
- :read-only and :read-write
- <input type="search">
- <select>
- showPicker() for <input>
- showPicker() for <select>
- <textarea>
- writingsuggestions
-
HTML elements
- <a>
- <abbr>
- <address>
- <article>
- <aside>
- <audio>
- <b>
- <base>
- <bdi>
- <bdo>
- <blockquote>
- <body>
- <br>
- <button>
- <canvas>
- <cite>
- <code>
- Console
- <data>
- <del>
- <details>
- Mutually exclusive <details> elements
- <dfn>
- <dialog>
- <div>
- <em>
- <embed>
- <fieldset> and <legend>
- <figure> and <figcaption>
- <head>
- <header> and <footer>
- <h1> through <h6>
- <hgroup>
- <hr>
- <html>
- <i>
- <iframe>
- Image maps
- <img>
- <input>
- <input type="button">
- <input type="checkbox">
- <input type="color">
- Date and time <input> types
- Email, telephone, and URL <input> types
- <input type="file">
- <input type="hidden">
- <input type="image">
- <input type="number">
- <input type="password">
- <input type="radio">
- <input type="range">
- <input type="reset">
- <input type="submit">
- <ins>
- <kbd>
- <label>
- <link>
- <ol>, <ul>, and <li>
- <main>
- <mark>
- <menu>
- <meta>
- <nav>
- <object>
- <output>
- <p>
- <picture>
- <pre>
- <progress>
- <q>
- <s>
- <samp>
- <script> and <noscript>
- <search>
- <section>
- <select>
- <slot>
- <small>
- <source>
- <span>
- <strong>
- <style>
- <sub> and <sup>
- Tables
- <template>
- Text tracks
- <textarea>
- <time>
- <title>
- <u>
- <var>
- <video>
- <wbr>
-
JavaScript
-
Collections
-
Arrays
- Array (initial support)
- Array at()
- Array by copy
- Array copyWithin()
- Array fill()
- Array find() and findIndex()
- Array findLast() and findLastIndex()
- Array flat() and flatMap()
- Array.from()
- Array.fromAsync()
- Array includes()
- Array.isArray()
- Array iteration methods
- Array iterators
- Array.of()
- Array splice()
- Stable array sort
-
Typed arrays
-
-
Primitive types
-
Strings
-
- Async functions
- Async generators
- Atomics.waitAsync
- BigInt
- BigInt64Array
- Classes
- Destructuring
- Exponentiation operator
- Functions
- Generators
- globalThis
- Hashbang comments
- JavaScript (initial core language support)
- Let and const
- Logical assignments
- Nullish coalescing
- Numeric separators
- Optional catch binding
- Proxy and Reflect
- SharedArrayBuffer and Atomics
- Spread syntax
- Template literals
- Temporal
- Top-level await
- Unicode point escapes
- Weak references
-
-
Performance
-
WebAssembly
- WebAssembly
- BigInt to i64 conversion (WebAssembly)
- Bulk memory operations (WebAssembly)
- Exception handling (WebAssembly)
- Exception references with exnref (WebAssembly)
- Extended constant expressions (WebAssembly)
- Garbage collection (WebAssembly)
- Memory64 (WebAssembly)
- Multi-memory (WebAssembly)
- Multi-value (WebAssembly)
- Import and export of mutable globals (WebAssembly)
- Non-trapping float-to-int conversion (WebAssembly)
- Reference types (WebAssembly)
- Sign extension operators (WebAssembly)
- Fixed-width SIMD (WebAssembly)
- Relaxed-width SIMD (WebAssembly)
- String builtins (WebAssembly)
- Tail call optimization (WebAssembly)
- Threads and atomics (WebAssembly)
- Typed function references (WebAssembly)
-
WebGL
-
WebGL extensions
- ANGLE_instanced_arrays WebGL extension
- EXT_blend_minmax WebGL extension
- EXT_color_buffer_float WebGL extension
- EXT_color_buffer_half_float WebGL extension
- EXT_disjoint_timer_query WebGL extension
- EXT_float_blend WebGL extension
- EXT_frag_depth WebGL extension
- EXT_shader_texture_lod WebGL extension
- EXT_sRGB WebGL extension
- EXT_texture_compression_bptc WebGL extension
- EXT_texture_compression_rgtc WebGL extension
- EXT_texture_filter_anisotropic WebGL extension
- EXT_texture_norm16c WebGL extension
- KHR_parallel_shader_compile WebGL extension
- OES_element_index_uint WebGL extension
- OES_fbo_render_mipmap WebGL extension
- OES_standard_derivatives WebGL extension
- OES_texture_float WebGL extension
- OES_texture_float_linear WebGL extension
- OES_texture_half_float WebGL extension
- OES_texture_half_float_linear WebGL extension
- OES_vertex_array_object WebGL extension
- OVR_multiview2 WebGL extension
- WEBGL_color_buffer_float WebGL extension
- WEBGL_compressed_texture_astc WebGL extension
- WEBGL_compressed_texture_etc WebGL extension
- WEBGL_compressed_texture_etc1 WebGL extension
- WEBGL_compressed_texture_pvrtc WebGL extension
- WEBGL_compressed_texture_s3tc WebGL extension
- WEBGL_compressed_texture_s3tc_srgb WebGL extension
- WEBGL_debug_renderer_info WebGL extension
- WEBGL_debug_shaders WebGL extension
- WEBGL_depth_texture WebGL extension
- WEBGL_draw_buffers WebGL extension
- WEBGL_lose_context WebGL extension
- WEBGL_multi_draw WebGL extension
- OES_draw_buffers_indexed WebGL extension
-
Ungrouped features
- Abortable fetch
- AbortController and AbortSignal
- AbortSignal.any()
- Alerts
- Anchor positioning
- ARIA attribute reflection
- Attribution reporting
- Audio session
- Autofocus
- AVIF
- Background fetch
- Background sync
- Badging
- BarProp
- Base64 encoding and decoding
- baseline-source
- Battery status
- Beacons
- ::before and ::after
- Beforeunload
- box-decoration-break
- Brotli compression
- checkVisibility()
- Clearing site data
- CloseWatcher
- Composition events
- Compression streams
- Constructed stylesheets
- Contact picker
- Content Index
- cookieEnabled
- Cookie store
- Cookies
- createImageBitmap
- CSS import attributes
- Custom ellipses
- Data URLs
- Dataset
- Device posture
- Digital goods
- dirname
- document.caretPositionFromPoint()
- Document picture-in-picture
- DOM
- DOM Geometry
- download
- Drag and Drop
- EditContext
- element()
- document.elementFromPoint() and document.elementsFromPoint()
- Error cause
- Events
- Eyedropper
- <fencedframe>
- Fetch
- Fetch metadata request headers
- Fetch priority
- Focus events
- Math font family
- System font
- Font loading
- Fullscreen API
- Geolocation
- Global privacy control
- Hanging punctuation
- hardwareConcurrency
- hashchange
- Custom highlights
- History
- HTML media capture
- HTTP authentication
- HTTP/1.1
- HTTP/2
- HTTP/3
- Idle detection
- Sandboxed iframes
- srcdoc
- Import maps
- IndexedDB
- Ink
- Input events
- Intersection observer
- Intersection observer visibility tracking
- JPEG XL
- Keyboard events
- Keyboard lock
- Keyboard map
- Language
- Lazy-loading images and iframes
- Local fonts
- Location
- Managed media source
- MathML
- Media capture
- Media session
- Media source
- Min and max width and height
- <link rel="modulepreload">
- Mouse events
- MutationObserver
- Navigation API
- Navigator
- Network Information
- Notifications
- Notifications from service workers and installed apps
- object-fit
- Object
- object-position
- Online status
- outline
- Outlines
- Page lifecycle
- Page transition events
- Page visibility
- Unsanitized HTML parsing methods
- Partitioned cookies
- path()
- pdfViewerEnabled
- Picture-in-picture (video)
- ping
- Pointer Events
- Pointer lock
- Preloading responsive images
- Presentation API
- Profiler
- Push messages
- Referrer policy
- Regular expressions
- RegExp.escape()
- Registered custom properties
- registerProtocolHandler
- Remote playback
- Reporting API
- requestAnimationFrame()
- requestAnimationFrame() in workers
- requestIdleCallback()
- Resizable buffers
- Resize observer
- Save-Data
- Scheduler API
- Screen capture
- Screen orientation
- Screen orientation lock
- Screen wake lock
- Web serial
- Serializable errors
- Service workers
- setInterval
- setTimeout
- navigator.share()
- Sourcemap header
- Speculation rules
- structuredClone()
- text-decoration
- text-emphasis
- Text encoding and decoding
- text-size-adjust
- touch-action
- Touch events
- Transferable ArrayBuffer
- transform-box
- translate attribute
- User agent client hints
- URL
- URL.canParse()
- URLPattern
- User agent sniffing
- Vibration
- Small, large, and dynamic viewport units
- Virtual keyboard
- Visual viewport API
- Web Bluetooth
- Locks
- Web MIDI
- Web NFC
- Web authentication
- Web authentication easy public key access
- WebCodecs
- WebGL2
- Color management for WebGL2
- Desynchronized WebGL2 canvas
- WebGPU
- WebHID
- WebNN
- WebP
- WebSockets
- WebTransport
- WebUSB
- WebVTT
- WebVTT cue alignment
- WebVTT cue settings
- WebVTT regions
- Wheel events
- Window
- Window management
- XMLHttpRequest
- zoom
- Zstandard compression