Alternate rendition of Fyrd's Can I use page with Wikimedia browser usage statistics.
feature | And. | Chrome | iOS | Edge | Safari | SS | Firefox | % | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
128 | 79 | 100 | 104 | 109 | 118 | 124 | 127 | 128 | 129 | 15 | 16 | 17 | 17.6 | 107 | 128 | 16 | 17 | 17.6 | 25 | 119 | 129 | 130 | 131 | ||||
feature | And. | Chrome | iOS | Edge | Safari | SS | Firefox | % | |||||||||||||||||||
webkit | moz | ||||||||||||||||||||||||||
css3 | CSS3 Text-overflow Append ellipsis when text overflows its containing element. Resources: jQuery polyfill for Firefox, MDN Web Docs - text-overflow, has.js test, WebPlatform Docs. | rec | 2.1 | 4 | 3.2 | 6 | 3.1 | 4 | 7 | 94 | |||||||||||||||||
css2 | CSS inline-block Method of displaying an element as a block while flowing it with text. Browser-specific notes:
| rec | 2.1 | 4 | 3.2 | 8 | 3.1 | 4 | 3 | 94 | |||||||||||||||||
css2 | CSS min/max-width/height Method of setting a minimum or maximum width or height to an element. Browser-specific notes:
| rec | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
png | PNG alpha transparency Semi-transparent areas in PNG files. IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs. Resources: Wikipedia. | rec | 2.1 | 4 | 3.2 | 7 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
css2 | CSS 2.1 selectors Basic CSS selectors including: Support for | rec | 2.1 | 4 | 3.2 | 7 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
css3 | CSS3 Opacity Method of setting the transparency level of an element. Transparency for elements in IE8 and older can be achieved using the proprietary "filter" property and does not work well with PNG images using alpha transparency. Resources: WebPlatform Docs. | rec | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
css3 | CSS first-line pseudo-element Allows styling specifically for the first line of text using the Browser-specific notes:
Parent feature: CSS3 selectors. | rec | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
html5 | contenteditable attribute (basic support) Method of making any HTML element editable. This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited. Resources: WHATWG blog post, Blog post on usage problems, WebPlatform Docs, MDN Web Docs - contentEditable attribute. | ls | 3 | 4 | 5 | 5.5 | 3.1 | 4 | 3.5 | 94 | |||||||||||||||||
css2 | CSS Counters Method of controlling number values in generated content, using the | rec | 2.1 | 4 | 3.2 | 8 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
dom | Element.insertAdjacentElement() & Element.insertAdjacentText() Methods for inserting an element or text before or after a given element, or appending or prepending an element or text to a given element's list of children. Resources: WHATWG DOM Specification for Element.insertAdjacentText(), MDN Web Docs - Element.insertAdjacentElement(), MDN Web Docs - Element.insertAdjacentText(), JS Bin testcase. | ls | 2.3 | 4 | 3.2 | 6 | 3.1 | 4 | 48 | 94 | |||||||||||||||||
css3 | CSS3 Box-sizing Method of specifying whether or not an element's borders and padding should be included in size units. Firefox versions before 57 also supported the | wd | 4 | 10 | 5 | 8 | 5.1 | 4 | 29 | 94 | |||||||||||||||||
css2 | CSS Table display Method of displaying elements as tables, rows, and cells. Includes support for all Browser-specific notes:
| rec | 2.1 | 4 | 3.2 | 8 | 3.1 | 4 | 3 | 94 | |||||||||||||||||
dom | Document Object Model Range A contiguous range of content in a Document, DocumentFragment or Attr. See MDN for feature support details. Resources: MDN Web Docs - Range, QuirksMode, "Rangy" Range library with old IE support. | ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
css | background-position-x & background-position-y CSS longhand properties to define x or y positions separately. A workaround for the lack of support in Firefox 31 - Firefox 48 is to use CSS variables. See this Stack Overflow answer for an example. Resources: Firefox implementation bug, Blog post on background-position-x & y properties, MDN Web Docs - background-position-x, MDN Web Docs - background-position-y. | unoff | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 49 | 94 | |||||||||||||||||
js | Web Storage - name/value pairs Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5). Resources: MDN Web Docs - Web Storage, Support library, Simple demo, has.js test, WebPlatform Docs. | ls | 2.1 | 4 | 3.2 | 8 | 4 | 4 | 3.5 | 94 | |||||||||||||||||
css2 | CSS Generated content for pseudo-elements Method of displaying text or images before or after the given element's contents using the ::before and ::after pseudo-elements. All browsers with support also support the For content to appear in pseudo-elements, the Browser-specific notes:
| rec | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
dom | querySelector/querySelectorAll Method of accessing DOM elements using CSS selectors. Browser-specific notes:
| ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 3.5 | 94 | |||||||||||||||||
css | CSS position:fixed Method of keeping an element in a fixed location regardless of scroll position. Browser-specific notes:
| rec | 4.4 | 4 | 8 | 7 | 10 | 4 | 2 | 94 | |||||||||||||||||
dom | getElementsByClassName | ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 3 | 94 | |||||||||||||||||
css3 | @font-face Web fonts Method of displaying fonts downloaded from websites. Not supported by IE Mobile 9 and below. Browser-specific notes:
| rec | 4 | 4 | 4.2 | 9 | 3.1 | 4 | 3.5 | 94 | |||||||||||||||||
canvas | Canvas (basic support) Method of generating fast, dynamic graphics using JavaScript. For screen readers, IE, Chrome & Firefox support the accessible canvas element sub-DOM. Browser-specific notes:
| ls | 3 | 4 | 3.2 | 9 | 4 | 4 | 3.6 | 94 | |||||||||||||||||
css3 | CSS3 selectors Advanced element selection using selectors including: Browser-specific notes:
| rec | 2.1 | 4 | 3.2 | 9 | 3.2 | 4 | 3.5 | 94 | |||||||||||||||||
js | Document.execCommand() Allows running commands to manipulate the contents of an editable region in a document switched to designMode. To determine what commands are supported, see | unoff | 4.1 | 4 | 7 | 5.5 | 6 | 4 | 9 | 94 | |||||||||||||||||
dom | naturalWidth & naturalHeight image properties Properties defining the intrinsic width and height of the image, rather than the displayed width & height. Resources: Blog post on support in IE, gist on getting natural width & height in older IE. | ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
dom | EventTarget.addEventListener() The modern standard API for adding DOM event handlers. Introduced in the DOM Level 2 Events spec. Also implies support for Browser-specific notes:
| ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 7 | 94 | |||||||||||||||||
dom | DOMContentLoaded JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.). Resources: MDN Web Docs - DOMContentLoaded. | ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
other | XHTML served as application/xhtml+xml A strict form of HTML, and allows embedding of other XML languages. The XHTML syntax is very close to HTML, and thus is almost always (incorrectly) served as text/html on the web. Resources: Wikipedia, Information on XHTML5. | ls | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 2 | 94 | |||||||||||||||||
css3 | CSS3 Media Queries Method of applying styles based on media information. Includes things like page and device dimensions. Browser-specific notes:
| rec | 4.4 | 26 | 7 | 12 | 6.1 | 4 | 3.5 | 94 | |||||||||||||||||
canvas | Text API for Canvas Method of displaying text on Canvas elements. Resources: Examples by Mozilla, Support library, has.js test, WebPlatform Docs.Parent feature: Canvas (basic support). | ls | 2.1 | 4 | 3.2 | 9 | 4 | 4 | 3.5 | 94 | |||||||||||||||||
css3 | CSS3 Colors Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla(). Resources: Dev.Opera article, WebPlatform Docs. | rec | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 3 | 93 | |||||||||||||||||
js | Base64 encoding and decoding Utility functions for encoding and decoding strings to and from base 64: window.atob() and window.btoa(). Resources: MDN Web Docs - btoa(), MDN Web Docs - atob(), Polyfill. | ls | 2.1 | 4 | 3.2 | 10 | 3.1 | 4 | 2 | 93 | |||||||||||||||||
css3 | CSS3 Border-radius (rounded corners) Method of making the border corners round. Covers support for the shorthand Browser-specific notes:
| cr | 2.2 | 5 | 4 | 9 | 7 | 4 | 50 | 93 | |||||||||||||||||
js | Element.getBoundingClientRect() Method to get the size and position of an element's bounding box, relative to the viewport. Browser-specific notes:
| wd | 2.3 | 4 | 4 | 79 | 4 | 4 | 12 | 93 | |||||||||||||||||
js | Basic console logging functions Method of outputting data to the browser's console, intended for development purposes. The basic functions that this information refers to include Browser-specific notes:
| ls | 2.1 | 4 | 6 | 10 | 3.1 | 4 | 4 | 93 | |||||||||||||||||
dom | document.elementFromPoint() Given coordinates for a point relative to the viewport, returns the element that a click event would be dispatched at if the user were to click the point (in other words, the element that hit-testing would find). Resources: MDN Web Docs - elementFromPoint. | wd | 2.3 | 15 | 4 | 6 | 5 | 4 | 3 | 93 | |||||||||||||||||
css3 | CSS3 Multiple backgrounds Method of using multiple images as a background. Resources: Demo & information page, WebPlatform Docs. | cr | 2.1 | 4 | 3.2 | 9 | 3.1 | 4 | 3.6 | 93 | |||||||||||||||||
css3 | CSS3 2D Transforms Method of transforming an element including rotating, scaling, etc. Includes support for The scale transform can be emulated in IE < 9 using Microsoft's "zoom" extension, others are (not easily) possible using the MS Matrix filter. Browser-specific notes:
| cr | 128 | 36 | 9 | 17 | 9 | 4 | 16 | 93 | |||||||||||||||||
dom | HTMLElement.innerText A property representing the text within a DOM element and its descendants. As a getter, it approximates the text the user would get if they highlighted the contents of the element with the cursor and then copied to the clipboard. This test only checks that the property exists and works correctly in a very simple case. | ls | 2.3 | 4 | 4 | 6 | 3.2 | 4 | 45 | 93 | |||||||||||||||||
js | Geolocation Method of informing a website of the user's geographical location. Browser-specific notes:
| rec | 128 | 50 | 10 | 79 | 10.1 | 5 | 55 | 93 | |||||||||||||||||
html5 | dataset & data-* attributes Method of applying and accessing custom data to elements. Partial support refers to being able to use Browser-specific notes:
| ls | 3 | 55 | 5 | 17 | 5.1 | 4 | 51 | 93 | |||||||||||||||||
html5 | Video element Method of playing videos on webpages (without requiring a plug-in). Includes support for the following media properties: Different browsers have support for different video formats, see sub-features for details. Browser-specific notes:
| ls | 2.3 | 4 | 11 | 9 | 11 | 4 | 20 | 93 | |||||||||||||||||
other | Data URIs Method of embedding images and other files in webpages as a string of text, generally using base64 encoding. Browser-specific notes:
| other | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 93 | |||||||||||||||||
js | Element.insertAdjacentHTML() Inserts a string of HTML into a specified position in the DOM relative to the given element. Browser-specific notes:
| cr | 2.3 | 4 | 4 | 10 | 4 | 4 | 8 | 93 | |||||||||||||||||
css3 | CSS outline properties The CSS outline properties draw a border around an element that does not affect layout, making it ideal for highlighting. This covers the Browser-specific notes:
| cr | 2.1 | 4 | 3.2 | 15 | 3.1 | 4 | 2 | 93 | |||||||||||||||||
svg | SVG (basic support) Method of displaying basic Vector Graphics features using the embed or object elements. Refers to the SVG 1.1 spec. Browser-specific notes:
| cr | 4.4 | 4 | 3.2 | 79 | 3.2 | 4 | 3 | 93 | |||||||||||||||||
css3 | CSS3 Text-shadow Method of applying one or more shadow or blur effects to text. Opera Mini ignores the blur-radius set, so no blur effect is visible. Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard "dropshadow" or "glow" filters. Browser-specific notes:
| cr | 2.1 | 4 | 3.2 | 79 | 4 | 4 | 3.5 | 93 | |||||||||||||||||
dom | maxlength attribute for input and textarea elements Declares an upper bound on the number of characters the user can input. Normally the UI ignores attempts by the user to type in additional characters beyond this limit. Browser-specific notes:
Parent feature: Form validation. | ls | 128 | 4 | 9 | 79 | 5.1 | 4 | 51 | 93 | |||||||||||||||||
css3 | CSS3 word-break Property to prevent or allow words to be broken over multiple lines between letters. Partial support refers to supporting the | cr | 128 | 44 | 9 | 5.5 | 9 | 4 | 15 | 93 | |||||||||||||||||
js | JSON parsing Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse(). Browser-specific notes:
Parent feature: ECMAScript 5. | other | 2.1 | 4 | 4 | 9 | 4 | 4 | 3.5 | 93 | |||||||||||||||||
html5 | input placeholder attribute Method of setting placeholder text for text-like input fields, to suggest the expected inserted information. Browser-specific notes:
| ls | 4.2 | 4 | 3.2 | 10 | 5 | 4 | 4 | 93 | |||||||||||||||||
security | Server Name Indication An extension to the TLS computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the handshaking process. Browser-specific notes:
| other | 3 | 6 | 4 | 9 | 3.1 | 4 | 2 | 93 | |||||||||||||||||
js | Cross-document messaging Method of sending information from a page on one domain to a page on a different one (using postMessage). Browser-specific notes:
| ls | 2.1 | 4 | 3.2 | 12 | 4 | 4 | 3 | 93 | |||||||||||||||||
html5 | Hashchange event Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar). Resources: MDN Web Docs - onhashchange, Simple demo, Polyfill, WebPlatform Docs. | ls | 2.2 | 5 | 4 | 8 | 5 | 4 | 3.6 | 93 | |||||||||||||||||
css | letter-spacing CSS property Controls spacing between characters of text (i.e. "tracking" in typographical terms). Not to be confused with kerning. Browser-specific notes:
| rec | 4.4 | 30 | 4 | 9 | 6.1 | 4 | 2 | 93 | |||||||||||||||||
css | CSS namespaces Using the | rec | 2.1 | 4 | 4.2 | 9 | 4 | 4 | 2 | 93 | |||||||||||||||||
dom | DOM Parsing and Serialization Various DOM parsing and serializing functions, specifically Browser-specific notes:
| cr | 4.4 | 31 | 8 | 10 | 7.1 | 4 | 12 | 93 | |||||||||||||||||
html5 | wbr (word break opportunity) element Represents an extra place where a line of text may optionally be broken. Resources: MDN Web Docs - Element wbr. | ls | 2.3 | 4 | 5 | 12 | 3.2 | 4 | 2 | 93 | |||||||||||||||||
css | Window.devicePixelRatio Read-only property that returns the ratio of the (vertical) size of one physical pixel on the current display device to the size of one CSS pixel. As the page is zoomed in the number of device pixels that one CSS pixel covers increases, and therefore the value of devicePixelRatio will also increase. Resources: MDN Web Docs - devicePixelRatio. | wd | 2.1 | 4 | 3.2 | 11 | 3.1 | 4 | 18 | 93 | |||||||||||||||||
dom | readonly attribute of input and textarea elements Makes the form control non-editable. Unlike the Browser-specific notes:
| ls | 2.3 | 26 | 7 | 6 | 5.1 | 4 | 4 | 93 | |||||||||||||||||
css | CSS currentColor value A CSS value that will apply the existing | rec | 2.1 | 4 | 4 | 9 | 4 | 4 | 2 | 93 | |||||||||||||||||
dom | EventTarget.dispatchEvent Method to programmatically trigger a DOM event. Browser-specific notes:
| ls | 2.3 | 4 | 4 | 11 | 3.2 | 4 | 2 | 93 | |||||||||||||||||
dom | Node.textContent DOM Node property representing the text content of a node and its descendants.
| ls | 2.3 | 4 | 4 | 9 | 3.2 | 4 | 2 | 93 | |||||||||||||||||
html5 | Selection controls for input & textarea Controls for setting and getting text selection via | ls | 2.1 | 4 | 4 | 9 | 4 | 4 | 2 | 93 | |||||||||||||||||
other | MPEG-4/H.264 video format Commonly used video compression format. Firefox supports H.264 on Windows 7 and later since version 21. Firefox supports H.264 on Linux since version 26 if the appropriate system libraries are installed. Browser-specific notes:
Parent feature: Video element. | other | 4.4 | 4 | 3.2 | 9 | 3.2 | 4 | 35 | 93 | |||||||||||||||||
css | ::first-letter CSS pseudo-element selector CSS pseudo-element that allows styling only the first "letter" of text within an element. Useful for implementing initial caps or drop caps styling. The spec says that both letters of digraphs which are always capitalized together (such as "IJ" in Dutch) should be matched by ::first-letter, but no browser has ever implemented this. Browser-specific notes:
| rec | 3 | 9 | 5 | 9 | 5.1 | 4 | 3.5 | 93 | |||||||||||||||||
js | Web Workers Method of running scripts in the background, isolated from the web page. Resources: MDN Web Docs - Using Web Workers, Web Worker demo, Polyfill for IE (single threaded), Tutorial. | ls | 4.4 | 4 | 5 | 10 | 4 | 4 | 3.5 | 93 | |||||||||||||||||
css3 | CSS3 Box-shadow Method of displaying an inner or outer shadow effect to elements. Can be partially emulated in older IE versions using the non-standard "shadow" filter. Browser-specific notes:
| cr | 4 | 10 | 5 | 9 | 5.1 | 4 | 4 | 93 | |||||||||||||||||
js | console.time and console.timeEnd Functions for measuring performance.
Parent feature: Basic console logging functions. | ls | 2.1 | 4 | 3.2 | 11 | 4 | 4 | 10 | 93 | |||||||||||||||||
css3 | CSS pointer-events (for HTML) This CSS property, when set to "none" allows elements to not receive hover/click events, instead the event will occur on anything behind it. Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements. Resources: Article & tutorial, has.js test, Polyfill. | unoff | 2.1 | 4 | 3.2 | 11 | 4 | 4 | 3.6 | 93 | |||||||||||||||||
css3 | getComputedStyle API to get the current computed CSS styles applied to an element. This may be the current value applied by an animation or as set by a stylesheet. Browser-specific notes:
| rec | 4 | 11 | 5 | 9 | 5 | 4 | 4 | 93 | |||||||||||||||||
css3 | SVG in CSS backgrounds Method of using SVG images as CSS backgrounds. Browser-specific notes:
| cr | 3 | 5 | 4.2 | 16 | 5 | 4 | 24 | 93 | |||||||||||||||||
html5 | Email, telephone & URL input types Text input fields intended for email addresses, telephone numbers or URLs. Particularly useful in combination with form validation. Browsers without support for these types will fall back to using the "text" type. Browser-specific notes:
| ls | 3 | 5 | 3.2 | 10 | 5 | 4 | 4 | 93 | |||||||||||||||||
dom | KeyboardEvent.charCode A legacy This property is legacy and deprecated. Browser-specific notes:
| unoff | 2.3 | 4 | 5 | 9 | 4 | 4 | 3 | 93 | |||||||||||||||||
dom | defer attribute for external scripts The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first. Browser-specific notes:
| ls | 3 | 8 | 5 | 10 | 5 | 4 | 31 | 93 | |||||||||||||||||
css3 | CSS3 Transitions Simple method of animating certain properties of an element, with ability to define property, duration, delay and timing function. Support listed is for Browser-specific notes:
| wd | 4.4 | 26 | 7 | 10 | 6.1 | 4 | 16 | 93 | |||||||||||||||||
js | localeCompare() The Browser-specific notes:
| other | 4.4 | 24 | 10 | 11 | 10 | 5 | 29 | 93 | |||||||||||||||||
other | MP3 audio format Popular lossy audio compression format. Support refers to this format's use in the Browser-specific notes:
Parent feature: Audio element. | other | 2.3 | 4 | 4 | 9 | 4 | 4 | 22 | 93 | |||||||||||||||||
html5 | Range input type Form field type that allows the user to select a value using a slider widget. Currently all Android browsers with partial support hide the slider input field by default. However, the element can be styled to be made visible and usable. Resources: Polyfill for Firefox, Cross-browser polyfill, Tutorial, has.js test, WebPlatform Docs, rangeslider.js polyfill, MDN web docs, Tutorial. | ls | 4.2 | 4 | 5 | 10 | 3.1 | 4 | 23 | 93 | |||||||||||||||||
css3 | CSS3 Background-image options New properties to affect background images, including background-clip, background-origin and background-size. Firefox, Chrome and Safari support the unofficial Browser-specific notes:
| cr | 4.4 | 15 | 7 | 9 | 7 | 4 | 4 | 93 | |||||||||||||||||
html5 | Inline SVG in HTML5 Method of using SVG tags directly in HTML documents. Requires HTML5 parser. Browser-specific notes:
| ls | 4.4 | 7 | 9 | 17 | 9 | 4 | 4 | 93 | |||||||||||||||||
dom | document.evaluate & XPath Allow nodes in an XML/HTML document to be traversed using XPath expressions. Resources: XPath in Javascript: Introduction, MDN Web Docs - XPath introduction, Edge team article on implementation, DOM XPath - WHATWG Wiki. | unoff | 2.1 | 4 | 3.2 | 12 | 3.1 | 4 | 3 | 93 | |||||||||||||||||
html5 | PNG favicons Icon used by browsers to identify a webpage or site. While all browsers support the Favicon support is a complicated topic. See this guide for more information. Browser-specific notes:
| ls | 2.1 | 4 | 12 | 11 | 3.1 | 4 | 2 | 93 | |||||||||||||||||
js | Cross-Origin Resource Sharing Method of performing XMLHttpRequests across domains. Browser-specific notes:
| ls | 4.4 | 13 | 6 | 11 | 6 | 4 | 71 | 93 | |||||||||||||||||
js | ECMAScript 5 Full support for the ECMAScript 5 specification. Features include As the specification includes many JavaScript features, un-numbered partial support varies widely and is shown in detail on the ECMAScript 5 compatibility tables by Kangax. Browser-specific notes:
| other | 4.4 | 23 | 6 | 10 | 6 | 4 | 21 | 93 | |||||||||||||||||
html5 | PageTransitionEvent Fired at the Window when the page's entry in the session history stops being the current entry. Includes the Whether or not a document was/will be cached by a back-forward cache is indicated by | ls | 2.3 | 4 | 5 | 11 | 5 | 4 | 2 | 93 | |||||||||||||||||
css3 | CSS Animation Complex method of animating certain properties of an element. Browser-specific notes:
| wd | 128 | 43 | 9 | 10 | 9 | 4 | 16 | 93 | |||||||||||||||||
dom | document.head Convenience property for accessing the | ls | 2.3 | 4 | 4 | 9 | 5.1 | 4 | 4 | 93 | |||||||||||||||||
css3 | rem (root em) units Type of unit similar to Browser-specific notes:
| cr | 2.1 | 4 | 6 | 11 | 5 | 4 | 3.6 | 93 | |||||||||||||||||
css3 | TTF/OTF - TrueType and OpenType font support Support for the TrueType (.ttf) and OpenType (.otf) outline font formats in @font-face. Browser-specific notes:
Parent feature: @font-face Web fonts. | other | 2.2 | 4 | 4.2 | 12 | 3.1 | 4 | 3.5 | 93 | |||||||||||||||||
dom | focusin & focusout events The In browsers that don't support these events, one alternative is to use a capture phase event listener for the | wd | 4 | 15 | 5 | 6 | 5.1 | 4 | 52 | 93 | |||||||||||||||||
css3 | CSS3 Overflow-wrap Allows lines to be broken within words if an otherwise unbreakable string is too long to fit. Currently mostly supported using the Partial support refers to requiring the legacy name "word-wrap" (rather than "overflow-wrap") to work. Resources: WebPlatform Docs, Bug on Firefox support, MDN Web Docs - CSS overflow-wrap. | cr | 4.4 | 23 | 7 | 18 | 6.1 | 4 | 49 | 93 | |||||||||||||||||
html5 | HTML5 semantic elements HTML5 offers some new elements, primarily for semantic purposes. The elements include: Browser-specific notes:
| ls | 4.4 | 26 | 7 | 12 | 6.1 | 4 | 21 | 93 | |||||||||||||||||
svg | SVG SMIL animation Method of using animation elements to animate SVG images. Browser-specific notes:
| rec | 3 | 5 | 6 | 79 | 6 | 4 | 4 | 93 | |||||||||||||||||
svg | SVG in HTML img element Method of displaying SVG images in HTML using <img>. Browser-specific notes:
| ls | 4.4 | 28 | 9 | 9 | 9 | 4 | 4 | 93 | |||||||||||||||||
other | WOFF - Web Open Font Format Compressed TrueType/OpenType font that contains information about the font's source. Browser-specific notes:
Parent feature: @font-face Web fonts. | rec | 4.4 | 5 | 5 | 9 | 5.1 | 4 | 3.6 | 93 | |||||||||||||||||
html5 | Session history management Method of manipulating the user's browser's session history in JavaScript using Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful. Resources: Introduction to history management, MDN Web Docs - Manipulating the browser history, Demo page, History.js polyfill, has.js test, WebPlatform Docs. | ls | 4.2 | 5 | 5 | 10 | 6 | 4 | 4 | 93 | |||||||||||||||||
html5 | sandbox attribute for iframes Method of running external site pages with reduced privileges (e.g. no JavaScript) in iframes. Resources: Chromium blog article, MSDN article, WebPlatform Docs. | ls | 2.2 | 5 | 4 | 10 | 5 | 4 | 28 | 93 | |||||||||||||||||
svg | SVG filters Method of using Photoshop-like effects on SVG objects including blurring and color manipulation. Resources: SVG filter demos, WebPlatform Docs, SVG Filter effects. | rec | 4.4 | 8 | 6 | 10 | 6 | 4 | 3 | 93 | |||||||||||||||||
dom | indeterminate checkbox Indeterminate checkboxes are displayed in a state which is distinct both from being checked or being unchecked. They are commonly used in hierarchical checkboxes to indicate that only some of the checkbox's descendants are checked. Indeterminacy does not affect a checkbox's checkedness state. It merely affects how the checkbox is displayed. Resources: CSS-Tricks article, iOS versions below 12 don't support indeterminate checkboxes (WebKit Bug 160484). | ls | 4.4 | 28 | 12.2 | 6 | 6 | 4 | 3.6 | 93 | |||||||||||||||||
dom | KeyboardEvent.location A Browser-specific notes:
| wd | 4.4 | 30 | 8 | 9 | 6.1 | 4 | 15 | 93 | |||||||||||||||||
security | Strict Transport Security Declare that a website is only accessible over a secure connection (HTTPS). The HTTP header is 'Strict-Transport-Security'. Browser-specific notes:
| other | 4.4 | 4 | 7 | 12 | 7 | 4 | 4 | 93 | |||||||||||||||||
dom | disabled attribute of the fieldset element Allows disabling all of the form control descendants of a fieldset via a Browser-specific notes:
| ls | 4.4 | 20 | 6 | 12 | 6 | 4 | 4 | 93 | |||||||||||||||||
js | Web Sockets Bidirectional communication technology for web apps. Reported to be supported in some Android 4.x browsers, including Sony Xperia S, Sony TX and HTC. Browser-specific notes:
| ls | 4.4 | 16 | 6 | 10 | 7 | 4 | 11 | 93 | |||||||||||||||||
canvas | WebGL - 3D Canvas graphics Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware. WebGL support is dependent on GPU support and may not be available on older devices. This is due to the additional requirement for users to have up to date video drivers. Browser-specific notes:
Parent feature: Canvas (basic support). | other | 128 | 33 | 8 | 79 | 8 | 4 | 24 | 93 | |||||||||||||||||
css3 | CSS Flexible Box Layout Module Method of positioning elements in horizontal or vertical stacks. Support includes all properties prefixed with Most partial support refers to supporting an older version of the specification or an older syntax. Browser-specific notes:
| cr | 4.4 | 29 | 9 | 12 | 9 | 4 | 28 | 93 | |||||||||||||||||
other | Wav audio format Waveform Audio File Format, aka WAV or WAVE, a typically uncompressed audio format. Support refers to this format's use in the Parent feature: Audio element. | other | 2.3 | 8 | 3.2 | 12 | 4 | 4 | 3.5 | 93 | |||||||||||||||||
dom | async attribute for external scripts The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first. Browser-specific notes:
| ls | 3 | 8 | 5 | 10 | 5.1 | 4 | 3.6 | 93 | |||||||||||||||||
css3 | CSS3 3D Transforms Method of transforming an element in the third dimension using the Browser-specific notes:
| wd | 128 | 36 | 9 | 15.4 | 12 | 15.4 | 4 | 16 | 93 | ||||||||||||||||
css | CSS initial value A CSS value that will apply a property's initial value as defined in the CSS specification that defines the property. Browser-specific notes:
| cr | 2.3 | 4 | 4 | 12 | 3.2 | 4 | 19 | 93 | |||||||||||||||||
js | Channel messaging Method for having two-way communication between browsing contexts (using MessageChannel). Browser-specific notes:
Parent feature: Cross-document messaging. | ls | 4.4 | 4 | 5 | 10 | 5 | 4 | 41 | 93 | |||||||||||||||||
css | :optional CSS pseudo-class The Browser-specific notes:
Parent feature: Form validation. | wd | 2.3 | 15 | 5 | 10 | 5 | 4 | 4 | 93 | |||||||||||||||||
dom | classList (DOMTokenList) Method of easily manipulating classes on elements, using the Browser-specific notes:
| ls | 4.4 | 28 | 7 | 12 | 7 | 4 | 26 | 93 | |||||||||||||||||
html5 | progress element Method of indicating a progress state. Browser-specific notes:
| ls | 4.4 | 8 | 8 | 10 | 6 | 4 | 6 | 93 | |||||||||||||||||
dom | matchMedia API for finding out whether or not a media query applies to the document. Resources: matchMedia.js polyfill, MDN Web Docs - matchMedia, MDN Web Docs - Using matchMedia, WebPlatform Docs. | wd | 3 | 9 | 5 | 10 | 5.1 | 4 | 6 | 93 | |||||||||||||||||
dom | input event The Browser-specific notes:
| ls | 4.4.3 | 66 | 13.2 | 79 | 13.1 | 4 | 49 | 93 | |||||||||||||||||
js | Online/offline status Events to indicate when the user's connected ( "online" does not always mean connection to the internet, it can also just mean connection to some network. Browser-specific notes:
| ls | 2.3 | 14 | 8 | 9 | 7.1 | 4 | 41 | 93 | |||||||||||||||||
js | Typed Arrays JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently. Includes: Includes support for ArrayBuffer objects. Browser-specific notes:
Parent feature: ECMAScript 2015 (ES6). | other | 4 | 7 | 5 | 11 | 6 | 4 | 4 | 93 | |||||||||||||||||
css3 | CSS Repeating Gradients Method of defining a repeating linear or radial color gradient as a CSS image. Firefox 10+, Chrome 26+ and Opera 11.6+ also support the new "to (side)" syntax. Resources: MDN Web Docs - CSS repeating linear gradient.Parent feature: CSS Gradients. | cr | 4.4 | 26 | 7 | 10 | 6.1 | 4 | 16 | 93 | |||||||||||||||||
js | ECMAScript 5 Strict Mode Method of placing code in a "strict" operating context. Browser-specific notes:
Parent feature: ECMAScript 5. | other | 3 | 13 | 5 | 10 | 6 | 4 | 4 | 93 | |||||||||||||||||
js | Blob URLs Method of creating URL handles to the specified File or Blob object. Browser-specific notes:
Parent feature: File API. | wd | 4.4 | 23 | 7 | 15 | 6.1 | 4 | 4 | 93 | |||||||||||||||||
html5 | Attributes for form submission Attributes for form submission that may be specified on submit buttons. The attributes are: | ls | 4 | 15 | 5 | 10 | 5.1 | 4 | 4 | 93 | |||||||||||||||||
dom | Navigation Timing API API for accessing timing information related to navigation and elements. Removed in iOS 8.1 due to poor performance. Resources: MDN Web Docs - Navigation Timing, HTML5 Rocks tutorial, WebPlatform Docs. | rec | 4 | 13 | 9 | 9 | 8 | 4 | 7 | 93 | |||||||||||||||||
css | High-quality kerning pairs & ligatures When used in HTML, the unofficial The Browser-specific notes:
| unoff | 4.4 | 4 | 4.2 | 18 | 5 | 4 | 3 | 93 | |||||||||||||||||
js | Blob constructing Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor. Partial support refers to only supporting the now deprecated BlobBuilder to create blobs. Resources: MDN Web Docs - BlobBuilder, MDN Web Docs - Blobs.Parent feature: File API. | wd | 128 | 20 | 6 | 10 | 6 | 4 | 13 | 93 | |||||||||||||||||
css3 | CSS background-position edge offsets Allows CSS background images to be positioned relative to the specified edge using the 3 to 4 value syntax. For example: | cr | 4.4 | 25 | 7 | 9 | 7 | 4 | 13 | 93 | |||||||||||||||||
js | requestAnimationFrame API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts. Also covers support for Browser-specific notes:
| ls | 4.4 | 24 | 7 | 10 | 6.1 | 4 | 23 | 93 | |||||||||||||||||
js | FileReaderSync Allows files to be read synchronously in Web Workers. Resources: MDN Web Docs - FileReaderSync.Parent feature: FileReader API. | wd | 4.4 | 15 | 6 | 10 | 6 | 4 | 8 | 93 | |||||||||||||||||
html5 | Search input type Search field form input type. Intended to look like the underlying platform's native search field widget (if there is one). Other than its appearance, it's the same as an Browser-specific notes:
| ls | 4.4 | 26 | 5 | 79 | 5.1 | 4 | 4 | 93 | |||||||||||||||||
js | FileReader API Method of reading the contents of a File or Blob object into memory. Browser-specific notes:
Parent feature: File API. | wd | 3 | 6 | 6 | 12 | 6 | 4 | 3.6 | 93 | |||||||||||||||||
js | Page Visibility JavaScript API for determining whether a document is visible on the display. Resources: MDN Web Docs - Page Visibility, SitePoint article, Demo. | rec | 128 | 33 | 7 | 10 | 6.1 | 5 | 18 | 93 | |||||||||||||||||
html5 | Form validation Method of setting required fields and field types without requiring JavaScript. This includes preventing forms from being submitted when appropriate, the Browser-specific notes:
| ls | 4.4.3 | 10 | 10.3 | 10 | 10.1 | 4 | 4 | 93 | |||||||||||||||||
dom | Mutation Observer Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated. When changing the | ls | 4.4 | 27 | 7 | 11 | 6.1 | 4 | 14 | 93 | |||||||||||||||||
html5 | Pattern attribute for input fields Allows validation of an input field based on a given regular expression pattern. Browser-specific notes:
Parent feature: Form validation. | ls | 4.4.3 | 10 | 10.3 | 10 | 10.1 | 4 | 4 | 93 | |||||||||||||||||
dom | Node.compareDocumentPosition() Compares the relative position of two nodes to each other in the DOM tree. Browser-specific notes:
| ls | 4.4 | 30 | 10 | 9 | 10 | 4 | 4 | 93 | |||||||||||||||||
js | crypto.getRandomValues() Method of generating cryptographically random values. Resources: MDN Web Docs - crypto.getRandomValues. | rec | 4.4 | 11 | 7 | 12 | 6.1 | 4 | 21 | 93 | |||||||||||||||||
dom | CustomEvent A DOM event interface that can carry custom application-defined data. Not supported in some versions of Android's old WebKit-based WebView. Browser-specific notes:
| ls | 4.4 | 15 | 6 | 12 | 6.1 | 4 | 11 | 93 | |||||||||||||||||
css3 | ch (character) unit Unit representing the width of the character "0" in the current font, of particular use in combination with monospace fonts. Browser-specific notes:
| cr | 4.4 | 27 | 7 | 12 | 7 | 4 | 2 | 93 | |||||||||||||||||
security | TLS 1.2 Version 1.2 of the Transport Layer Security (TLS) protocol. Allows for data/message confidentiality, and message authentication codes for message integrity and as a by-product message authentication. Resources: Wikipedia article about TLS 1.2. | other | 128 | 29 | 5 | 11 | 7 | 4 | 27 | 93 | |||||||||||||||||
other | WebVTT - Web Video Text Tracks Format for marking up text captions for multimedia resources. WebVTT must be used with the <track> element. Browser-specific notes:
Parent feature: Video element. | cr | 4.4 | 23 | 7 | 10 | 6 | 4 | 55 | 93 | |||||||||||||||||
dom | KeyboardEvent.which A legacy This property is legacy and deprecated. Browser-specific notes:
| unoff | 128 | 4 | 5 | 9 | 5.1 | 5 | 2 | 93 | |||||||||||||||||
dom | matches() DOM method Method of testing whether or not a DOM element matches a given selector. Formerly known (and largely supported with prefix) as matchesSelector. Partial support refers to supporting the older specification's "matchesSelector" name rather than just "matches". Resources: MDN Web Docs - Element matches, WebPlatform Docs. | ls | 128 | 34 | 8 | 15 | 7.1 | 5 | 34 | 93 | |||||||||||||||||
js | Server-sent events Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5). Resources: HTML5 Rocks tutorial, has.js test, Polyfill. | ls | 4.4 | 6 | 4 | 79 | 5 | 4 | 6 | 93 | |||||||||||||||||
css | CSS writing-mode property Property to define whether lines of text are laid out horizontally or vertically and the direction in which blocks progress. Browser-specific notes:
| rec | 128 | 48 | 11 | 12 | 11 | 5 | 41 | 93 | |||||||||||||||||
css3 | calc() as CSS unit value Method of allowing calculated values for length units, i.e. Support can be somewhat emulated in older versions of IE using the non-standard Browser-specific notes:
| cr | 128 | 26 | 7 | 12 | 6.1 | 4 | 16 | 93 | |||||||||||||||||
js | High Resolution Time API Method to provide the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments. Called using The timestamp is not actually high-resolution. To mitigate security threats such as Spectre, browsers currently round the result to varying degrees. Browser-specific notes:
| rec | 4.4 | 24 | 9 | 10 | 8 | 4 | 60 | 93 | |||||||||||||||||
security | Content Security Policy 1.0 Mitigate cross-site scripting attacks by only allowing certain sources of script, style, and other resources. The standard HTTP header is Browser-specific notes:
| cr | 4.4 | 25 | 7 | 12 | 7 | 4 | 23 | 93 | |||||||||||||||||
html5 | srcdoc attribute for iframes Override the content specified in the | ls | 4.4 | 20 | 6 | 79 | 6 | 4 | 25 | 93 | |||||||||||||||||
js | Promises A promise represents the eventual result of an asynchronous operation. Resources: Promises/A+ spec, JavaScript Promises: There and back again - HTML5 Rocks, A polyfill for ES6-style Promises, Polyfill for this feature is available in the core-js library. | other | 4.4.3 | 33 | 8 | 12 | 7.1 | 4 | 29 | 93 | |||||||||||||||||
dom | Link type "noreferrer" Links with Browser-specific notes:
| ls | 2.3 | 16 | 4 | 13 | 5 | 4 | 33 | 93 | |||||||||||||||||
js | Web Cryptography JavaScript API for performing basic cryptographic operations in web applications. Many browsers support the Browser-specific notes:
| rec | 128 | 37 | 11 | 79 | 11 | 4 | 34 | 93 | |||||||||||||||||
css3 | CSS font-feature-settings Method of applying advanced typographic and language-specific font features to supported OpenType fonts. Whenever possible, font-variant shorthand property or an associated longhand property, font-variant-ligatures, font-variant-caps, font-variant-east-asian, font-variant-alternates, font-variant-numeric or font-variant-position should be used. This property is a low-level feature designed to handle special cases where no other way to enable or access an OpenType font feature exists. In particular, this CSS property shouldn't be used to enable small caps. Browser-specific notes:
| rec | 128 | 48 | 9.3 | 10 | 9.1 | 5 | 34 | 93 | |||||||||||||||||
css3 | Viewport units: vw, vh, vmin, vmax Length units representing a percentage of the current viewport dimensions: width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax). Browser-specific notes:
| cr | 4.4 | 26 | 8 | 16 | 6.1 | 4 | 19 | 93 | |||||||||||||||||
html5 | Form attribute Attribute for associating input and submit buttons with a form. Resources: Input attribute specification, Article on usage. | ls | 3 | 10 | 5 | 16 | 5.1 | 4 | 4 | 93 | |||||||||||||||||
js | IndexedDB Method of storing data client-side, allows indexed database queries. Browser-specific notes:
| rec | 4.4 | 24 | 15 | 79 | 15 | 4 | 16 | 93 | |||||||||||||||||
css3 | Font unicode-range subsetting This @font-face descriptor defines the set of Unicode codepoints that may be supported by the font face for which it is declared. The descriptor value is a comma-delimited list of Unicode range (<urange>) values. The union of these ranges defines the set of codepoints that serves as a hint for user agents when deciding whether or not to download a font resource for a given text run. Partial support indicates that unnecessary code-ranges are downloaded by the browser - see browser test matrix. Browser-specific notes:
| cr | 128 | 36 | 10 | 17 | 10 | 5 | 44 | 93 | |||||||||||||||||
css3 | CSS background-repeat round and space Allows CSS background images to be repeated without clipping. Browser-specific notes:
| cr | 4.4 | 32 | 7 | 10 | 7 | 4 | 49 | 93 | |||||||||||||||||
html5 | Details & Summary elements The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element. Browser-specific notes:
| ls | 4 | 36 | 11.3 | 79 | 12 | 4 | 49 | 93 | |||||||||||||||||
js | File API Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data. Browser-specific notes:
| wd | 4.4.3 | 38 | 10 | 79 | 10 | 4 | 28 | 93 | |||||||||||||||||
dom | KeyboardEvent.getModifierState()
| wd | 4.4 | 30 | 10.3 | 9 | 10.1 | 4 | 15 | 93 | |||||||||||||||||
svg | SVG vector-effect: non-scaling-stroke The Other values for the | cr | 4.4 | 15 | 5 | 79 | 5.1 | 4 | 15 | 93 | |||||||||||||||||
html5 | meter element Method of indicating the current level of a gauge. Resources: MDN Web Docs - Element meter, HTML5 Doctor on meter element, Dev.Opera article, Examples of progress and meter elements, The HTML `<meter>` element and its (undefined) segment boundaries. | ls | 4.4 | 8 | 10.3 | 13 | 6 | 4 | 16 | 93 | |||||||||||||||||
css | Crisp edges/pixelated images Scales images with an algorithm that preserves edges and contrast, without smoothing colors or introducing blur. This is intended for images such as pixel art. Official values that accomplish this for the Note that prefixes apply to the value (e.g. Browser-specific notes:
| cr | 128 | 41 | 10 | 79 | 10 | 4 | 93 | 93 | |||||||||||||||||
html5 | Reversed attribute of ordered lists This attribute makes an ordered list number its items in descending order (large to small), instead of ascending order (small to large; the default). The order that the list items are displayed in is not affected. Resources: HTML5 Doctor article on <ol> element attributes (including reversed). | ls | 4.4 | 20 | 6 | 79 | 6.1 | 4 | 18 | 93 | |||||||||||||||||
css | Rebeccapurple color The new color added in CSS Color Module Level 4. Browser-specific notes:
| cr | 4.4 | 38 | 8 | 12 | 7 | 4 | 33 | 93 | |||||||||||||||||
js | const Declares a constant with block level scope. Browser-specific notes:
| other | 128 | 49 | 11 | 12 | 11 | 5 | 36 | 93 | |||||||||||||||||
css | CSS :read-only and :read-write selectors :read-only and :read-write pseudo-classes to match elements which are considered user-alterable. Browser-specific notes:
| ls | 128 | 36 | 9 | 13 | 9 | 4 | 78 | 93 | |||||||||||||||||
dom | ChildNode.remove() DOM node method to remove the node itself from the document. Resources: MDN Web Docs - ChildNode.remove. | ls | 4.4 | 24 | 7 | 13 | 6.1 | 4 | 23 | 93 | |||||||||||||||||
js | Internationalization API Locale-sensitive collation (string comparison), number formatting, and date and time formatting. Resources: MDN Web Docs - Internationalization, The ECMAScript Internationalization API, Working With Intl, WebKit tracking bug, Firefox for Android tracking bug. | other | 4.4 | 24 | 10 | 11 | 10 | 4 | 29 | 93 | |||||||||||||||||
canvas | Canvas blend modes Method of defining the effect resulting from overlaying two layers on a Canvas element. Resources: Blog post.Parent feature: Canvas (basic support). | cr | 4.4 | 30 | 7 | 13 | 6.1 | 4 | 20 | 93 | |||||||||||||||||
css3 | CSS3 Border images Method of using images for borders. Note that both the Browser-specific notes:
| cr | 128 | 56 | 9.3 | 15.4 | 14 | 15.4 | 7.2 | 50 | 93 | ||||||||||||||||
js | Resource Timing (basic support) Method to help web developers to collect complete timing information related to resources on a document. For newer Resource Timing APIs search for specific methods or see the sub-features under PerformanceResourceTiming API. Browser-specific notes:
| cr | 4.4 | 25 | 11 | 10 | 11.1 | 4 | 35 | 93 | |||||||||||||||||
js | document.currentScript
| ls | 4.4 | 29 | 8 | 12 | 8 | 4 | 4 | 93 | |||||||||||||||||
js | Web Audio API High-level JavaScript API for processing and synthesizing audio. Not all browsers with support for the Audio API also support media streams (e.g. microphone input). See the getUserMedia/Streams API data for support for that feature. | rec | 128 | 34 | 14.5 | 12 | 14.1 | 4 | 25 | 93 | |||||||||||||||||
css | CSS Filter Effects Method of applying filter effects using the Note that this property is significantly different from and incompatible with Microsoft's older "filter" property. Browser-specific notes:
| wd | 128 | 53 | 9.3 | 79 | 9.1 | 7.2 | 35 | 93 | |||||||||||||||||
js | Constraint Validation API API for better control over form field validation. Includes support for Browser-specific notes:
| ls | 128 | 40 | 10 | 17 | 10 | 4 | 51 | 93 | |||||||||||||||||
css | :indeterminate CSS pseudo-class The Browser-specific notes:
| wd | 128 | 39 | 10.3 | 79 | 10.1 | 4 | 51 | 93 | |||||||||||||||||
css | CSS :any-link selector The | wd | 128 | 65 | 9 | 79 | 9 | 9.2 | 50 | 93 | |||||||||||||||||
css3 | CSS3 font-kerning Controls the usage of the kerning information (spacing between letters) stored in the font. Note that this only affects OpenType fonts with kerning information, it has no effect on other fonts. Browsers with support for font feature settings can also set kerning value. Browser-specific notes:
| cr | 4.4.3 | 33 | 12 | 79 | 9.1 | 4 | 34 | 93 | |||||||||||||||||
js | User Timing API Method to help web developers measure the performance of their applications by giving them access to high precision timestamps. Resources: SitePoint article, HTML5Rocks article, Polyfill, Demo, UserTiming.js polyfill. | rec | 4.4 | 25 | 11 | 10 | 11 | 4 | 38 | 93 | |||||||||||||||||
js | URL API API to retrieve the various parts that make up a given URL from a given URL string. See also URLSearchParams. Browser-specific notes:
| ls | 4.4.3 | 32 | 8 | 12 | 7.1 | 4 | 26 | 93 | |||||||||||||||||
dom | HTML templates Method of declaring a portion of reusable markup that is parsed but not rendered until cloned. Browser-specific notes:
| ls | 4.4 | 35 | 9 | 15 | 9 | 4 | 22 | 93 | |||||||||||||||||
css3 | CSS Feature Queries CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the @supports at rule. See also the CSS.supports() DOM API. Resources: MDN Web Docs - CSS @supports, @supports in Firefox, Test case, WebPlatform Docs. | cr | 4.4 | 28 | 9 | 12 | 9 | 4 | 22 | 93 | |||||||||||||||||
js | ES6 Number Extensions to the Browser-specific notes:
Parent feature: ECMAScript 2015 (ES6). | other | 128 | 34 | 9 | 12 | 9 | 4 | 32 | 93 | |||||||||||||||||
other | HTTP/2 protocol Networking protocol for low-latency transport of content over the web. Originally started out from the SPDY protocol, now standardized as HTTP version 2. HTTP/2 is only supported over TLS (HTTPS). See also the precursor of HTTP/2, the SPDY protocol, which has been deprecated and removed from most browsers, in favor of HTTP/2. Browser-specific notes:
| other | 128 | 51 | 9 | 79 | 11 | 5 | 53 | 93 | |||||||||||||||||
css3 | CSS3 object-fit/object-position Method of specifying how an object (image or video) should fit inside its box. object-fit options include "contain" (fit according to aspect ratio), "fill" (stretches object to fill) and "cover" (overflows box but maintains ratio), where object-position allows the object to be repositioned like background-image does. Browser-specific notes:
| cr | 4.4.3 | 32 | 10 | 79 | 10 | 4 | 36 | 93 | |||||||||||||||||
css | CSS background-blend-mode Allows blending between CSS background images, gradients, and colors. Browser-specific notes:
| cr | 128 | 47 | 10.3 | 79 | 10.1 | 4 | 30 | 93 | |||||||||||||||||
css | CSS all property A shorthand property for resetting all CSS properties except for | rec | 4.4.3 | 37 | 9.3 | 79 | 9.1 | 4 | 27 | 93 | |||||||||||||||||
js | ES6 Generators ES6 Generators are special functions that can be used to control the iteration behavior of a loop. Generators are defined using a Parent feature: ECMAScript 2015 (ES6). | other | 128 | 39 | 10 | 13 | 10 | 4 | 26 | 93 | |||||||||||||||||
js | Encrypted Media Extensions The EncryptedMediaExtenstions API provides interfaces for controlling the playback of content which is subject to a DRM scheme. Browser-specific notes:
| rec | 128 | 42 | 11.3 | 12 | 12 | 5 | 38 | 93 | |||||||||||||||||
css | CSS unset value A CSS value that's the same as "inherit" if a property is inherited or "initial" if a property is not inherited. Resources: MDN Web Docs - CSS unset, Resetting styles using `all: unset`, WebKit bug 148614: Add support for the `unset` CSS property value. | rec | 128 | 41 | 9.3 | 13 | 9.1 | 4 | 27 | 93 | |||||||||||||||||
js | ES6 Template Literals (Template Strings) Template literals are string literals allowing embedded expressions using backtick characters (`). You can use multi-line strings and string interpolation features with them. Formerly known as template strings. Browser-specific notes:
Parent feature: ECMAScript 2015 (ES6). | other | 128 | 41 | 12.2 | 13 | 12.1 | 4 | 34 | 93 | |||||||||||||||||
dom | XMLHttpRequest advanced features Updated functionality to the original XHR specification including things like file uploads, transfer progress information and the ability to send FormData. Previously known as XMLHttpRequest Level 2, these features now appear simply in the XMLHttpRequest spec. See also support for the FormData API and its sub-features, which received more updates since the original XHR Level 2 specification was released. Browser-specific notes:
| ls | 128 | 50 | 11 | 79 | 11.1 | 5 | 47 | 93 | |||||||||||||||||
js | TextEncoder & TextDecoder
Browser-specific notes:
| ls | 128 | 38 | 10.3 | 79 | 10.1 | 4 | 20 | 93 | |||||||||||||||||
css | CSS will-change property Method of optimizing animations by informing the browser which elements will change and what properties will change. Browser-specific notes:
| cr | 128 | 36 | 9.3 | 79 | 9.1 | 4 | 36 | 93 | |||||||||||||||||
dom | Element.closest() DOM method that returns the current element if it matches the given selector, or else the closest ancestor element that matches the given selector, or else null. Resources: MDN Web Docs - closest, Polyfill. | ls | 128 | 41 | 9 | 15 | 9 | 5 | 35 | 93 | |||||||||||||||||
js | Date.prototype.toLocaleDateString Date method to generate a language sensitive representation of a given date, formatted based on a specified locale and options. Browser-specific notes:
| other | 128 | 70 | 10.3 | 18 | 12 | 9.2 | 56 | 93 | |||||||||||||||||
css | ::placeholder CSS pseudo-element The ::placeholder pseudo-element represents placeholder text in an input field: text that represents the input and provides a hint to the user on how to fill out the form. For example, a date-input field might have the placeholder text Partial support refers to using alternate names:. Browser-specific notes:
| wd | 128 | 57 | 10.3 | 79 | 10.1 | 7.2 | 51 | 93 | |||||||||||||||||
js | WebRTC Peer-to-peer connections Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API. The legacy Edge browser also offers a compatible implementation known as ObjectRTC. See Object RTC for support details for that API. Browser-specific notes:
| wd | 128 | 56 | 11 | 79 | 11 | 6.2 | 44 | 93 | |||||||||||||||||
dom | Picture element A responsive images method to control which image resource a user agent presents to a user, based on resolution, media query and/or support for a particular image format. Browser-specific notes:
| ls | 128 | 38 | 9.3 | 13 | 9.1 | 4 | 38 | 93 | |||||||||||||||||
js | Beacon API Allows data to be sent asynchronously to a server with | cr | 128 | 39 | 11.3 | 14 | 11.1 | 4 | 31 | 93 | |||||||||||||||||
css | :default CSS pseudo-class The Whether Browser-specific notes:
| wd | 128 | 51 | 10.3 | 79 | 10.1 | 5 | 4 | 93 | |||||||||||||||||
security | Content Security Policy Level 2 Mitigate cross-site scripting attacks by only allowing certain sources of script, style, and other resources. CSP 2 adds hash-source, nonce-source, and five new directives. Browser-specific notes:
| rec | 128 | 40 | 10 | 79 | 10 | 4 | 45 | 93 | |||||||||||||||||
svg | SVG fragment identifiers Method of displaying only a part of an SVG image by defining a view ID or view box dimensions as the file's fragment identifier. Browser-specific notes:
| cr | 128 | 50 | 11.3 | 12 | 11.1 | 5 | 15 | 93 | |||||||||||||||||
js | String.prototype.includes The includes() method determines whether one string may be found within another string, returning true or false as appropriate. Resources: MDN: String.prototype.includes(), Polyfill for this feature is available in the core-js library.Parent feature: ECMAScript 2015 (ES6). | other | 128 | 41 | 9 | 12 | 9 | 4 | 40 | 93 | |||||||||||||||||
css3 | CSS Shapes Level 1 Allows geometric shapes to be set in CSS to define an area for text to flow around. Includes properties Browser-specific notes:
| cr | 128 | 37 | 10.3 | 79 | 10.1 | 4 | 62 | 93 | |||||||||||||||||
html5 | Download attribute When used on an anchor, this attribute signifies that the browser should download the resource the anchor points to rather than navigate to it. Resources: HTML5Rocks post, IE11 polyfill, Download attribute on MDN. | ls | 4.4 | 14 | 13 | 13 | 10.1 | 4 | 20 | 93 | |||||||||||||||||
other | WOFF 2.0 - Web Open Font Format TrueType/OpenType font that provides better compression than WOFF 1.0. Browser-specific notes:
Parent feature: @font-face Web fonts. | rec | 128 | 36 | 10 | 14 | 12 | 4 | 39 | 93 | |||||||||||||||||
js | ECMAScript 2015 (ES6) Support for the ECMAScript 2015 specification. Features include Promises, Modules, Classes, Template Literals, Arrow Functions, Let and Const, Default Parameters, Generators, Destructuring Assignment, Rest & Spread, Map/Set & WeakMap/WeakSet and many more. As ES6 refers to a huge specification and browsers have various levels of support, "Supported" means at least 95% of the spec is supported. "Partial support" refers to at least 10% of the spec being supported. For full details see the Kangax ES6 support table. Browser-specific notes:
| other | 128 | 51 | 10 | 79 | 10 | 5 | 54 | 93 | |||||||||||||||||
css3 | CSS Font Loading This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script. It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page. Browser-specific notes:
| wd | 128 | 35 | 10 | 79 | 10 | 4 | 41 | 93 | |||||||||||||||||
js | Fetch A modern replacement for XMLHttpRequest. Browser-specific notes:
| ls | 128 | 42 | 10.3 | 14 | 10.1 | 4 | 40 | 93 | |||||||||||||||||
css | CSS font-stretch If a font has multiple types of variations based on the width of characters, the | rec | 128 | 48 | 10.3 | 9 | 11 | 5 | 9 | 93 | |||||||||||||||||
css3 | CSS3 tab-size Method of customizing the width of the tab character. Only effective using 'white-space: pre', 'white-space: pre-wrap', and 'white-space: break-spaces'. Browser-specific notes:
| cr | 128 | 42 | 13.4 | 79 | 13.1 | 4 | 91 | 93 | |||||||||||||||||
html5 | Color input type Form field allowing the user to select a color. Browser-specific notes:
| ls | 4.4 | 20 | 12.2 | 14 | 12.1 | 4 | 29 | 93 | |||||||||||||||||
js | navigator.hardwareConcurrency Returns the number of logical cores of the user's CPU. The value may be reduced to prevent device fingerprinting or because it exceeds the allowed number of simultaneous web workers. Browser-specific notes:
| ls | 128 | 37 | 10.3 | 15 | 10.1 | 4 | 48 | 93 | |||||||||||||||||
security | Referrer Policy A policy that controls how much information is shared through the HTTP Browser-specific notes:
| cr | 128 | 61 | 85 | 15 | 85 | 15 | 14 | 92 | 93 | ||||||||||||||||
css | :in-range and :out-of-range CSS pseudo-classes If a temporal or number Note that Browser-specific notes:
| wd | 128 | 53 | 10.3 | 79 | 10.1 | 5 | 50 | 93 | |||||||||||||||||
js | Array.prototype.findIndex The | other | 128 | 45 | 8 | 12 | 7.1 | 5 | 25 | 93 | |||||||||||||||||
css | Media Queries: interaction media features Allows a media query to be set based on the presence and accuracy of the user's pointing device, and whether they have the ability to hover over elements on the page. This includes the Parent feature: CSS3 Media Queries. | cr | 128 | 41 | 9 | 12 | 9 | 5 | 64 | 93 | |||||||||||||||||
security | ChaCha20-Poly1305 cipher suites for TLS A set of cipher suites used in Transport Layer Security (TLS) protocol, using ChaCha20 for symmetric encryption and Poly1305 for authentication. Browser-specific notes:
| other | 128 | 49 | 11 | 79 | 11.1 | 4 | 47 | 93 | |||||||||||||||||
js | Array.prototype.find The | other | 128 | 45 | 8 | 15 | 7.1 | 5 | 25 | 93 | |||||||||||||||||
js | let Declares a variable with block level scope. Browser-specific notes:
Parent feature: ECMAScript 2015 (ES6). | other | 128 | 49 | 11 | 12 | 11 | 5 | 44 | 93 | |||||||||||||||||
security | Upgrade Insecure Requests Declare that browsers should transparently upgrade HTTP resources on a website to HTTPS. The HTTP header is | cr | 128 | 43 | 10.3 | 17 | 10.1 | 4 | 42 | 93 | |||||||||||||||||
dom | document.scrollingElement
| wd | 128 | 44 | 9 | 14 | 9 | 4 | 48 | 93 | |||||||||||||||||
html5 | Drag and Drop Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.
Browser-specific notes:
| ls | 128 | 4 | 15 | 18 | 3.1 | 4 | 3.5 | 93 | |||||||||||||||||
html5 | Minimum length attribute for input fields Declares a lower bound on the number of characters a user can input. The Parent feature: Form validation. | ls | 128 | 40 | 10.3 | 17 | 10.1 | 5 | 51 | 93 | |||||||||||||||||
js | getUserMedia/Stream API Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element. As of Chrome 47, the getUserMedia API cannot be called from insecure origins. Browser-specific notes:
| cr | 128 | 53 | 13.4 | 12 | 11 | 6.2 | 42 | 93 | |||||||||||||||||
dom | CSS.supports() API The CSS.supports() static method returns a Boolean value indicating if the browser supports a given CSS feature, or not. See also @supports in CSS. Browser-specific notes:
| cr | 4.4 | 61 | 9 | 79 | 9 | 4 | 55 | 93 | |||||||||||||||||
css | CSS zoom Method of scaling content while also affecting layout. Originally implemented only in Internet Explorer. Note that Browser-specific notes:
| wd | 2.1 | 4 | 4 | 12 | 4 | 4 | 2 | 126 | 93 | ||||||||||||||||
js | Object.values method The | other | 128 | 54 | 10.3 | 14 | 10.1 | 6.2 | 47 | 92 | |||||||||||||||||
js | Arrow functions Function shorthand using Parent feature: ECMAScript 2015 (ES6). | other | 128 | 45 | 10 | 12 | 10 | 5 | 22 | 92 | |||||||||||||||||
css | :placeholder-shown CSS pseudo-class Input elements can sometimes show placeholder text as a hint to the user on what to type in. See, for example, the placeholder attribute in HTML5. The :placeholder-shown pseudo-class matches an input element that is showing such placeholder text. For support of styling the actual placeholder text itself, see CSS ::placeholder. Browser-specific notes:
| wd | 128 | 47 | 9 | 79 | 9 | 5 | 51 | 92 | |||||||||||||||||
js | Rest parameters Allows representation of an indefinite number of arguments as an array. Browser-specific notes:
Parent feature: ECMAScript 2015 (ES6). | other | 128 | 47 | 10 | 12 | 10 | 5 | 15 | 92 | |||||||||||||||||
dom | KeyboardEvent.key A "Some key events, or their values, might be suppressed by the IME in use". On mobile (virtual keyboard), for every key Blink and WebKit based browsers report "Unidentified", Gecko reports "Process". Browser-specific notes:
| wd | 128 | 51 | 10.3 | 79 | 10.1 | 5 | 29 | 92 | |||||||||||||||||
js | ES6 classes ES6 classes are syntactical sugar to provide a much simpler and clearer syntax to create objects and deal with inheritance. Browser-specific notes:
Parent feature: ECMAScript 2015 (ES6). | other | 128 | 49 | 9 | 13 | 9 | 5 | 45 | 92 | |||||||||||||||||
png | Animated PNG (APNG) Like animated GIFs, but allowing 24-bit colors and alpha transparency. Where support for APNG is missing, only the first frame is displayed. Resources: Wikipedia, Polyfill using canvas, Chrome extension providing support, Chromium issue (fixed). | cr | 128 | 59 | 8 | 79 | 8 | 7.2 | 3 | 92 | |||||||||||||||||
js | Proxy object The Proxy object allows custom behavior to be defined for fundamental operations. Useful for logging, profiling, object visualization, etc. Resources: ECMAScript 6 Proxies, MDN Web Docs - Proxy, Experimenting with ECMAScript 6 proxies, Meta programming with ECMAScript 6 proxies, Polyfill for Proxies.Parent feature: ECMAScript 2015 (ES6). | other | 128 | 49 | 10 | 12 | 10 | 5 | 18 | 92 | |||||||||||||||||
css3 | CSS Gradients Method of defining a linear or radial color gradient as a CSS image. Syntax used by browsers with prefixed support may be incompatible with that for proper support. Browser-specific notes:
| cr | 4.4 | 26 | 7 | 15.4 | 10 | 15.4 | 4 | 36 | 92 | ||||||||||||||||
css3 | CSS Variables (Custom Properties) Permits the declaration and usage of cascading variables in stylesheets. Browser-specific notes:
| cr | 128 | 49 | 10 | 16 | 10 | 5 | 31 | 92 | |||||||||||||||||
css | CSS Grid Layout (level 1) Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for layout into columns and rows using a set of predictable sizing behaviors. Includes support for all See also support for subgrids. Browser-specific notes:
| cr | 128 | 58 | 10.3 | 16 | 10.1 | 6.2 | 54 | 92 | |||||||||||||||||
canvas | Path2D Allows path objects to be declared on 2D canvas surfaces. Browser-specific notes:
Parent feature: Canvas (basic support). | ls | 128 | 68 | 9 | 79 | 9.1 | 10.1 | 48 | 92 | |||||||||||||||||
css | Pointer events This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier. Not to be mistaken with the unrelated "pointer-events" CSS property. Firefox, starting with version 28, provides the 'dom.w3c_pointer_events.enabled' flag to support this specification. Browser-specific notes:
| rec | 128 | 55 | 13.2 | 11 | 13 | 6.2 | 59 | 92 | |||||||||||||||||
js | Array.prototype.includes Determines whether or not an array includes the given value, returning a boolean value (unlike | other | 128 | 47 | 9 | 14 | 9 | 5 | 43 | 92 | |||||||||||||||||
dom | relList (DOMTokenList) Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList). Browser-specific notes:
| ls | 128 | 65 | 9 | 18 | 9 | 9.2 | 30 | 92 | |||||||||||||||||
html5 | Subresource Integrity Subresource Integrity enables browsers to verify that file is delivered without unexpected manipulation. Browser-specific notes:
| rec | 128 | 45 | 11.3 | 17 | 11 | 5 | 43 | 92 | |||||||||||||||||
css | CSS font-variant-numeric CSS property that provides different ways of displaying numbers, fractions, and ordinal markers. Resources: MDN Web Docs article. | rec | 128 | 52 | 9.3 | 79 | 9.1 | 6.2 | 34 | 92 | |||||||||||||||||
js | URLSearchParams The URLSearchParams interface defines utility methods to work with the query string of a URL. Browser-specific notes:
| ls | 128 | 49 | 10.3 | 17 | 10.1 | 5 | 44 | 92 | |||||||||||||||||
css | Case-insensitive CSS attribute selectors Including an | wd | 128 | 49 | 9 | 79 | 9 | 5 | 47 | 92 | |||||||||||||||||
css | CSS text-orientation The CSS Browser-specific notes:
| rec | 128 | 48 | 10 | 79 | 14 | 5 | 41 | 92 | |||||||||||||||||
dom | Passive event listeners Event listeners created with the | ls | 128 | 51 | 10 | 16 | 10 | 5 | 49 | 92 | |||||||||||||||||
other | WebP image format Image format (based on the VP8 video format) that supports lossy and lossless compression, as well as animation and alpha transparency. WebP generally has better compression than JPEG, PNG and GIF and is designed to supersede them. AVIF and JPEG XL are designed to supersede WebP. Browser-specific notes:
| other | 4.2 | 32 | 14 | 18 | 16 | 4 | 65 | 92 | |||||||||||||||||
dom | rel=noopener Ensure new browsing contexts are opened without a useful | ls | 128 | 49 | 10.3 | 79 | 10.1 | 5 | 52 | 92 | |||||||||||||||||
other | Brotli Accept-Encoding/Content-Encoding More effective lossless compression algorithm than gzip and deflate. Browser-specific notes:
| other | 128 | 51 | 11 | 15 | 13 | 5 | 44 | 92 | |||||||||||||||||
other | FLAC audio format Popular lossless audio compression format. Support refers to this format's use in the Browser-specific notes:
Parent feature: Audio element. | other | 128 | 56 | 11 | 16 | 13 | 5 | 51 | 92 | |||||||||||||||||
js | IndexedDB 2.0 Improvements to Indexed DB, including getAll(), renaming stores and indexes, and binary keys. Browser-specific notes:
| rec | 128 | 58 | 10.3 | 79 | 10.1 | 7.2 | 51 | 92 | |||||||||||||||||
dom | DOM manipulation convenience methods jQuery-like methods on DOM nodes to insert nodes around or within a node, or to replace one node with another. These methods accept any number of DOM nodes or HTML strings as arguments. Includes: Browser-specific notes:
| ls | 128 | 54 | 10 | 17 | 10 | 6.2 | 49 | 92 | |||||||||||||||||
dom | "once" event listener option Causes an event listener to be automatically removed after it gets invoked, so that it only gets invoked once. Similar to jQuery's | ls | 128 | 55 | 10 | 16 | 10 | 6.2 | 50 | 92 | |||||||||||||||||
js | String.prototype.padStart(), String.prototype.padEnd() The | other | 128 | 57 | 10 | 15 | 10 | 7.2 | 48 | 92 | |||||||||||||||||
js | unhandledrejection/rejectionhandled events The | ls | 128 | 49 | 11.3 | 79 | 11 | 5 | 69 | 92 | |||||||||||||||||
js | Object.entries The | other | 128 | 54 | 10.3 | 14 | 10.1 | 6.2 | 47 | 92 | |||||||||||||||||
other | WebAssembly WebAssembly or "wasm" is a new portable, size- and load-time-efficient format suitable for compilation to the web. Browser-specific notes:
| other | 128 | 57 | 11 | 16 | 11 | 7.2 | 53 | 92 | |||||||||||||||||
js | Async functions Async functions make it possible to treat functions returning Promise objects as if they were synchronous. Browser-specific notes:
| other | 128 | 55 | 11 | 15 | 11 | 6.2 | 52 | 92 | |||||||||||||||||
dom | Shadow DOM (V1) Method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM & CSS. Browser-specific notes:
| wd | 128 | 53 | 11 | 79 | 10 | 6.2 | 63 | 92 | |||||||||||||||||
css | CSS justify-content: space-evenly The "space-evenly" value for the Browser-specific notes:
| wd | 128 | 60 | 11 | 79 | 11 | 8.2 | 52 | 92 | |||||||||||||||||
css | #rrggbbaa hex color notation The CSS Color Module Level 4 defines new 4 & 8 character hex notation for color to include the opacity level. Only supported in Android WebViews in apps that target Android Pie, due to this issue. Browser-specific notes:
| cr | 128 | 62 | 10 | 79 | 10 | 8.2 | 49 | 92 | |||||||||||||||||
css | :focus-within CSS pseudo-class The Browser-specific notes:
| unoff | 128 | 60 | 10.3 | 79 | 10.1 | 8.2 | 52 | 92 | |||||||||||||||||
css | system-ui value for font-family Value for Browser-specific notes:
| wd | 128 | 56 | 11 | 79 | 11 | 6.2 | 92 | 92 | |||||||||||||||||
css | CSS caret-color The | rec | 128 | 57 | 11.3 | 79 | 11.1 | 7.2 | 53 | 92 | |||||||||||||||||
css | CSS font-display
Browser-specific notes:
| wd | 128 | 60 | 11.3 | 79 | 11.1 | 8.2 | 58 | 92 | |||||||||||||||||
security | 'SameSite' cookie attribute Same-site cookies ("First-Party-Only" or "First-Party") allow servers to mitigate the risk of CSRF and information leakage attacks by asserting that a particular cookie should only be sent with requests initiated from the same registrable domain. This feature is backwards compatible. Browsers not supporting this feature will simply use the cookie as a regular cookie. There is no need to deliver different cookies to clients. Browser-specific notes:
| other | 128 | 51 | 80 | 13 | 86 | 15 | 5 | 60 | 92 | ||||||||||||||||
js | JavaScript modules via script tag Loading JavaScript module scripts (aka ES6 modules) using Browser-specific notes:
| ls | 128 | 61 | 11 | 79 | 11 | 8.2 | 60 | 92 | |||||||||||||||||
dom | Resource Hints: preload Using Browser-specific notes:
| cr | 128 | 50 | 11.3 | 79 | 11.1 | 5 | 85 | 92 | |||||||||||||||||
js | Promise.prototype.finally When the promise is settled, whether fulfilled or rejected, the specified callback function is executed. Resources: MDN Web Docs, Polyfill for this feature is available in the core-js library. | other | 128 | 63 | 11.3 | 18 | 11.1 | 8.2 | 58 | 92 | |||||||||||||||||
dom | Scroll methods on elements (scroll, scrollTo, scrollBy) Methods to change the scroll position of an element. Similar to setting See also the support for the Browser-specific notes:
| wd | 128 | 61 | 14.5 | 79 | 14 | 8.2 | 36 | 92 | |||||||||||||||||
js | JavaScript modules: dynamic import() Loading JavaScript modules dynamically using the import() syntax. Browser-specific notes:
Parent feature: JavaScript modules via script tag. | other | 128 | 63 | 11 | 79 | 11.1 | 8.2 | 67 | 92 | |||||||||||||||||
dom | scrollIntoView The Browser-specific notes:
| wd | 128 | 61 | 5 | 16 | 79 | 16 | 8.2 | 36 | 92 | ||||||||||||||||
dom | IntersectionObserver API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport. The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content. Browser-specific notes:
| wd | 128 | 65 | 12.2 | 79 | 12.1 | 7.2 | 55 | 92 | |||||||||||||||||
css | display: flow-root The element generates a block container box, and lays out its contents using flow layout. It always establishes a new block formatting context for its contents. It provides a better solution to the most use cases of the "clearfix" hack. Resources: Mozilla bug report, Chromium bug report, WebKit bug report, Blog post: "The end of the clearfix hack?". | cr | 128 | 58 | 13 | 79 | 13 | 7.2 | 53 | 92 | |||||||||||||||||
css | CSS Logical Properties Logical properties and values provide control of layout through logical, rather than physical, direction and dimension mappings. These properties are Browser-specific notes:
| wd | 128 | 69 | 89 | 15 | 89 | 15 | 15 | 66 | 92 | ||||||||||||||||
css | Variable fonts OpenType font settings that allows a single font file to behave like multiple fonts: it can contain all the allowed variations in width, weight, slant, optical size, or any other exposed axes of variation as defined by the font designer. Variations can be applied via the Browser-specific notes:
| wd | 128 | 67 | 13 | 17 | 15 | 8.2 | 71 | 92 | |||||||||||||||||
css | CSS Scroll Snap CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap positions. Works in the iOS WKWebView, but not UIWebView. Browser-specific notes:
| cr | 128 | 69 | 11 | 79 | 11 | 10.1 | 68 | 92 | |||||||||||||||||
js | Intl.PluralRules API API for plural sensitive formatting and plural language rules. Browser-specific notes:
Parent feature: Internationalization API. | other | 128 | 63 | 13 | 79 | 13 | 8.2 | 58 | 92 | |||||||||||||||||
canvas | WebGL 2.0 Next version of WebGL. Based on OpenGL ES 3.0. Browser-specific notes:
Parent feature: Canvas (basic support). | other | 128 | 56 | 15 | 79 | 15 | 7.2 | 51 | 92 | |||||||||||||||||
dom | Resource Hints: preconnect Gives a hint to the browser to begin the connection handshake (DNS, TCP, TLS) in the background to improve performance. This is indicated using Browser-specific notes:
| wd | 128 | 46 | 11.3 | 79 | 11.1 | 5 | 115 | 92 | |||||||||||||||||
dom | Resize Observer Method for observing and reacting to changes to sizes of DOM elements. Browser-specific notes:
| wd | 128 | 64 | 13.4 | 79 | 13.1 | 9.2 | 69 | 92 | |||||||||||||||||
css | CSS position:sticky Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "stuck" when necessary while scrolling.
Browser-specific notes:
| wd | 128 | 56 | 91 | 13 | 91 | 13 | 6.2 | 59 | 92 | ||||||||||||||||
css | Media Queries: resolution feature Allows a media query to be set based on the device pixels used per CSS unit. While the standard uses Browser-specific notes:
Parent feature: CSS3 Media Queries. | cr | 128 | 68 | 4 | 16 | 79 | 16 | 10.1 | 62 | 92 | ||||||||||||||||
js | AbortController & AbortSignal Controller object that allows you to abort one or more DOM requests made with the Fetch API. Browser-specific notes:
Parent feature: Fetch. | ls | 128 | 66 | 11.3 | 16 | 12.1 | 9.2 | 57 | 92 | |||||||||||||||||
css | CSS Environment Variables env() Usage of environment variables like Browser-specific notes:
| unoff | 128 | 69 | 11.3 | 79 | 11.1 | 10.1 | 65 | 92 | |||||||||||||||||
dom | Web Animations API Lets you create animations that are run in the browser, as well as inspect and manipulate animations created through declarative means like CSS. Browser-specific notes:
| wd | 128 | 39 | 84 | 13.4 | 84 | 15 | 14 | 81 | 92 | ||||||||||||||||
js | flat & flatMap array methods Methods to flatten any sub-arrays found in an array by concatenating their elements. Resources: MDN article on Array.prototype.flat, MDN article on Array.prototype.flatMap, Article on the history of the `flat` methods, Polyfill for flat & flatMap, Polyfill for this feature is available in the core-js library. | other | 128 | 69 | 12 | 79 | 12 | 10.1 | 62 | 92 | |||||||||||||||||
css3 | text-emphasis styling Method of using small symbols next to each glyph to emphasize a run of text, commonly used in East Asian languages. The Some old WebKit browsers (like Chrome 24) support Browser-specific notes:
| cr | 128 | 25 | 99 | 7 | 99 | 7.1 | 18 | 46 | 92 | ||||||||||||||||
css | prefers-reduced-motion media query CSS media query based on a user preference for preferring reduced motion (animation, etc). prefers-reduced-motion media query also depends on the OS as to whether it is supported. Resources: WebKit blog post, CSS Tricks article. | wd | 128 | 74 | 10.3 | 79 | 10.1 | 11.1 | 63 | 92 | |||||||||||||||||
other | WebAssembly Import/Export of Mutable Globals An extension to WebAssembly import and export of mutable global variables. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 74 | 12 | 79 | 12 | 11.1 | 61 | 92 | |||||||||||||||||
security | TLS 1.3 Version 1.3 (the latest one) of the Transport Layer Security (TLS) protocol. Removes weaker elliptic curves and hash functions. Browser-specific notes:
| other | 128 | 70 | 12.2 | 79 | 14 | 10.1 | 63 | 92 | |||||||||||||||||
css | CSS overflow property Originally a single property for controlling overflowing content in both horizontal & vertical directions, the Effectively all browsers support the CSS 2.1 definition for single-value Browser-specific notes:
| wd | 128 | 68 | 90 | 13.4 | 16 | 90 | 16 | 15 | 81 | 92 | |||||||||||||||
css | CSS Conical Gradients Method of defining a conical or repeating conical color gradient as a CSS image. Browser-specific notes:
Parent feature: CSS Gradients. | wd | 128 | 71 | 12.2 | 79 | 12.1 | 10.1 | 83 | 92 | |||||||||||||||||
css3 | CSS3 image-orientation CSS property used generally to fix the intended orientation of an image. This can be done using 90 degree increments or based on the image's EXIF data using the "from-image" value. Opening the image in a new tab in Chrome results in the image shown in the orientation according to the EXIF data. Browser-specific notes:
| cr | 128 | 4 | 89 | 14 | 89 | 13.1 | 15 | 26 | 92 | ||||||||||||||||
css | :is() CSS pseudo-class The Browser-specific notes:
| wd | 128 | 68 | 88 | 14 | 88 | 14 | 15 | 78 | 92 | ||||||||||||||||
css | CSS Appearance The WebKit, Blink, and Gecko browsers also support additional vendor specific values. Browser-specific notes:
| wd | 128 | 4 | 84 | 3.2 | 15.4 | 84 | 15.4 | 14 | 80 | 92 | |||||||||||||||
js | BigInt Arbitrary-precision integers in JavaScript. Browser-specific notes:
| other | 128 | 67 | 14 | 79 | 14 | 9.2 | 68 | 92 | |||||||||||||||||
css | prefers-color-scheme media query Media query to detect if the user has set their system to use a light or dark color theme. Support will also depend on whether or not the OS has support for a light/dark theme preference. Resources: MDN article, Firefox implementation bug, Chromium implementation issue, Web.dev article. | wd | 128 | 76 | 13 | 79 | 12.1 | 12 | 67 | 92 | |||||||||||||||||
css | CSS math functions min(), max() and clamp() More advanced mathematical expressions in addition to Browser-specific notes:
| wd | 128 | 79 | 13.4 | 79 | 13.1 | 12 | 75 | 91 | |||||||||||||||||
css3 | CSS Hyphenation Method of controlling when words at the end of lines should be hyphenated using the "hyphens" property. Chrome < 55 and Android 4.0 Browser support "-webkit-hyphens: none", but not the "auto" property. It is advisable to set the @lang attribute on the HTML element to enable hyphenation support and improve accessibility. Browser-specific notes:
| cr | 128 | 55 | 88 | 4.2‒16.0 | 17 | 105 | 5.1 | 17 | 6.2 | 43 | 91 | ||||||||||||||
css | CSS revert value A CSS keyword value that resets a property's value to the default specified by the browser in its UA stylesheet, as if the webpage had not included any CSS. For example, | cr | 128 | 4 | 84 | 9.3 | 84 | 9.1 | 14 | 67 | 91 | ||||||||||||||||
other | WebAssembly Sign Extension Operators An extension to WebAssembly adding sign-extension operator instructions. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 74 | 14.5 | 79 | 14.1 | 11.1 | 62 | 91 | |||||||||||||||||
other | WebAssembly Non-trapping float-to-int Conversion An extension to WebAssembly adding floating-point to integer conversion operators which saturate instead of trapping. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 75 | 15 | 79 | 15 | 11.1 | 64 | 91 | |||||||||||||||||
css3 | CSS ::marker pseudo-element The Browser-specific notes:
| wd | 128 | 4 | 86 | 11.3 | 86 | 11.1‒17.0 | TP | 14 | 68 | 91 | |||||||||||||||
other | WebAssembly Threads and Atomics An extension to WebAssembly adding shared memory and atomic memory operations. Threads support in browsers also includes passive data segments (from the bulk-memory extension). Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 74 | 14.5 | 79 | 14.1 | 11.1 | 79 | 91 | |||||||||||||||||
other | WebAssembly Bulk Memory Operations An extension to WebAssembly adding bulk memory operations and conditional segment initialization. Passive data segments/conditional segment initialization was also included by browsers with the threads extension. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 75 | 15 | 79 | 15 | 11.1 | 79 | 91 | |||||||||||||||||
css3 | CSS3 text-align-last CSS property to describe how the last line of a block or a line right before a forced line break when Browser-specific notes:
| cr | 128 | 47 | 3.2 | 16 | 79 | 16 | 5 | 49 | 91 | ||||||||||||||||
css | selector list argument of :not() Selectors Level 3 only allowed | wd | 128 | 4 | 88 | 9 | 88 | 9 | 15 | 84 | 91 | ||||||||||||||||
other | WebAssembly Multi-Value An extension to WebAssembly allowing instructions, blocks and functions to produce multiple result values. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 4 | 85 | 13.2 | 85 | 13.1 | 14 | 78 | 91 | ||||||||||||||||
css | CSS Scroll-behavior Method of specifying the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs. Browser-specific notes:
| wd | 128 | 61 | 14.5 | 15.4 | 79 | 15.4 | 8.2 | 36 | 91 | ||||||||||||||||
dom | Dialog element Method of easily creating custom dialog boxes to display to the user with modal or non-modal options. Also includes a Browser-specific notes:
| ls | 128 | 37 | 3.2 | 15.4 | 79 | 15.4 | 4 | 98 | 91 | ||||||||||||||||
other | AAC audio file format Advanced Audio Coding format, designed to be the successor format to MP3, with generally better sound quality. Support refers to this format's use in the Browser-specific notes:
Parent feature: Audio element. | other | 3 | 12 | 4 | 9 | 4 | 4 | 22 | 91 | |||||||||||||||||
css | gap property for Flexbox
Parent feature: CSS Flexible Box Layout Module. | wd | 128 | 4 | 84 | 14.5 | 84 | 14.1 | 14 | 63 | 91 | ||||||||||||||||
css | CSS overscroll-behavior CSS property to control the behavior when the scroll position of a scroll container reaches the edge of the scrollport. Browser-specific notes:
| wd | 128 | 65 | 14.5 | 16 | 79 | 16 | 8.2 | 59 | 91 | ||||||||||||||||
other | WebAssembly BigInt to i64 conversion in JS API An extension to the WebAssembly JS API for bidrectionally converting BigInts and 64-bit WebAssembly integer values. Safari supported BigInt in version 14.1, but did not support BigInt64Array (which is also required for Emscripten's BigInt support) until version 15. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 4 | 85 | 14.5 | 85 | 14.1 | 14 | 78 | 91 | ||||||||||||||||
css | CSS Motion Path Allows elements to be animated along SVG paths or shapes via the Browser-specific notes:
| wd | 128 | 46 | 3.2 | 16 | 79 | 16 | 5 | 72 | 91 | ||||||||||||||||
js | BroadcastChannel BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers) to send each other messages. Resources: MDN Web Docs - Broadcast Channel, Shim - Broadcast Channel based on Localstorage, Indexeddb or Sockets. | ls | 128 | 54 | 3.2 | 15.4 | 79 | 15.4 | 7.2 | 38 | 91 | ||||||||||||||||
css | CSS user-select: none Method of preventing text/element selection using CSS. Resources: MDN Web Docs - CSS user-select, CSS Tricks article, MSDN Documentation, WebKit bug to unprefix `-webkit-user-select`. | wd | 128 | 54 | 3.2 | 79 | 3.1 | 6.2 | 69 | 91 | |||||||||||||||||
css | CSS Containment The CSS Browser-specific notes:
| rec | 128 | 52 | 3.2 | 15.4 | 79 | 15.4 | 6.2 | 69 | 91 | ||||||||||||||||
html5 | Datalist element Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value. While most commonly used on text fields, datalists can also be used on other input types. IE11 supports the element on Browser-specific notes:
| ls | 4.4.3 | 69 | 12.2 | 79 | 12.1 | 4 | 110 | 90 | |||||||||||||||||
css | :focus-visible CSS pseudo-class The Previously drafted as Browser-specific notes:
| wd | 128 | 67 | 86 | 15 | 15.4 | 86 | 15.4 | 14 | 85 | 90 | |||||||||||||||
other | WebAssembly Reference Types An extension to WebAssembly allowing opaque references as first-class types, and multiple tables. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 4 | 96 | 15 | 96 | 15 | 17 | 79 | 90 | ||||||||||||||||
css3 | Intrinsic & Extrinsic Sizing Allows for the heights and widths to be specified in intrinsic values using the Prefixes are on the values, not the property names (e.g. -webkit-min-content). Browser-specific notes:
| wd | 128 | 46 | 94 | 14 | 16 | 94 | 16 | 17 | 66 | 90 | |||||||||||||||
security | Web Authentication API The Web Authentication API is an extension of the Credential Management API that enables strong authentication with public key cryptography, enabling password-less authentication and / or secure second-factor authentication without SMS texts. Browser-specific notes:
| rec | 128 | 67 | 14.5 | 18 | 13 | 17 | 114 | 89 | |||||||||||||||||
html5 | Ping attribute When used on an anchor, this attribute signifies that the browser should send a ping request the resource the attribute points to. While still in the WHATWG specification, this feature was removed from the W3C HTML5 specification in 2010. Browser-specific notes:
| ls | 4.4 | 15 | 5 | 17 | 6 | 4 | 3 | 89 | |||||||||||||||||
dom | Touch events Method of registering when, where and how the interface is touched, for devices with a touch screen. These DOM events are similar to mousedown, mousemove, etc. Internet Explorer implements Pointer Events specification which supports more input devices than Touch Events one. Browser-specific notes:
| rec | 2.1 | 22 | 3.2 | 79 | 3.1 | 4 | 52 | 89 | |||||||||||||||||
css | CSS Backdrop Filter Method of applying filter effects (like blur, grayscale or hue) to content/elements below the target element. Browser-specific notes:
| unoff | 128 | 76 | 9.0‒17.0 | 18 | 79 | 9‒17.0 | 18 | 12 | 103 | 89 | |||||||||||||||
other | MathML Special tags that allow mathematical formulas and notations to be written on web pages. Support was added in Chrome 24, but temporarily removed afterwards due to instability. Browser-specific notes:
| rec | 128 | 25 | 97‒104 | 109 | 5 | 97 | 109 | 10 | 21 | 4 | 89 | ||||||||||||||
css | CSS touch-action property touch-action is a CSS property that controls filtering of gesture events, providing developers with a declarative mechanism to selectively disable touch scrolling (in one or both axes) or double-tap-zooming. Browser-specific notes:
| rec | 128 | 36 | 13 | 11 | 3.1 | 4 | 57 | 89 | |||||||||||||||||
css | CSS Cascade Layers The Browser-specific notes:
| cr | 128 | 4 | 99 | 3.2 | 15.4 | 99 | 15.4 | 18 | 97 | 89 | |||||||||||||||
css | CSS widows & orphans CSS properties to control when lines break across pages or columns by defining the amount of lines that must be left before or after the break. Some older WebKit-based browsers recognize the properties, but do not appear to have actual support. Browser-specific notes:
| rec | 4.4 | 25 | 7 | 10 | 7 | 4 | 2 | 89 | |||||||||||||||||
dom | Element.scrollIntoViewIfNeeded() If the element is fully within the visible area of the viewport, it does nothing. Otherwise, the element is scrolled into view. A proprietary variant of the standard | unoff | 2.3 | 15 | 5 | 79 | 5.1 | 4 | 2 | 88 | |||||||||||||||||
css | CSS Masks Method of displaying part of an element, using a selected image as a mask. Browser-specific notes:
| cr | 128 | 4‒118 | 120 | 3.2 | 15.4 | 79 | 120 | 15.4 | 25 | 53 | 88 | ||||||||||||||
other | AVIF image format A modern image format based on the AV1 video format. AVIF generally has better compression than WebP, JPEG, PNG and GIF and is designed to supersede them. AVIF competes with JPEG XL which has similar compression quality and is generally seen as more feature-rich than AVIF. Browser-specific notes:
| other | 128 | 4 | 85 | 3.2 | 16 | 16.4 | 5.5 | 121 | 3.1 | 16.4 | 14 | 113 | 88 | ||||||||||||
css | CSS font-palette The font-palette CSS property allows selecting a palette from a color font. In combination with the | wd | 128 | 4‒100 | 101 | 3.2 | 15.4 | 105 | 15.4 | 19 | 107 | 88 | |||||||||||||||
dom | inputmode attribute The Browser-specific notes:
| ls | 128 | 66 | 12.2 | 79 | 3.1 | 9.2 | 95 | 88 | |||||||||||||||||
html5 | Lazy loading via attribute for images & iframes The Browser-specific notes:
| ls | 128 | 77 | 13.4 | 15.4 | 16.4 | 79 | 15.4 | 16.4 | 12 | 75 | 121 | 88 | |||||||||||||
js | Server Timing Mechanism for web developers to annotate network requests with server timing information. Browser-specific notes:
| wd | 128 | 65 | 3.2‒16.0 | 16.4 | 79 | 12.1 | 16.4 | 4 | 61 | 88 | |||||||||||||||
js | Lookbehind in JS regular expressions The positive lookbehind ( | other | 128 | 62 | 3.2‒16.0 | 16.4 | 79 | 3.1 | 16.4 | 8.2 | 78 | 88 | |||||||||||||||
css | CSS Container Query Units Container Query Units specify a length relative to the dimensions of a query container. The units include: Browser-specific notes:
| wd | 128 | 4 | 93 | 101 | 105 | 3.2 | 16 | 105 | 16 | 20 | 110 | 87 | |||||||||||||
css | CSS Container Queries (Size) Size queries in Container Queries provide a way to query the size of a container, and conditionally apply CSS to the content of that container. Browser-specific notes:
| wd | 128 | 4 | 93‒104 | 106 | 3.2 | 16 | 106 | 16 | 20 | 110 | 87 | ||||||||||||||
html5 | OffscreenCanvas OffscreenCanvas allows canvas drawing to occur with no connection to the DOM and can be used inside workers. Browser-specific notes:
| ls | 128 | 69 | 3.2‒16.0 | 17 | 79 | 3.1 | 17 | 10.1 | 105 | 87 | |||||||||||||||
css | CSS image-set Method of letting the browser pick the most appropriate CSS image from a given set. Browser-specific notes:
| wd | 128 | 21‒109 | 114 | 14.0‒16.0 | 17 | 79 | 114 | 14 | 17 | 23 | 113 | 87 | |||||||||||||
dom | Resource Hints: modulepreload Using Unlike some other link relations, changing the relevant attributes (such as as, crossorigin, and referrerpolicy) of such a link does not trigger a new fetch. This is because the document's module map has already been populated by a previous fetch, and so re-fetching would be pointless. Resources: Gecko implementation bug, WebKit implementation bug, Preloading modules, Modern Script Loading. | ls | 128 | 66 | 3.2‒16.0 | 17 | 79 | 3.1 | 17 | 9.2 | 115 | 87 | |||||||||||||||
css | Small, Large, and Dynamic viewport units Viewport units similar to Browser-specific notes:
| wd | 128 | 4 | 100‒104 | 108 | 3.2 | 15.4 | 105 | 108 | 15.4 | 21 | 101 | 87 | |||||||||||||
css | :has() CSS relational pseudo-class Select elements containing specific content. For example, Browser-specific notes:
| wd | 128 | 4‒100 | 101 | 105 | 3.2 | 15.4 | 105 | 15.4 | 20 | 103 | 121 | 87 | |||||||||||||
css3 | CSS font-variant-alternates Controls the usage of alternate glyphs associated to alternative names defined in @font-feature-values for certain types of OpenType fonts. Browser-specific notes:
| wd | 128 | 16‒109 | 111 | 9.3 | 10 | 111 | 9.1 | 22 | 34 | 87 | |||||||||||||||
js | Import maps Import maps allow control over what URLs get fetched by JavaScript Browser-specific notes:
| unoff | 128 | 74 | 89 | 3.2‒16.0 | 16.4 | 89 | 3.1 | 16.4 | 15 | 108 | 87 | ||||||||||||||
other | WebAssembly SIMD An extension to WebAssembly adding 128-bit SIMD operations. Resources: Feature extension overview.Parent feature: WebAssembly. | wd | 128 | 4 | 91 | 3.2‒16.0 | 16.4 | 91 | 3.1 | 16.4 | 16 | 89 | 86 | ||||||||||||||
css | CSS color() function The CSS For this function to work properly, the device screen and OS also needs to support the color space being used. Browser-specific notes:
| cr | 128 | 4‒104 | 108 | 111 | 15 | 5.5 | 111 | 15 | 22 | 113 | 86 | ||||||||||||||
css | selector list argument of :nth-child and :nth-last-child CSS pseudo-classes The newest versions of For support information for just | wd | 128 | 4‒109 | 111 | 9 | 5.5 | 111 | 9 | 22 | 113 | 86 | |||||||||||||||
js | Screen Wake Lock API API to prevent devices from dimming, locking or turning off the screen when the application needs to keep running. Browser-specific notes:
| cr | 128 | 71 | 85 | 3.2‒16.0 | 16.4 | 90 | 3.1 | 16.4 | 14 | 2 | 126 | 86 | |||||||||||||
css | LCH and Lab color values The Browser-specific notes:
| cr | 128 | 4‒109 | 111 | 15 | 5.5 | 111 | 15 | 22 | 113 | 86 | |||||||||||||||
css | CSS print-color-adjust The | cr | 128 | 19 | 3.2 | 15.4 | 79 | 15.4 | 4 | 48 | 85 | ||||||||||||||||
css | Media Queries: Range Syntax Syntax improvements to make media queries using features that have a "range" type (like width or height) less verbose. Can be used with ordinary mathematical comparison operators: Parent feature: CSS3 Media Queries. | cr | 128 | 4‒100 | 104 | 3.2‒16.0 | 16.4 | 104 | 3.1 | 16.4 | 20 | 63 | 85 | ||||||||||||||
css | CSS Subgrid Feature of the CSS Grid Layout Module Level 2 that allows a grid-item with its own grid to align in one or both dimensions with its parent grid. Browser-specific notes:
| cr | 128 | 4‒109 | 117 | 3.2 | 16 | 5.5 | 117 | 16 | 24 | 71 | 84 | ||||||||||||||
js | Credential Management API API that provides a programmatic interface to the browser's credential manager. In short, an origin can request a user's credentials to sign them in, or can ask the browser to save credentials on the user's behalf. Both of these requests are user-mediated. Browser-specific notes:
| wd | 128 | 57 | 14 | 79 | 3.1 | 7.2 | 2 | 84 | |||||||||||||||||
css | CSS text-stroke and text-fill Method of declaring the outline (stroke) width and color for text. Does not yet appear in any W3C specification. Was briefly included in a spec as the "text-outline" property, but this was removed. Browser-specific notes:
| unoff | 4 | 4 | 4 | 79 | 3.1 | 4 | 49 | 84 | |||||||||||||||||
css | CSS line-clamp CSS property that will contain text to a given amount of lines when used in combination with Older (presto-based) versions of the Opera browser have also supported the same effect using the proprietary Browser-specific notes:
| wd | 2.3 | 14 | 5 | 79 | 5 | 4 | 68 | 83 | |||||||||||||||||
dom | Declarative Shadow DOM Proposal to allow rendering elements with shadow dom (aka web components) using server-side rendering. Browser-specific notes:
| ls | 128 | 4 | 90‒109 | 111 | 3.2‒16.0 | 16.4 | 91 | 111 | 3.1 | 16.4 | 22 | 2 | 123 | 83 | |||||||||||
other | URL Scroll-To-Text Fragment URL fragment that defines a piece of text to be scrolled into view and highlighted. Resources: Current Firefox position, Safari's position as of Jan 2020, Firefox support bug, Article about why the `:~:` syntax. | unoff | 128 | 74 | 81 | 3.2‒16.0 | 16.1 | 83 | 3.1 | 16.1 | 13 | 2‒130 | 131 | 83 | |||||||||||||
css | CSS Cross-Fade Function Image function to create a "crossfade" between images. This allows one image to transition (fade) into another based on a percentage value. Resources: Firefox bug #546052: Implement cross-fade(), MDN Web Docs - CSS cross-fade(), Chromium bug to unprefix `-webkit-cross-fade()`. | cr | 4.4 | 17 | 10 | 79 | 10 | 4 | 2 | 82 | |||||||||||||||||
html5 | Audio element Method of playing sound on webpages (without requiring a plug-in). Includes support for the following media properties: Browser-specific notes:
| ls | 2.3 | 4 | 3.2 | 9 | 3.1 | 4 | 20 | 82 | |||||||||||||||||
css3 | CSS text-size-adjust On mobile devices, the text-size-adjust CSS property allows Web authors to control if and how the text-inflating algorithm is applied to the textual content of the element it is applied to. Browser-specific notes:
| unoff | 128 | 54 | 5 | 79 | 6 | 5 | 2 | 82 | |||||||||||||||||
js | Selection API API for accessing selected content of a document, including the See also support for the related DOM range. Browser-specific notes:
| wd | 4.4 | 15 | 5 | 9 | 5.1 | 4 | 52 | 82 | |||||||||||||||||
css | :dir() CSS pseudo-class Matches elements based on their directionality. Browser-specific notes:
| wd | 128 | 4 | 91‒118 | 120 | 3.2‒16.0 | 16.4 | 105 | 120 | 3.1 | 16.4 | 25 | 49 | 82 | ||||||||||||
other | WebM video format Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video. WebM supports the video codec VP8 and VP9. Browser-specific notes:
Parent feature: Video element. | other | 128 | 25 | 14.0‒17.0 | 17.4 | 79 | 16 | 5 | 28 | 82 | ||||||||||||||||
dom | Media Source Extensions API allowing media data to be accessed from HTML Browser-specific notes:
| rec | 4.4.3 | 31 | 13 | 12 | 8 | 9.2 | 42 | 81 | |||||||||||||||||
security | TLS 1.1 Version 1.1 of the Transport Layer Security (TLS) protocol. TLS 1.0 & 1.1 are deprecated in Chrome, Edge, Firefox, Internet Explorer 11, & Safari. Browser-specific notes:
| other | 128 | 22 | 85 | 5 | 11 | 13.1 | 4 | 78 | 80 | ||||||||||||||||
css | CSS font-size-adjust Method of adjusting the font size in a matter that relates to the height of lowercase vs. uppercase letters. This makes it easier to set the size of fallback fonts. Browser-specific notes:
| rec | 128 | 43‒118 | 120 | 127 | 3.2‒16.0 | 17 | 79 | 127 | 3.1 | 17 | 4 | 118 | 80 | ||||||||||||
css | CSS Reflections Method of displaying a reflection of an element. Similar effect can be achieved in Firefox 4+ using the -moz-element() background property. Resources: WebKit blog post. | unoff | 2.1 | 4 | 3.2 | 79 | 4 | 4 | 2 | 80 | |||||||||||||||||
html5 | Srcset and sizes attributes The Browser-specific notes:
| ls | 128 | 38 | 9 | 16 | 11 | 4 | 38 | 80 | |||||||||||||||||
other | Opus audio format Royalty-free open audio codec by IETF, which incorporated SILK from Skype and CELT from Xiph.org, to serve higher sound quality and lower latency at the same bitrate. Support refers to this format's use in the Browser-specific notes:
Parent feature: Audio element. | other | 128 | 33 | 11.0‒17.0 | 17.5 | 14 | 11‒17.0 | 17.5 | 5 | 15 | 80 | |||||||||||||||
css | Blending of HTML/SVG elements Allows blending between arbitrary SVG and HTML elements. Browser-specific notes:
| cr | 128 | 41 | 8 | 79 | 7.1 | 5 | 32 | 80 | |||||||||||||||||
dom | Custom Elements (V1) One of the key features of the Web Components system, custom elements allow new HTML tags to be defined. Browser-specific notes:
| ls | 128 | 67 | 10.3 | 79 | 10.1 | 6.2 | 63 | 79 | |||||||||||||||||
js | Streams Method of creating, composing, and consuming streams of data, that map efficiently to low-level I/O primitives, and allow easy composition with built-in backpressure and queuing. Browser-specific notes:
| ls | 128 | 59 | 89 | 10.3 | 89 | 14.1 | 15 | 102 | 78 | ||||||||||||||||
html5 | Date and time input types Form field widgets to easily allow users to enter a date, time or both, generally by using a calendar/time input widget. Refers to supporting the following input types: There used to also be a Browser-specific notes:
| ls | 4.4 | 25 | 5 | 13 | 14.1 | 4 | 93 | 77 | |||||||||||||||||
other | HTTP/3 protocol Third version of the HTTP networking protocol which uses QUIC as transport protocol. Previously known as HTTP-over-QUIC, now standardized as HTTP/3. Browser-specific notes:
| other | 128 | 79 | 87 | 14.0‒16.0 | 16.4 | 87 | 16 | 16.4 | 14 | 88 | 77 | ||||||||||||||
js | createImageBitmap Create image bitmap with support for resizing and adjusting quality. Browser-specific notes:
| ls | 128 | 59 | 15 | 79 | 15 | 6.2 | 98 | 77 | |||||||||||||||||
js | Feature Policy This specification defines a mechanism that allows developers to selectively enable and disable use of various browser features and APIs. Feature Policy is deprecated and has been replaced with Permissions Policy and Document Policy. Standard support includes the HTTP Browser-specific notes:
| unoff | 128 | 74 | 88 | 11.3 | 88 | 11.1 | 11.1 | 74 | 77 | ||||||||||||||||
dom | autocomplete attribute: on & off values The This support information does not include support for other Browser-specific notes:
| ls | 2.1 | 41 | 5 | 79 | 7 | 4 | 30 | 76 | |||||||||||||||||
other | AV1 video format AV1 (AOMedia Video 1) is a royalty-free video format by the Alliance for Open Media, meant to succeed its predecessor VP9 and compete with the HEVC/H.265 format. Edge has stopped supporting AV1 completely at some point prior to version 116 (additional information required). Browser-specific notes:
Parent feature: Video element. | other | 128 | 70 | 3.2‒16.0 | 17 | 18 | 121 | 3.1 | 17 | 12 | 67 | 76 | ||||||||||||||
css | CSS page-break properties Properties to control the way elements are broken across (printed) pages. Not all mobile browsers offer print support; support listed for these is based on browser engine capability. Browser-specific notes:
| rec | 128 | 4‒104 | 108 | 3.2 | 79 | 108 | 10.1 | 21 | 65 | 76 | |||||||||||||||
js | Service Workers Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline. Details on partial support can be found on is ServiceWorker Ready?. Browser-specific notes:
| cr | 128 | 45 | 11.3 | 17 | 11.1 | 4 | 69 | 75 | |||||||||||||||||
js | Asynchronous Clipboard API A modern, asynchronous Clipboard API based on Promises. Browsers differ on how they handle the security considerations for clipboard operations:. Browser-specific notes:
| wd | 128 | 66 | 14 | 79 | 13.1 | 25 | 63 | 125 | 74 | ||||||||||||||||
js | WebCodecs API API to provide more control over the encoding and decoding of audio, video, and images. Browser-specific notes:
| wd | 128 | 4 | 94 | 3.2‒16.0 | 16.4 | 94 | 3.1 | 16.4 | 17 | 2‒129 | 130 | 73 | |||||||||||||
dom | Resource Hints: prefetch Informs the browsers that a given resource should be prefetched so it can be loaded more quickly. This is indicated using Browser-specific notes:
| wd | 4.4 | 8 | 13.4 | 11 | 13.1 | 4 | 2 | 72 | |||||||||||||||||
other | COLR/CPAL(v0) Font Formats The COLR table adds support for multi-colored glyphs in a manner that integrates with the rasterizers of existing text engines. COLRv0 only supports pure colors, does not support gradients, transformations and various blending modes. Browser-specific notes:
Parent feature: @font-face Web fonts. | other | 128 | 71‒109 | 110 | 11.0‒16.0 | 17 | 17.2 | 79 | 110 | 14 | 17 | 17.2 | 10.1 | 32 | 71 | |||||||||||
js | requestIdleCallback API allowing the execution of JavaScript to be queued to run in idle browser time, either at the end of a frame or when the user is inactive. Also covers support for Browser-specific notes:
| wd | 128 | 47 | 13.4 | 79 | 13.1‒17.0 | TP | 5 | 55 | 71 | ||||||||||||||||
css | ::selection CSS pseudo-element The ::selection CSS pseudo-element applies rules to the portion of a document that has been highlighted (e.g., selected with the mouse or another pointing device) by the user. Resources: ::selection test, MDN web docs. | wd | 4.4 | 4 | 3.2 | 9 | 3.1 | 4 | 62 | 71 | |||||||||||||||||
html5 | Autofocus attribute Allows a form field to be immediately focused on page load. While not supported in iOS Safari, it does work in iOS WebViews. Resources: Article on autofocus, MDN Web Docs - autofocus attribute. | ls | 3 | 5 | 3.2 | 10 | 5 | 4 | 4 | 70 | |||||||||||||||||
css3 | CSS resize property Method of allowing an element to be resized by the user, with options to limit to a given direction. Browser-specific notes:
| rec | 128 | 4 | 3.2 | 79 | 4 | 5 | 5 | 70 | |||||||||||||||||
css | CSS Nesting CSS nesting provides the ability to nest one style rule inside another, with the selector of the child rule relative to the selector of the parent rule. Similar behavior previously required a CSS pre-processor. Browser-specific notes:
| wd | 128 | 4‒104 | 109 | 112 | 120 | 3.2‒16.0 | 16.5 | 17.2 | 5.5 | 120 | 3.1 | 16.5 | 17.2 | 23 | 117 | 70 | |||||||||
css3 | CSS3 Cursors (original values) CSS3 cursor values added in the 2004 spec, including none, context-menu, cell, vertical-text, alias, copy, no-drop, not-allowed, nesw-resize, nwse-resize, col-resize, row-resize and all-scroll. Browser-specific notes:
| rec | 128 | 5 | 3.2 | 14 | 5 | 4 | 4 | 70 | |||||||||||||||||
css3 | CSS3 Cursors: zoom-in & zoom-out Support for | rec | 128 | 37 | 3.2 | 12 | 9 | 4 | 24 | 70 | |||||||||||||||||
css3 | CSS grab & grabbing cursors Support for the | rec | 128 | 68 | 3.2 | 15 | 11 | 4 | 27 | 70 | |||||||||||||||||
other | Ogg Vorbis audio format Vorbis is a free and open source audio format, most commonly used with the Ogg container. Support refers to this format's use in the Browser-specific notes:
Parent feature: Audio element. | other | 2.3 | 4 | 3.2‒17.0 | 17.4 | 17 | 14.1 | 17 | 4 | 3.5 | 69 | |||||||||||||||
js | Do Not Track API API to allow the browser's Do Not Track setting to be queried via Partial support refers to the doNotTrack field being misnamed, or being attached to an object other than Browser-specific notes:
| unoff | 4.4 | 23 | 12.2 | 17 | 12.1 | 4 | 32 | 67 | |||||||||||||||||
js | Vibration API Method to access the vibration mechanism of the hosting device. Resources: MDN Web Docs - Vibration, Vibration API sample code & demo, Tuts+ article, Demo, Article and Usage Examples. | rec | 4.4 | 30 | 3.2 | 79 | 3.1 | 4 | 16 | 66 | |||||||||||||||||
js | Web MIDI API The Web MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices. Resources: Polyfill, Firefox support bug, Test/demo page, WebKit support bug. | wd | 128 | 43 | 3.2 | 79 | 3.1 | 4 | 108 | 66 | |||||||||||||||||
dom | Auxclick The click event for non-primary buttons of input devices. With introduction of this feature there will be no longer click event fired for non-primary buttons. Browser-specific notes:
| wd | 128 | 55 | 3.2 | 79 | 3.1 | 5 | 53 | 66 | |||||||||||||||||
css3 | CSS overflow-anchor (Scroll Anchoring) Changes in DOM elements above the visible region of a scrolling box can result in the page moving while the user is in the middle of consuming the content. | wd | 128 | 56 | 3.2 | 79 | 3.1 | 5 | 66 | 66 | |||||||||||||||||
dom | Media Capture from DOM Elements API API to capture Real-Time video and audio from a DOM element, such as a Browser-specific notes:
Parent feature: getUserMedia/Stream API. | wd | 128 | 62 | 3.2 | 79 | 11 | 8.2 | 43 | 65 | |||||||||||||||||
css | CSS content-visibility Provides control over when elements are rendered, so rendering can be skipped for elements not yet in the user's viewport. Browser-specific notes:
| wd | 128 | 4 | 85 | 3.2‒17.0 | 18 | 85 | 3.1‒17.0 | 18 | 14 | 109 | 125 | 65 | |||||||||||||
html5 | Spellcheck attribute Attribute for The partial support in mobile browsers results from their OS generally having built-in spell checking instead of using the wavy underline to indicate misspelled words. | ls | 2.1 | 9 | 3.2 | 10 | 5.1 | 4 | 2 | 64 | |||||||||||||||||
html5 | Number input type Form field type for numbers. Browser-specific notes:
| ls | 4 | 6 | 3.2 | 79 | 5 | 4 | 29 | 64 | |||||||||||||||||
other | COLR/CPAL(v1) Font Formats COLRv1 is an improved version of COLRv0, this is also part of the OpenType specification. COLRv1 supports additional graphic capabilities. In addition to solid colors, gradient fills can be used, as well as more complex fills using other graphic operations, including affine transformations and various blending modes. Browser-specific notes:
Parent feature: @font-face Web fonts. | other | 128 | 4 | 98 | 3.2 | 98 | 3.1 | 18 | 107 | 64 | ||||||||||||||||
js | WebTransport Protocol framework to send and receive data from servers using HTTP3. Similar to WebSockets but with support for multiple streams, unidirectional streams, out-of-order delivery, and reliable as well as unreliable transport. Resources: web.dev article, Firefox support bug, Explainer with examples, WebKit position on WebTransport. | wd | 128 | 4 | 97 | 3.2 | 98 | 3.1 | 18 | 114 | 64 | ||||||||||||||||
css3 | text-decoration styling Method of defining the type, style and color of lines in the text-decoration property. These can be defined as shorthand (e.g. All browsers support the CSS2 version of Browser-specific notes:
| cr | 128 | 57 | 8 | 79 | 12.1 | 7.2 | 36 | 63 | |||||||||||||||||
dom | ImageCapture API The Image Capture API provides access to the Video Camera for taking photos while configuring picture-specific settings such as e.g. zoom or auto focus metering area. Firefox supports the Browser-specific notes:
Parent feature: getUserMedia/Stream API. | wd | 128 | 59 | 3.2 | 79 | 3.1 | 5 | 35 | 62 | |||||||||||||||||
css | CSS Painting API Allows programmatic generation of images used by CSS. Browser-specific notes:
| cr | 128 | 65 | 3.2 | 79 | 12.1 | 9.2 | 2 | 62 | |||||||||||||||||
js | Web Notifications Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user). Browser-specific notes:
| ls | 4.4 | 22 | 3.2‒16.0 | 16.4 | 14 | 6 | 5 | 22 | 62 | ||||||||||||||||
js | Battery Status API Method to provide information about the battery status of the hosting device. Firefox 52+ removed access to this API due to privacy concerns.. Browser-specific notes:
| cr | 128 | 38 | 3.2 | 79 | 3.1 | 4 | 52 | 62 | |||||||||||||||||
dom | Client Hints: DPR, Width, Viewport-Width DPR, Width, and Viewport-Width hints enable proactive content negotiation between client and server, enabling automated delivery of optimized assets - e.g. auto-negotiating image DPR resolution. Resources: Automating resource selection with Client Hints, Mozilla Bug 935216 - Implement Client-Hints HTTP header, WebKit Bug 145380 - Add Content-DPR header support. | other | 128 | 46 | 3.2 | 79 | 3.1 | 5 | 2 | 62 | |||||||||||||||||
js | Background Sync API Provides one-off and periodic synchronization for Service Workers with an onsync event. Resources: Firefox support bug, SyncManager on MDN Web Docs, Google Developers blog: Introducing Background Sync. | unoff | 128 | 49 | 3.2 | 79 | 3.1 | 5 | 2‒130 | 131 | 62 | ||||||||||||||||
js | Web Bluetooth Allows web sites to communicate over GATT with nearby user-selected Bluetooth devices in a secure and privacy-preserving way. Browser-specific notes:
| unoff | 128 | 56 | 3.2 | 79 | 3.1 | 6.2 | 2 | 61 | |||||||||||||||||
other | HTTP Live Streaming (HLS) HTTP-based media streaming communications protocol. HLS can be used with a JavaScript library in browsers that doesn't support it natively as long as they support Media Source Extensions. Resources: Wikipedia article, Apple developer article. | unoff | 3 | 4 | 3.2 | 79 | 6 | 4 | 2 | 61 | |||||||||||||||||
other | Signed HTTP Exchanges (SXG) Part of the Web Packaging spec, Signed HTTP Exchanges allow a different origin server to provide a resource, and this will be treated as if it came from the original server. This can be used with AMP CDNs, for example, to allow the original URL to be displayed in the URL bar. Note this requires the page to be delivered signed by a certificate with the CanSignHttpExchanges extension. Browser-specific notes:
| other | 128 | 73 | 3.2 | 79 | 3.1 | 11.1 | 2 | 61 | |||||||||||||||||
dom | IntersectionObserver V2 Iteration on the original API that also reports if the element is covered by another element or has filters applied to it. Useful for blocking clickjacking attempts or tracking ad exposure. Resources: Google Web Docs - Intersection Observer V2, Request for Mozilla Position on IntersectionObserver V2, Safari support bug.Parent feature: IntersectionObserver. | unoff | 128 | 74 | 3.2 | 79 | 3.1 | 11.1 | 2 | 61 | |||||||||||||||||
dom | Trusted Types for DOM manipulation An API that forces developers to be very explicit about their use of powerful DOM-injection APIs. Can greatly improve security against XSS attacks. Resources: Web.dev article on using trusted types, Firefox position: non-harmful. | unoff | 128 | 4 | 83 | 3.2 | 83 | 3.1 | 13 | 2 | 61 | ||||||||||||||||
css | CSS text-indent The Browser-specific notes:
| cr | 128 | 38 | 3.2 | 16 | 79 | 16 | 5 | 2 | 121 | 61 | |||||||||||||||
js | Gyroscope | cr | 128 | 67 | 3.2 | 79 | 3.1 | 4 | 2 | 61 | |||||||||||||||||
js | Accelerometer Defines Browser-specific notes:
| cr | 128 | 67 | 3.2 | 79 | 3.1 | 4 | 2 | 61 | |||||||||||||||||
js | Orientation Sensor Defines a base orientation sensor interface and concrete sensor subclasses to monitor the device’s physical orientation in relation to a stationary three dimensional Cartesian coordinate system. Browser-specific notes:
| cr | 128 | 67 | 3.2 | 79 | 3.1 | 4 | 2 | 61 | |||||||||||||||||
js | Cookie Store API An API for reading and modifying cookies. Compared to the existing Browser-specific notes:
| unoff | 128 | 64 | 87 | 3.2 | 87 | 3.1 | 14 | 2 | 61 | ||||||||||||||||
css3 | CSS3 Multiple column layout Method of flowing information in multiple columns. Browser-specific notes:
| cr | 128 | 50 | 10 | 79 | 10 | 5 | 92 | 60 | |||||||||||||||||
js | Synchronous Clipboard API API to provide copy, cut and paste events as well as provide access to the OS clipboard. Internet Explorer will display a security prompt for access to the OS clipboard. Browser-specific notes:
| wd | 128 | 58 | 12 | 79 | 12 | 7.2 | 41 | 60 | |||||||||||||||||
html5 | Multiple file selection Allows users to select multiple files in the file picker. Browser-specific notes:
| ls | 2.1 | 5 | 6 | 10 | 4 | 5 | 3.6 | 58 | |||||||||||||||||
html5 | tabindex global attribute Specifies the focusability of the element and in what order (if any) it should become focused (relative to other elements) when "tabbing" through the document. Mac OS X "Full Keyboard Access" refers to setting Keyboard→Shortcuts→Full Keyboard Access to "All controls" in the System Preferences. Browser-specific notes:
| ls | 2.1 | 15 | 3.2 | 7 | 5.1 | 4 | 4 | 58 | |||||||||||||||||
js | Speech Synthesis API A web API for controlling a text-to-speech output. Samsung Internet for GearVR: In Development, release based on Chromium m53 due Q1/2017. Browser-specific notes:
Parent feature: . | unoff | 2.1 | 55 | 7 | 79 | 7 | 5 | 49 | 58 | |||||||||||||||||
js | Gamepad API API to support input from USB gamepad controllers through JavaScript. Resources: Controller demo, MDN Web Docs - Gamepad, HTML5Rocks article, Detailed tutorial. | wd | 2.1 | 25 | 10.3 | 12 | 10.1 | 4 | 29 | 58 | |||||||||||||||||
other | Built-in PDF viewer Support for a PDF viewer that is part of the browser, rather than requiring a PDF file to be opened in an external application. When displaying PDFs inline rather than separately, iOS Safari will only display the first page of the document. Browser-specific notes:
| other | 2.1 | 15 | 3.2 | 15 | 4 | 4 | 19 | 58 | |||||||||||||||||
html5 | Printing Events Window fires Due to its wider support, consider using | ls | 2.1 | 63 | 13 | 6 | 13 | 5 | 6 | 57 | |||||||||||||||||
html5 | HTML Media Capture Facilitates user access to a device's media capture mechanism, such as a camera, or microphone, from within a file upload control. Browser-specific notes:
| rec | 3 | 4 | 6 | 5.5 | 3.1 | 4 | 2 | 57 | |||||||||||||||||
dom | MediaRecorder API The MediaRecorder API (MediaStream Recording) aims to provide a really simple mechanism by which developers can record media streams from the user's input devices and instantly use them in web apps, rather than having to perform manual encoding operations on raw PCM data, etc. Browser-specific notes:
Parent feature: getUserMedia/Stream API. | wd | 2.1 | 49 | 14.5 | 79 | 14.1 | 5 | 29 | 57 | |||||||||||||||||
dom | KeyboardEvent.code A "Some key events, or their values, might be suppressed by the IME in use". On mobile (virtual keyboard), all keys are reported as empty (""). Browser-specific notes:
| wd | 2.1 | 48 | 10.3 | 79 | 10.1 | 5 | 38 | 57 | |||||||||||||||||
other | zstd (Zstandard) content-encoding Data compression method providing faster page loading while using less CPU power on the server. Browser-specific notes:
| other | 128 | 4‒109 | 118 | 123 | 3.2 | 5.5 | 123 | 3.1 | 4 | 2 | 126 | 57 | |||||||||||||
css | View Transitions API (single-document) Provides a mechanism for easily creating animated transitions between different DOM states, while also updating the DOM contents in a single step. This API is specific to single-document transitions, support for same-origin cross-document transitions is being planned. Resources: Explainer document, View Transitions API on MDN, Chrome Developers documentation, Firefox support bug. | wd | 128 | 4‒109 | 111 | 3.2‒17.0 | 18 | 5.5 | 111 | 3.1‒17.0 | 18 | 23 | 2 | 57 | |||||||||||||
css | Scoped Styles: the @scope rule Allows CSS rules to be scoped to part of the document, with upper and lower limits described by selectors. This implementation replaces an older concept of scoping CSS rules. Browser-specific notes:
| wd | 128 | 4‒100 | 104‒109 | 118 | 3.2‒17.0 | 17.4 | 104 | 118 | 3.1‒17.0 | 17.4 | 25 | 2 | 57 | ||||||||||||
js | Permissions API High-level JavaScript API for checking and requesting permissions. Resources: Permission API samples and examples, Extended "polyfill" version of permission API. | wd | 2.1 | 43 | 3.2 | 16 | 79 | 16 | 4 | 46 | 56 | ||||||||||||||||
js | Shared Web Workers Method of allowing multiple scripts to communicate with a single web worker. Resources: Sitepoint article, Blog post.Parent feature: Web Workers. | ls | 2.1 | 4 | 7 | 16 | 79 | 16 | 5 | 29 | 56 | ||||||||||||||||
other | HEVC/H.265 video format The High Efficiency Video Coding (HEVC) compression standard is a video compression format intended to succeed H.264. It is hard for browsers to universally support HEVC because it is complex and expensive to license. HEVC competes with AV1 which has similar compression quality and provides a free license. Browser-specific notes:
Parent feature: Video element. | other | 128 | 4‒104 | 107 | 11 | 79 | 13 | 21 | 2 | 121 | 56 | |||||||||||||||
js | Shared Array Buffer Type of ArrayBuffer that can be shared across Workers. Browser-specific notes:
| other | 2.1 | 68 | 91 | 10.3 | 15.2 | 91 | 15.2 | 15 | 79 | 56 | |||||||||||||||
css | CSS display: contents
Browser-specific notes:
| cr | 128 | 65 | 89 | 13.4 | 16 | 17 | 89 | 16 | 17 | 15 | 62 | 55 | |||||||||||||
js | Picture-in-Picture Allows websites to create a floating video window that is always on top of other windows so that users may continue consuming media while they interact with other sites or applications on their device. Browser-specific notes:
| wd | 2.1 | 70 | 14 | 79 | 13.1 | 4 | 72 | 54 | |||||||||||||||||
js | Payment Request API Payment Request is a new API for the open web that makes checkout flows easier, faster and consistent on shopping sites. Apple provides an equivalent proprietary API called Apple Pay JS. Google provides a PaymentRequest wrapper for Apple Pay JS. Browser-specific notes:
| rec | 2.1 | 78 | 12.2 | 79 | 12.1 | 12 | 66 | 54 | |||||||||||||||||
js | Screen Orientation Provides the ability to read the screen orientation state, to be informed when this state changes, and to be able to lock the screen orientation to a specific state. Partial support refers to an older version of the draft specification, and the spec has undergone significant changes since, for example renaming the Browser-specific notes:
| wd | 2.1 | 38 | 3.2‒16.0 | 16.4 | 79 | 3.1 | 16.4 | 5 | 44 | 54 | |||||||||||||||
css | CSS Anchor Positioning Allows placing elements anywhere on the page relative to an "anchor element", without regard to the layout of other elements besides their containing block. Browser-specific notes:
| wd | 128 | 4‒109 | 117‒124 | 125 | 3.2 | 5.5 | 125 | 3.1 | 4 | 2 | 54 | ||||||||||||||
js | Passkeys Passkeys, also known as Multi-device FIDO Credentials, provide users with an alternative to passwords that is much easier to use and far more secure. Support for various passkey features also depends on the device and OS used. See the passkeys.dev site for details. | other | 2.1 | 4‒104 | 108 | 3.2 | 16 | 5.5 | 108 | 3.1 | 16.1 | 21 | 2 | 122 | 50 | ||||||||||||
html5 | Ruby annotation Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography). Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby. Browser-specific notes:
| ls | 3 | 5 | 5 | 12 | 5 | 4 | 38 | 49 | |||||||||||||||||
svg | SVG effects for HTML Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element. Partial support refers to lack of filter support or buggy result from effects. A CSS Filter Effects specification is in the works that would replace this method. Browser-specific notes:
| rec | 4.4 | 4 | 3.2 | 79 | 4 | 4 | 3.5 | 49 | |||||||||||||||||
css | Background-clip: text Clipping a background image to the foreground text. Firefox and legacy Edge also support this property with the Browser-specific notes:
Parent feature: CSS3 Background-image options. | unoff | 128 | 4‒118 | 120 | 14 | 15.5 | 79 | 120 | 15.5 | 25 | 49 | 49 | ||||||||||||||
css3 | CSS box-decoration-break Controls whether the box's margins, borders, padding, and other decorations wrap the broken edges of the box fragments (when the box is split by a break (page/column/region/line). Browser-specific notes:
| cr | 4.4 | 22 | 7 | 79 | 6.1 | 4 | 32 | 48 | |||||||||||||||||
css3 | CSS clip-path property (for HTML) Method of defining the visible region of an HTML element using SVG or a shape definition. Support refers to the Browser-specific notes:
Parent feature: CSS Masks. | cr | 128 | 55 | 13 | 79 | 13.1 | 6.2 | 54 | 48 | |||||||||||||||||
dom | Network Information API The Network Information API enables web applications to access information about the network connection in use by the device. Accessed via Browser-specific notes:
| unoff | 128 | 61 | 3.2 | 79 | 3.1 | 8.2 | 2 | 48 | |||||||||||||||||
js | Web Share API A way to allow websites to invoke the native sharing capabilities of the host platform. Browser-specific notes:
| cr | 4.4.3 | 25 | 89‒127 | 128 | 14 | 95 | 14 | 8.2 | 2 | 48 | |||||||||||||||
css | CSS scrollbar styling Methods of styling scrollbars' color and width. Browser-specific notes:
| cr | 2.3 | 4‒118 | 121 | 14 | 79 | 121 | 5.1 | 25 | 64 | 47 | |||||||||||||||
html5 | accept attribute for file input Allows a filter to be defined for what type of files a user may pick with from an Not supported means any file can be picked as if the Browser-specific notes:
| ls | 4.4 | 26 | 8 | 79 | 11.1 | 4 | 37 | 47 | |||||||||||||||||
security | DNSSEC and DANE Method of validating a DNS response against a trusted root server. Mitigates various attacks that could reroute a user to a fake site while showing the real URL for the original site. Browsers have generally decided to not implement DNSSEC validation because the added complexity outweighs the improvements to the browser. DNSSEC is still useful as it is widely used to protect delivery of records between DNS servers, only failing to protect the delivery from the last DNS server to the browser. Browser-specific notes:
| other | 2.1 | 31 | 3.2 | 5.5 | 3.1 | 4 | 2 | 47 | |||||||||||||||||
security | X-Frame-Options HTTP header An HTTP header which indicates whether the browser should allow the webpage to be displayed in a frame within another webpage. Used as a defense against clickjacking attacks. Partial support refers to not supporting the | other | 4 | 26 | 7 | 79 | 5.1 | 4 | 70 | 47 | |||||||||||||||||
other | WAI-ARIA Accessibility features Method of providing ways for people with disabilities to use dynamic web content and web applications. Support for ARIA is rather complex and currently is not fully supported in any browser. For detailed information on partial support see the ARIA 1.0 Implementation Report. | rec | 4.4 | 4 | 3.2 | 8 | 4 | 4 | 2 | 47 | |||||||||||||||||
dom | Mutation events Deprecated mechanism for listening to changes made to the DOM, replaced by Mutation Observers. See also support for Mutation Observer, which replaces mutation events and does not have the same performance drawbacks. Browser-specific notes:
| wd | 2.3 | 15 | 4.2 | 79 | 4 | 4 | 6 | 46 | |||||||||||||||||
dom | DOMMatrix The Browser-specific notes:
| cr | 128 | 61 | 11 | 79 | 11 | 4 | 69 | 46 | |||||||||||||||||
dom | Media Fragments Allows only part of a resource to be shown, based on the fragment identifier in the URL. Currently support is primarily limited to video track ranges. Browser-specific notes:
| rec | 4.4 | 18 | 8 | 79 | 6 | 6.2 | 34 | 46 | |||||||||||||||||
css | Fullscreen API API for allowing content (like a video or canvas element) to take up the entire screen. Browser-specific notes:
| ls | 2.1 | 71 | 12 | 79 | 15.4 | 16.4 | 10.1 | 64 | 46 | ||||||||||||||||
js | DeviceOrientation & DeviceMotion events API for detecting orientation and motion events from the device running the browser. Partial support refers to the lack of compassneedscalibration event. Partial support also refers to the lack of devicemotion event support for Chrome 30- and Opera. Opera Mobile 14 lost the ondevicemotion event support. Firefox 3.6, 4 and 5 support the non-standard MozOrientation event. Browser-specific notes:
| cr | 3 | 7 | 4.2 | 79 | 3.1 | 4 | 6 | 44 | |||||||||||||||||
css3 | CSS Counter Styles The @counter-style CSS at-rule allows custom counter styles to be defined. A @counter-style rule defines how to convert a counter value into a string representation. Browser-specific notes:
| cr | 128 | 4 | 91 | 3.2‒16.0 | 17 | 91 | 3.1 | 17 | 16 | 33 | 43 | ||||||||||||||
js | Push API API to allow messages to be pushed from a server to a browser, even when the site isn't focused or even open in the browser. Browser-specific notes:
| wd | 2.1 | 50 | 3.2‒16.0 | 16.4 | 79 | 7 | 16.1 | 4 | 61 | 42 | |||||||||||||||
css | CSS Initial Letter Method of creating an enlarged cap, including a drop or raised cap, in a robust way. Browser-specific notes:
| wd | 128 | 4‒109 | 110 | 9 | 5.5 | 110 | 9.1 | 21 | 2 | 41 | |||||||||||||||
css | CSS Relative color syntax Relative color syntax in CSS allows a color to be defined relative to another color using the Browser-specific notes:
| wd | 128 | 4‒109 | 118 | 119 | 3.2‒16.0 | 16.4 | 18 | 5.5 | 119 | 3.1 | 16.4 | 18 | 25 | 2 | 128 | 40 | |||||||||
dom | theme-color Meta Tag Meta tag to define a suggested color that browsers should use to customize the display of the page or of the surrounding user interface. The meta tag overrides any theme-color set in the web app manifest. Vivaldi browser (Chromium based) supports this feature in both mobile and desktop version. Also supported in the (now discontinued) Firefox OS. Browser-specific notes:
| ls | 2.1 | 73 | 15 | 5.5 | 15 | 6.2 | 2 | 37 | |||||||||||||||||
css | CSS background-attachment Method of defining how a background image is attached to a scrollable element. Values include Most mobile devices have a delay in updating the background position after scrolling a page with Browser-specific notes:
| cr | 4.4 | 4 | 13 | 9 | 15.4 | 5 | 25 | 36 | |||||||||||||||||
dom | Resource Hints: dns-prefetch Gives a hint to the browser to perform a DNS lookup in the background to improve performance. This is indicated using Browser-specific notes:
| wd | 2.1 | 4 | 3.2 | 10 | 5 | 5 | 3.5 | 127 | 35 | ||||||||||||||||
js | asm.js An extraordinarily optimizable, low-level subset of JavaScript, intended to be a compile target from languages like C++. asm.js is mostly rendered obsolete with the introduction of WebAssembly and is therefore no longer recommended. Browser-specific notes:
| other | 128 | 28 | 3.2 | 79 | 3.1 | 5 | 22 | 35 | |||||||||||||||||
other | SDCH Accept-Encoding/Content-Encoding Shared Dictionary Compression over HTTP. Resources: SDCH Google Group, Bugzilla Bug 641069 - Implement SDCH, Wikipedia - SDCH, Shared Dictionary Compression for HTTP at LinkedIn.. | other | 128 | 59 | 3.2 | 5.5 | 3.1 | 5 | 2 | 35 | |||||||||||||||||
js | Pointer Lock API API that provides access to raw mouse movement data. This is done by ignoring boundaries resulting from screen edges where the cursor can't go beyond, providing proper control for first person or real time strategy games. Resources: MDN Web Docs - Pointer Lock, Simple demo. | rec | 2.1 | 37 | 3.2 | 13 | 10.1 | 4 | 50 | 35 | |||||||||||||||||
dom | Directory selection from file input The Lack of support in mobile browsers may be due to the OS file picker not having support for selecting a directory. Resources: MDN article. | unoff | 2.1 | 30 | 3.2 | 14 | 11.1 | 4 | 50 | 35 | |||||||||||||||||
html5 | Audio Tracks Method of specifying and selecting between multiple audio tracks. Useful for providing audio descriptions, director's commentary, additional languages, alternative takes, etc. Browser-specific notes:
| ls | 2.1 | 45 | 7 | 79 | 6.1 | 4 | 33 | 32 | |||||||||||||||||
html5 | Video Tracks Method of specifying and selecting between multiple video tracks. Useful for providing sign language tracks, burnt-in captions or subtitles, alternative camera angles, etc. Browser-specific notes:
| ls | 2.1 | 45 | 7 | 79 | 6.1 | 4 | 33 | 32 | |||||||||||||||||
css | CSS text-wrap: balance Allows multiple lines of text to have their lines broken in such a way that each line is roughly the same width, often used to make headlines more readable and visually appealing. Browser-specific notes:
| wd | 128 | 4‒109 | 114 | 3.2‒17.0 | 17.5 | 5.5 | 114 | 3.1‒17.0 | 17.5 | 23 | 2 | 121 | 32 | ||||||||||||
other | CSS Paged Media (@page) CSS at-rule ( Currently no browsers appear to support the Browser-specific notes:
| wd | 2.1 | 15 | 3.2 | 79 | 3.1 | 4 | 95 | 32 | |||||||||||||||||
html5 | Custom protocol handling Method of allowing a webpage to handle a given protocol using Browser-specific notes:
| ls | 2.1 | 13 | 3.2 | 79 | 3.1 | 4 | 3 | 31 | |||||||||||||||||
html5 | SVG favicons Icon used by browsers to identify a webpage or site. While all browsers support the Favicon support is a complicated topic. See this guide for more information. Browser-specific notes:
| ls | 2.1 | 4 | 80 | 12 | 80 | 3.1 | 13 | 41 | 31 | ||||||||||||||||
other | Document Policy A mechanism that allows developers to set certain rules and policies for a given site. The rules can change default browser behaviour, block certain features or set limits on resource usage. Document Policy is useful both for security and performance, and is similar to Permissions Policy. Standard support includes the HTTP Browser-specific notes:
| unoff | 128 | 4 | 85 | 3.2 | 85 | 3.1 | 4 | 2 | 30 | ||||||||||||||||
js | FIDO U2F API JavaScript API to interact with Universal Second Factor (U2F) devices. This allows users to log into sites more securely using two-factor authentication with a USB dongle. The U2F API is being decommissioned (only the API, not the U2F protocol) and superseded by WebAuthn. Browser-specific notes:
| unoff | 2.1 | 41 | 98‒104 | 106 | 13.3 | 106 | 13 | 4 | 114 | 29 | |||||||||||||||
css | CSS Container Style Queries Style queries in Container Queries provide a way to query the current styling of a container, and conditionally apply additional CSS to the contents of that container. Browser-specific notes:
| wd | 128 | 4‒104 | 107 | 111 | 3.2‒17.0 | 18 | 107 | 111 | 3.1‒17.0 | 18 | 22 | 2 | 28 | ||||||||||||
dom | Resource Hints: prerender Gives a hint to the browser to render the specified page in the background, speeding up page load if the user navigates to it. This is indicated using Chrome treats the prerender hint as a NoState Prefetch instead, and unlike a full prerender it won't execute JavaScript or render any part of the page in advance. Resources: Prerender and prefetch support, Firefox implementation bug. | wd | 2.1 | 13 | 3.2 | 79 | 3.1 | 4 | 2 | 27 | |||||||||||||||||
js | WebUSB Allows communication with devices via USB (Universal Serial Bus). Resources: Google Developers article, Mozilla Specification Positions: Harmful. | unoff | 2.1 | 61 | 3.2 | 79 | 3.1 | 8.2 | 2 | 27 | |||||||||||||||||
other | SPDY protocol Networking protocol for low-latency transport of content over the web. Superseded by HTTP version 2. See also support for HTTP2, successor of SPDY. Browser-specific notes:
| unoff | 128 | 51 | 12.2 | 12 | 12.1 | 5 | 51 | 27 | |||||||||||||||||
svg | SVG fonts Method of using fonts defined as SVG shapes. Removed from SVG 2.0 and considered as a deprecated feature with support being removed from browsers. Browser-specific notes:
Parent feature: @font-face Web fonts. | rec | 128 | 51 | 3.2 | 9 | 3.2 | 5 | 2 | 26 | |||||||||||||||||
js | Magnetometer | cr | 2.1 | 67 | 3.2 | 79 | 3.1 | 4 | 2 | 26 | |||||||||||||||||
css | CSS filter() function This function filters a CSS input image with a set of filter functions (like blur, grayscale or hue). Resources: Blog post, Firefox support bug, Chromium support bug. | wd | 2.1 | 4 | 10 | 5.5 | 9.1 | 4 | 2 | 26 | |||||||||||||||||
css | CSS hanging-punctuation Allows some punctuation characters from start (or the end) of text elements to be placed "outside" of the box in order to preserve the reading flow. Resources: CSS tricks article, Firefox bug #1253615, Chrome bug #41491716. | cr | 2.1 | 4 | 10 | 5.5 | 10 | 4 | 2 | 26 | |||||||||||||||||
css | ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family Allows more control when choosing system interface fonts. Resources: WebKit Safari 13.1 announcement, ui-serif Firefox support bug, ui-sans-serif Firefox support bug, ui-monospace Firefox support bug, ui-rounded Firefox support bug, Chromium support bug. | wd | 2.1 | 4 | 13.4 | 5.5 | 13.1 | 4 | 2 | 26 | |||||||||||||||||
js | Web Serial API Allows communication with devices via a serial interface. Resources: Explainer, Read from and write to a serial port, Mozilla position: harmful, WebKit position: opposed. | unoff | 2.1 | 78 | 89 | 3.2 | 89 | 3.1 | 4 | 2 | 25 | ||||||||||||||||
js | WebHID API Enables raw access to HID (Human Interface Device) commands for all connected HIDs. Previously, an HID could only be accessed if the browser had implemented a custom API for the specific device. Resources: Human interface devices on the web: a few quick examples. | unoff | 2.1 | 78 | 89 | 3.2 | 89 | 3.1 | 4 | 2 | 25 | ||||||||||||||||
other | JPEG 2000 image format JPEG 2000 was built to supersede the original JPEG format by having better compression and more features. WebP, AVIF and JPEG XL are all designed to supersede JPEG 2000. Browser-specific notes:
| other | 2.1 | 4 | 5.0‒17.0 | 18 | 5.5 | 6‒17.0 | 18 | 4 | 2 | 25 | |||||||||||||||
js | Speech Recognition API Method to provide speech input in a web browser. Browser-specific notes:
| unoff | 2.1 | 25 | 14.5 | 79 | 14.1 | 4 | 22 | 25 | |||||||||||||||||
js | Filesystem & FileWriter API Method of reading and writing files to a sandboxed file system. The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions. Resources: HTML5 Rocks tutorial, WebPlatform Docs, Firefox tracking bug. | unoff | 2.1 | 13 | 3.2 | 79 | 3.1 | 5 | 2 | 25 | |||||||||||||||||
js | File System Access API API for manipulating files in the device's local file system (not in a sandbox). Browser-specific notes:
| unoff | 2.1 | 74 | 86‒104 | 105 | 3.2 | 105 | 3.1 | 4 | 2 | 24 | |||||||||||||||
css | CSS Canvas Drawings Method of using HTML5 Canvas as a background image. Not currently part of any specification. A similar effect can be achieved in Firefox 4+ using the -moz-element() background property. Resources: WebKit blog post. | unoff | 128 | 48 | 3.2 | 5.5 | 4 | 5 | 2 | 24 | |||||||||||||||||
other | JPEG XL image format A modern image format optimized for web environments. JPEG XL generally has better compression than WebP, JPEG, PNG and GIF and is designed to supersede them. JPEG XL competes with AVIF which has similar compression quality but fewer features overall. Browser-specific notes:
| other | 2.1 | 4 | 91‒109 | 110 | 3.2‒16.0 | 17 | 91 | 110 | 3.1 | 17 | 4 | 90 | 23 | ||||||||||||
js | WebGPU An API for complex rendering and compute, using hardware acceleration. Use cases include demanding 3D games and acceleration of scientific calculations. Meant to supersede WebGL. All major browser engines are working on implementing this spec. Browser-specific notes:
| wd | 2.1 | 4 | 94‒109 | 113 | 3.2‒17.0 | 17.4 | 94 | 113 | 15‒17.0 | TP | 24 | 63 | 23 | ||||||||||||
other | HEIF/HEIC image format A modern image format based on the HEVC video format. HEIC generally has better compression than WebP, JPEG, PNG and GIF. It is hard for browsers to support HEIC because it is complex and expensive to license. AVIF and JPEG XL provide free licenses and are designed to supersede HEIC. Browser-specific notes:
| other | 2.1 | 4 | 11.0‒16.0 | 17 | 5.5 | 11 | 17 | 4 | 2 | 21 | |||||||||||||||
other | XHTML+SMIL animation Method of using SMIL animation in web pages. Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL. Resources: Wikipedia, JS library to support XHTML+SMIL.Parent feature: XHTML served as application/xhtml+xml. | unoff | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 18 | |||||||||||||||||
css3 | CSS font-smooth Controls the application of anti-aliasing when fonts are rendered. Though present in early (2002) drafts of CSS3 Fonts, Browser-specific notes:
| unoff | 2.1 | 5 | 3.2 | 79 | 4 | 4 | 25 | 128 | 17 | ||||||||||||||||
css | CSS -webkit-user-drag property The non-standard Webkit and blink-based mobile browsers recognize the property but it does not appear to have any effect. Browser-specific notes:
| unoff | 2.1 | 16 | 3.2 | 79 | 3.1 | 4 | 2 | 17 | |||||||||||||||||
css | CSS text-justify CSS property to define how text should be justified when Browser-specific notes:
| cr | 128 | 43 | 3.2 | 79 | 3.1 | 5 | 55 | 16 | |||||||||||||||||
js | WebXR Device API API for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays. Browser-specific notes:
| cr | 2.1 | 79 | 3.2 | 79 | 13 | 12 | 77 | 15 | |||||||||||||||||
other | Ogg/Theora video format Free lossy video compression format. Browser-specific notes:
Parent feature: Video element. | other | 2.1 | 4‒118 | 120 | 3.2 | 17 | 122 | 3.1 | 4 | 3.5‒129 | 130 | 13 | ||||||||||||||
js | Permissions Policy A security mechanism that allows developers to explicitly enable or disable various powerful browser features for a given site. Similar to Document Policy. Standard support includes the HTTP Browser-specific notes:
| wd | 128 | 60 | 88 | 11.3 | 88 | 11.1 | 8.2 | 74 | 12 | ||||||||||||||||
js | Web SQL Database Method of storing data client-side, allows SQLite database queries for access and manipulation. The Web SQL Database specification is no longer being maintained and support is intended to be dropped in future versions. Migrate to e.g. Web Storage or IndexedDB. Browser-specific notes:
| unoff | 128 | 4‒100 | 101‒109 | 110 | 124 | 13 | 101 | 124 | 13 | 4 | 2 | 9 | |||||||||||||
css | CSS text-box-trim & text-box-edge Provides the ability to remove the vertical space appearing above and below text glyphs, allowing more precise positioning and alignment. Browser-specific notes:
| wd | 2.1 | 4‒127 | 128 | 3.2‒16.0 | 16.4 | 5.5 | 128 | 3.1 | 16.4 | TP | 4 | 2 | 7 | ||||||||||||
dom | HTML Imports Deprecated method of including and reusing HTML documents in other HTML documents. Superseded by ES modules. Resources: HTML5Rocks - HTML Imports: #include for the web, Chromium tracking bug: Implement HTML Imports, Firefox tracking bug: Implement HTML Imports, IE Web Platform Status and Roadmap: HTML Imports. | wd | 2.1 | 36 | 80 | 7 | 80 | 6 | 13 | 56 | 7 | ||||||||||||||||
css | CSS overflow: overlay The Browser-specific notes:
| unoff | 128 | 15‒109 | 114 | 12 | 79 | 114 | 12 | 4 | 2 | 7 | |||||||||||||||
dom | Custom Elements (deprecated V0 spec) Original V0 version of the custom elements specification. See Custom Elements V1 for support for the latest version. Resources: Blog post on upgrading from V0 to V1. | unoff | 128 | 33 | 80 | 7 | 80 | 6 | 13 | 59 | 6 | ||||||||||||||||
js | Ambient Light Sensor Defines a concrete sensor interface to monitor the ambient light level or illuminance of the device’s environment. Browser-specific notes:
| cr | 2.1 | 58 | 3.2 | 79 | 3.1 | 4 | 60 | 6 | |||||||||||||||||
css | CSS Device Adaptation Method of overriding the size of viewport in web page using the Due to lack of implementation this specification is slated to be retired. Browser-specific notes:
| wd | 2.1 | 29 | 3.2 | 79 | 3.1 | 4 | 2 | 5 | |||||||||||||||||
html5 | Portals Portals enable seamless navigation between sites or pages. A new page can be loaded as an inset using the Browser-specific notes:
| unoff | 2.1 | 75 | 86 | 3.2 | 90 | 3.1 | 4 | 2 | 5 | ||||||||||||||||
html5 | Selectlist - Customizable select element Proposal for a customizable Browser-specific notes:
| unoff | 2.1 | 4 | 97 | 3.2 | 97 | 3.1 | 4 | 2 | 5 | ||||||||||||||||
js | WebVR API API for accessing virtual reality (VR) devices, including sensors and head-mounted displays. Replaced by the WebXR Device API. For a WebVR experience a head mounted display (VR HMD) is required. Browser-specific notes:
| unoff | 2.1 | 57 | 80 | 3.2 | 80 | 3.1 | 5 | 55 | 4 | ||||||||||||||||
js | Proximity API Defines events that provide information about the distance between a device and an object, as measured by a proximity sensor. Resources: Demo, SitePoint article. | cr | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 15 | 4 | |||||||||||||||||
css3 | CSS element() function This function renders a live image generated from an arbitrary HTML element. Browser-specific notes:
| wd | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 4 | 4 | |||||||||||||||||
html5 | Offline web applications Now deprecated method of defining web page files to be cached using a cache manifest file, allowing them to work offline on subsequent visits to the page. This technology is being deprecated in favor of Service Workers. Resources: Sitepoint tutorial, Dive Into HTML5 article, Mozilla Hacks article/demo, WebPlatform Docs. | unoff | 128 | 4 | 85 | 15 | 85 | 15 | 4 | 84 | 3 | ||||||||||||||||
html5 | Context menu item (menuitem element) Method of defining a context menu item, now deprecated and removed from the HTML specification. Browser-specific notes:
| unoff | 2.1 | 61 | 3.2 | 5.5 | 3.1 | 4 | 85 | 1 | |||||||||||||||||
dom | Shadow DOM (deprecated V0 spec) Original V0 version of the Shadow DOM specification. See Shadow DOM V1 for support for the latest version. Resources: HTML5Rocks - Shadow DOM 101 article, Safari implementation bug, Firefox implementation bug, Google Developers - Shadow DOM v1: self-contained web components. | unoff | 128 | 35 | 80 | 3.2 | 80 | 3.1 | 13 | 61 | 1 | ||||||||||||||||
security | HTTP Public Key Pinning Declare that a website's HTTPS certificate should only be treated as valid if the public key is contained in a list specified over HTTP to prevent MITM attacks that use valid CA-issued certificates. All browsers have removed support. The header was too complicated to use, and when incorrectly implemented, could completely block websites for longer periods of time. | other | 2.1 | 72 | 3.2 | 5.5 | 3.1 | 11.1 | 72 | 0 | |||||||||||||||||
css | display: run-in If the run-in box contains a block box, same as block. If a block box follows the run-in box, the run-in box becomes the first inline box of the block box. If an inline box follows, the run-in box becomes a block box. Browser-specific notes:
| cr | 4.4.3 | 32 | 8 | 12 | 7 | 4 | 2 | 0 | |||||||||||||||||
other | EOT - Embedded OpenType fonts Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the website. Proposal by Microsoft, being considered for W3C standardization. Resources: Wikipedia, Example pages.Parent feature: @font-face Web fonts. | unoff | 2.1 | 4 | 3.2 | 12 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
js | Object.observe data binding Method for data binding, a now-withdrawn ECMAScript 7 proposal. Support in Blink-based browsers is expected to be removed in future versions. Resources: Data-binding Revolutions with Object.observe(), Polyfill, Firefox tracking bug, An update on Object.observe. | unoff | 2.1 | 50 | 3.2 | 5.5 | 3.1 | 5 | 2 | 0 | |||||||||||||||||
css3 | CSS Regions Method of flowing content into multiple elements, allowing magazine-like layouts. While once supported in WebKit-based browsers and Internet Explorer, implementing the feature is no longer being pursued by any browser. Browser-specific notes:
| wd | 2.1 | 35 | 11.3 | 79 | 11.1 | 4 | 2 | 0 | |||||||||||||||||
other | JPEG XR image format JPEG XR was built to supersede the original JPEG format by having better compression and more features. WebP, AVIF and JPEG XL are all designed to supersede JPEG XR. Resources: Microsoft JPEG XR Codec Overview, Firefox support bug, Chrome support bug (marked as WONTFIX). | other | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
js | Efficient Script Yielding: setImmediate() Yields control flow without the minimum delays enforced by setTimeout. Resources: The case for setImmediate(), Script yielding with setImmediate, setImmediate polyfill, Firefox tracking bug, Chrome bug closed as WONTFIX, Polyfill for this feature is available in the core-js library. | unoff | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
css | Scoped attribute Deprecated method of allowing scoped CSS styles using a "scoped" attribute. Now removed from the specification and replaced by the @scope CSS rule. Browser-specific notes:
| unoff | 2.1 | 37 | 3.2 | 5.5 | 3.1 | 4 | 61 | 0 | |||||||||||||||||
css | CSS Exclusions Level 1 Exclusions defines how inline content flows around elements. It extends the content wrapping ability of floats to any block-level element. Resources: CSS Exclusions, Firefox tracking bug, WebKit tracking bug, Chromium tracking bug. | wd | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
dom | Resource Hints: Lazyload Gives a hint to the browser to lower the loading priority of a resource. Please note that this is a legacy attribute, see the | unoff | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
js | Input Method Editor API Provides scripted access to the Input Method Editor (IME). An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions. Browser-specific notes:
| unoff | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
js | Web NFC This API allows a website to communicate with NFC tags through a device's NFC reader. Many devices are not equipped with NFC readers. They won't return any data, even though an installed browser might support this API. Browser-specific notes:
| unoff | 2.1 | 4 | 3.2 | 89 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
css | Explicit descendant combinator >> An explicit, non-whitespace spelling of the descendant combinator. | unoff | 2.1 | 4 | 3.2 | 80 | 11.1 | 4 | 2 | 0 | |||||||||||||||||
other | Dynamic Adaptive Streaming over HTTP (MPEG-DASH) HTTP-based media streaming communications protocol, an alternative to HTTP Live Streaming (HLS). DASH can be used with a JavaScript library in browsers that doesn't support it natively as long as they support Media Source Extensions. Browser-specific notes:
| other | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 23 | 0 | |||||||||||||||||
js | Object RTC (ORTC) API for WebRTC Enables mobile endpoints to talk to servers and web browsers with Real-Time Communications (RTC) capabilities via native and simple JavaScript APIs. ORTC is often dubbed WebRTC 1.1. It is possible to make ORTC communicate with WebRTC 1.0 endpoints. See WebRTC 1.0 for support details for that API. Resources: Related blog posts by Microsoft. | other | 2.1 | 4 | 3.2 | 79 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
html5 | seamless attribute for iframes The seamless attribute makes an iframe's contents actually part of a page, and adopts the styles from its hosting page. The attribute has been removed from both the WHATWG and the W3C HTML5 specifications. Chrome 20-26 had partial support behind a flag, though this was later removed. Browser-specific notes:
| unoff | 2.1 | 27 | 8 | 5.5 | 8 | 4 | 2 | 0 | |||||||||||||||||
css | CSS3 attr() function for all properties While See the generated content table for support for | unoff | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
js | Temporal A modern API for working with date and time, meant to supersede the original All browsers are working on implementing this. Resources: Fixing JavaScript Date, Chromium implementation bug, Firefox implementation bug, WebKit implementation bug, Blog post: Temporal: getting started with JavaScript’s new date time API. | other | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
js | Decorators ECMAScript Decorators are an in-progress proposal for extending JavaScript classes. Decorators use a special syntax, prefixed with an While not yet supported natively in browsers, decorators are supported by a number of transpiler tools. Resources: JavaScript Decorators: What They Are and When to Use Them, A minimal guide to JavaScript (ECMAScript) Decorators and Property Descriptor of the Object, Decorators in TypeScript, Babel plug-in for decorators, Bug on Firefox support. | unoff | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 2 | 0 | |||||||||||||||||
css | CSS @when / @else conditional rules Syntax allowing CSS conditions (like media and support queries) to be written more simply, as well as making it possible to write mutually exclusive rules using | wd | 2.1 | 4 | 3.2 | 5.5 | 3.1 | 4 | 2 | 0 |
supported | annotated | partial | optional | missing | unknown | prefixed |
Usage percentage: 0 - .01 - 1-9 - 10 - 20 - majority