Web platform features explorer

📃 July 2015 release notes

Newly available

The following features are newly available:

  • <a>: The <a> element creates a hyperlink to any resource that's accessible via a URL, such as web pages, files, email addresses, or locations within the same page.
  • <abbr>: The <abbr> HTML element represents an abbreviation or acronym.
  • Absolute positioning: The position: absolute CSS declaration removes an element from the normal flow and positions it relative to its containing block, which is often the root element, or closest positioned ancestor.
  • Accesskey: The accessKey global HTML attribute gives a hint for generating a keyboard shortcut for the current element. The attribute value must consist of a single printable character.
  • <address>: The <address> element represents contact information for a person or people, or for an organization.
  • Alerts: The window.alert(), window.confirm(), and window.prompt() methods open modal dialogs for notifying the user, asking for confirmation, or entering text.
  • Array (initial support): Arrays are ordered lists of JavaScript values.
  • Array.isArray(): The Array.isArray() static method checks whether a value is an array.
  • Array iteration methods: Array iteration methods
  • Array splice(): The array splice() method changes an array in-place. You can use it to delete items, overwrite items, or insert items, starting from an index.
  • <article>: The <article> element represents self-contained content, which is intended to be independently distributable or reusable, such as a comment, a blog post, or news article.
  • <aside>: The <aside> element represents a portion of a document whose content is only indirectly related to the document's main content.
  • attr() (content only): The attr() CSS function, in content property declarations, sets a ::before or ::after pseudo-element's content to the value of the specified HTML attribute.
  • <audio>: The <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser.
  • Autofocus: The autofocus HTML attribute gives focus to an element on page load.
  • <b>: The <b> HTML element draws reader's attention to text, styling text as bold by default.
  • background: The background CSS property is a shorthand that sets several background properties at once.
  • background-clip: The background-clip CSS property sets the extent of the background: the padding box, the content box, or the default border box.
  • background-color: The background-color CSS property sets the fill color of an element, behind any content and background images or gradients.
  • background-image: The background-image CSS property sets the graphics to display behind the content of an element and in front of the background color. Graphics may be any combination of images or gradients.
  • background-origin: The background-origin CSS property sets the background starting position relative to the border and padding of an element.
  • background-position: The background-position CSS property offsets the initial position of background images relative to the background origin.
  • background-size: The background-size CSS property scales or stretches a background based on the size of the element (with the contain and cover keywords), a length, or percentage.
  • <base>: The <base> element sets the base URL (the URL that relative URLs are relative to) for all relative URLs in the document.
  • Base64 encoding and decoding: The atob() and btoa() global functions encode and decode strings to and from base 64, respectively.
  • <bdo>: The <bdo> element overrides the directionality of text, so that the text within is rendered in a different direction than the surrounding text.
  • ::before and ::after: The ::before and ::after CSS pseudo-elements select inline boxes preceding and following an element. They are often used with the content property to generate cosmetic content.
  • Beforeunload: The beforeunload event is fired when the current window is about to be unloaded. Typically this is used to display a dialog to confirm if users really want to leave the page when there is unsaved data that would be lost.
  • <blockquote>: The <blockquote> element represents an extended quotation, styling contents as an indented block by default.
  • <body>: The <body> element represents the content of an HTML document.
  • border-radius: The border-radius CSS property rounds the corners of the border drawn around an element.
  • Borders: The border CSS property sets the color, style, and width of the line around an element.
  • box-shadow: The box-shadow CSS property applies shadow effects around an element's frame. This can create drop shadow and inner shadow effects.
  • box-sizing: The box-sizing CSS property sets whether an element's width and height are calculated based on the content-box, which does not count the size of borders or padding, or border-box, which does count them.
  • <br>: The <br> element produces line breaks in text.
  • <button>: The <button> HTML element represents a button that triggers some action, such as submitting a form or opening a dialog, styled as a labeled rectangular box by default.
  • calc(): The calc() CSS function computes mathematical expressions such a calc(100%/3 - 1em).
  • <canvas>: The <canvas> HTML element is a space to draw graphics in, using the 2D canvas API, WebGL, or WebGPU.
  • 2D canvas: The CanvasRenderingContext2D API is the "2d" rendering context for the <canvas> element. It represents a flat, two-dimensional space for drawing graphics and animations.
  • ch unit: The ch CSS length unit is a font-relative length based on the width of the zero (0) character.
  • Change event: The change event for <input>, <select>, and <textarea> elements fires when the user modifies the element's value. Unlike the input event, the change event does not necessarily fire on every alteration to an element's value.
  • @charset: The @charset CSS at-rule specifies the character encoding of an external style sheet.
  • <cite>: The <cite> element represents the title of a quoted, referenced, or mentioned creative work, such as a film or book.
  • <code>: The <code> element displays its contents as a fragment of computer code.
  • Color: The color CSS property sets the primary foreground color of an element, which is used for text, the default border color, and text decorations.
  • Console: The console API logs debugging messages to the browser development tools' console.
  • Content: The content CSS property sets the content inside of an element or pseudo-element, replacing the current value. It's often used with the ::before and ::after pseudo-elements to generate cosmetic content.
  • Cookies: The Set-Cookie HTTP header stores limited amounts of data that persist across request and response, creating shared state between the browser and server.
  • CORS: Cross-Origin Resource Sharing is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own from which a browser should permit loading resources. Also known as CORS.
  • Counters (CSS): The counter-reset and counter-increment CSS properties and the counter() and counters() functions automatically number headings or ordered list items.
  • cubic-bezier() easing: The cubic-bezier() CSS easing function interpolates along a smooth curve, creating animations and transitions with continuous changes in speed. The ease, ease-in, ease-out, and ease-in-out keyword values are presets for common Bézier curves.
  • currentColor: The currentColor CSS value allows you to reuse an element's computed text color for other properties.
  • Data URLs: Data URLs are URLs that start with the data: scheme and which directly contain data rather than point to remote resources.
  • Dataset: The dataset API attaches and accesses custom data on elements, using either the dataset property of HTMLElement or attributes prefixed with data-.
  • Date: The Date object represents a single moment in time.
  • <del>: The <del> element element represents a range of text that has been deleted from a document, styling text as strikethrough by default.
  • Description list: The <dl>, <dt>, and <dd> HTML elements represent a list of terms and their associated descriptions. Use a description list to create glossaries or similar list of key-value pairs.
  • <dfn>: The <dfn> element marks a term to be defined, styling text as italic by default.
  • Display: The display CSS property sets the display behavior of an element's box within its layout and sets the layout behavior for its child elements.
  • display: list-item: The display: list-item CSS declaration renders an element with the box layout of a <li> HTML element.
  • <div>: The <div> HTML element is the generic container for content.
  • DOM: The DOM (Document Object Model) API represents HTML and XML documents as trees of nodes. You can use the API to inspect and modify the structure and content of a document.
  • Drag and Drop: The Drag and Drop API lets users drag and drop elements and external files such as images onto web pages. Developers can customize which elements can become draggable, the type of feedback the draggable elements produce, and the droppable elements.
  • <em>: The <em> HTML element emphasizes or stresses the content, styling text as italic by default.
  • em unit: The em CSS length unit is a font-relative length equal to the specified font size. In an element with a 2 inch font, 1em equals 2 inches.
  • :empty: The :empty CSS pseudo-class matches elements without child elements.
  • Events: The Event API and the addEventListener() method on objects that receive events (event targets) represent and handle significant things happening on a page. Many APIs fire events for a wide range of situations relating to those APIs, such as an image loading, a user clicking, or a value changing.
  • ex unit: The ex CSS length unit is a font-relative length equal to the used x-height of the first available font. X-height is often equal to the height of the lowercase x.
  • <fieldset> and <legend>: The <fieldset> and <legend> elements group several form control elements within a web form.
  • <figure> and <figcaption>: The <figure> and <figcaption> HTML elements represent an illustration, diagram, text, or other self-contained reference content, with an optional caption.
  • ::first-letter: The ::first-letter CSS pseudo-element selects the first letter in an element for styling.
  • ::first-line: The ::first-line CSS pseudo-element selects the first line of text in an element for styling.
  • Fixed positioning: The position: fixed CSS declaration removes an element from the normal flow and positions it relative to the viewport or page.
  • float and clear: The float CSS property aligns an element to either side of its container, allowing text and inline elements to flow around it. The clear CSS property sets whether an element is moved below floating elements that proceed it.
  • Focus events: Focus events, such as focus and blur, fire when an element gets or loses focus.
  • font-family: The font-family CSS property sets the desired font face for text, along with optional fallback font faces.
  • Font shorthand: The font CSS property shorthand sets multiple font properties, including style, weight, size, and font family.
  • font-size: The font-size CSS property sets the text height.
  • font-style: The font-style CSS property sets the text style, with normal, italic, and oblique options.
  • font-variant: The font-variant CSS property is a shorthand for font-variant-alternates, font-variant-caps, font-variant-east-asian, font-variant-emoji, font-variant-ligatures, font-variant-numeric, and font-variant-position.
  • font-weight: The font-weight CSS property controls the thickness of a font. It is set explicitly with the keyword bold or a number, or relative to the inherited thickness with the keywords bolder or lighter.
  • <form>: The <form> element contains interactive controls for submitting information.
  • Form validity pseudo-classes: The form validity CSS pseudo-classes match <form> elements based on the constraints of a form field, such as validity (:valid, :invalid, :in-range, :out-of-range) and necessity (:optional or :required).
  • Functions: Functions are series of statements that can be called and return a value. The function keyword (as in function () { }) and arrow (=>) expression create functions. The JavaScript functions protocol includes default and rest parameters and binding to this.
  • Geolocation: The navigator.gelocation API requests the user's latitude, longitude, heading, and speed.
  • getComputedStyle(): The getComputedStyle() global method returns an CSSStyleDeclaration object that represents all CSS declarations applied to a given element.
  • Gradients: The linear-gradient() and radial-gradient() CSS functions and their repeating counterparts create backgrounds that progress smoothly between multiple colors.
  • hashchange: The hashchange event fires when the URL fragment identifier (the part of the URL starting with #) of the current page has changed.
  • <head>: The <head> element contains machine-readable information (metadata) about the document, such as the title, <script> and <style> elements, and <meta> elements.
  • <header> and <footer>: The <header> and <footer> HTML elements represent content that precedes and follows the main page content, respectively.
  • <h1> through <h6>: The <h1> through <h6> HTML elements represent six levels of section headings, in order of decreasing importance.
  • <hgroup>: The <hgroup> element represents a heading and related content.
  • History: The window.history API manipulates the browser session history, from navigations to state management, in the tab or frame that the current page is loaded in.
  • <hr>: The <hr> element represents a thematic break between paragraphs, often shown as a horizontal rule.
  • HTTP Strict Transport Security: The Strict-Transport-Security HTTP response header informs browsers that the site should only be accessed using HTTPS, and that any future attempts to access it using HTTP should automatically be converted to HTTPS. Also known as HSTS.
  • <html>: The <html> element represents the top-level of an HTML document and is referred to as the root element.
  • HTTP authentication: The Authorization and WWW-Authenticate headers authenticate a user with a server.
  • HTTP/1.1: HTTP/1.1 is a network protocol used by browsers and servers. It has been superseded by HTTP/2 and HTTP/3.
  • <i>: The <i> HTML element identifies idiomatic content, styling text as italic by default.
  • <iframe>: The <iframe> element embeds another HTML page into the current page.
  • Sandboxed iframes: The sandbox attribute for the <iframe> HTML element sets many security restrictions on the iframe, such as preventing form submissions or opening modal dialogs. Optional allow- values relax specific restrictions.
  • Image maps: The <area> and <map> elements define a clickable area on an image.
  • <img>: The <img> element adds an image into the document.
  • @import: The @import CSS at-rule loads styles from another stylesheet.
  • inherit: The inherit keyword resets any CSS property to the computed value of that property from the parent element.
  • <input>: The <input type="text"> HTML element allows the user to enter information into a form. By default, an <input> element is a text input.
  • <input type="button">: The <input type="button"> HTML element represents a button that triggers some action, such as submitting a form or opening a dialog, styled as a labeled rectangular box by default. Not to be confused with the <button> element, which contains HTML content.
  • <input type="checkbox">: The <input type="checkbox"> HTML element represents a tickable box with two states, checked and unchecked.
  • Email, telephone, and URL <input> types: The <input type="email">, <input type="tel">, and <input type="url"> HTML elements represent email address, telephone number, and URL fields in a form.
  • <input type="file">: The <input type="file"> HTML element shows a file picker from which users can choose a file to upload with the form.
  • <input type="hidden">: The <input type="hidden"> HTML element represents a form field that is not shown visually but is still included in the form submission.
  • <input type="image">: The <input type="image"> HTML element is an image that can be used to submit a form, like the <input type="submit"> element.
  • <input type="number">: The <input type="number"> HTML element represents numeric input data.
  • <input type="password">: The <input type="password"> HTML element represents a field for users to enter a password. The password is hidden from view, typically replaced by dots or asterisks.
  • <input type="radio">: The <input type="radio"> HTML element represents one button in a group such that only one can be chosen at a time.
  • <input type="reset">: The <input type="reset"> HTML element represents a button that sets all form fields to their initial values.
  • Input selectors: The :checked, :disabled, and :enabled CSS pseudo-classes match form elements based on their state.
  • <input type="submit">: The <input type="submit"> HTML element represents a button that triggers an action on its associated <form>, such as sending the form data to a server.
  • <ins>: The <ins> element element represents a range of text that has been inserted into a document, styling text as underlined by default.
  • Iterators and the for...of loop: The for...of loop operates on a sequence of values sourced from an iterable object, such as arrays, array-like objects, DOM collections, iterators, generators, and user-defined iterables. All built-in iterators inherit from the Iterator class.
  • JavaScript (initial core language support): JavaScript is a programming language that runs in browsers, usually through the <script> element. JavaScript has changed over many years. This feature represents the oldest language features, such as built-in objects, statements, and operators. Also known as ECMAScript.
  • JSON: The JSON API provides static methods for parsing values from and converting values to JavaScript Object Notation (JSON), a serialization format for objects, arrays, numbers, strings, Boolean values, and null.
  • <kbd>: The <kbd> element represents textual user input, such as keyboard or voice input, styling text in monospaced type by default.
  • Keyboard events: The keydown and keyup events fire for each key press (or, with modifier keys, a combination of key presses) on a keyboard.
  • <label>: The <label> HTML element represents a caption for a form field.
  • :lang(): The :lang() CSS functional pseudo-class matches elements based on their content language.
  • Lang: The lang global HTML attribute defines the language of an element. It's used by assistive technology to correctly read the content, translation tools to select the origin language, and other applications.
  • Language: The navigator.language read-only property returns a string representing the preferred language of the user, usually the language of the browser UI. The navigator.languages read-only property returns an array of strings representing the user's preferred languages.
  • letter-spacing: The letter-spacing CSS property controls the amount of space between each letter in an element or block of text.
  • line-height: The line-height CSS property sets the spacing between text baselines, oriented to the horizontal or vertical writing mode.
  • <link>: The <link> element creates a relationship between the current document and an external resource, such as a stylesheet or favicon.
  • <ol>, <ul>, and <li>: The <ol>, <ul>, and <li> HTML elements represent ordered and unordered lists.
  • List style: The list-style shorthand CSS property and the list-style-image, list-style-position, and list-style-type longhand properties set the position and appearance of a list item's marker.
  • localStorage and sessionStorage: The localStorage and sessionStorage APIs store data as key-value pairs. While localStorage persists across sessions, sessionStorage data is discarded when the page is closed.
  • Location: The location global object represents the current page's address. You can use it to get the parts of the address (such as location.hostname or location.pathname) or navigate to another URL.
  • <main>: The <main> element represents the dominant content of a document. It is commonly used together with <header> and <footer>.
  • Map (initial support): Map objects hold key-value pairs and remember the original insertion order of the keys.
  • margin: The margin CSS property sets space around an element. It is a shorthand for margin-top, margin-right, margin-bottom, and margin-left.
  • <mark>: The <mark> element represents text which is marked or highlighted for reference or notation purposes.
  • matchMedia: The window.matchMedia() method checks whether a media query applies to the document.
  • Media queries: The @media CSS rule conditionally applies styles based on the output device type, its capabilities, and the user's preferences. Media queries are composed of an optional media type such as screen or print, and one or more mandatory media features, such as prefers-reduced-animations.
  • <menu>: The <menu> element represents an unordered list of action items (<li>), such as a toolbar. It is a semantic alternative to the <ul> element.
  • <meta>: The <meta> element represents metadata about the page used by the browser or search engines, including description, keywords, and character sets.
  • Min and max width and height: The min-width, min-height, max-width, and max-height CSS properties set the minimum and maximum size of an element.
  • Mouse events: Mouse events, such as click, mousedown, or mousemove, fire when users interact with an input or pointing device such as a mouse, trackpad, or touchscreen.
  • MutationObserver: The MutationObserver API watches for changes to the DOM tree and calls a callback function when DOM changes occur.
  • Named colors: Some CSS color values can be referenced by name, such as red or limegreen. They stand in for specific RGB color values.
  • @namespace: The @namespace CSS rule sets a default namespace or namespace prefix. Namespace prefixes allow CSS selectors to distinguish elements with the same name but different document types, such as the HTML <a> element and the SVG <a> element.
  • <nav>: The <nav> element represents a section of a page whose purpose is to provide navigation links, either within the current document or to other documents.
  • Navigator: The window.navigator API is a generic global object, under which many other, more interesting APIs are located. It doesn't do anything interesting on its own.
  • :nth-child(): The :nth-child() and :nth-last-child() CSS functional pseudo-classes match elements based on their index within a list of elements. The :first-child and :last-child pseudo-classes match the first and last element in a list, and the :only-child pseudo-class matches an element with no siblings.
  • :nth-of-type() pseudo-classes: The :nth-of-type() and :nth-last-of-type() CSS functional pseudo-classes match elements based on their position among siblings of the same type. The :first-of-type, :last-of-type, and :only-of-type` pseudo-classes match the first, last, and only elements of its type.
  • Math and numbers: The number type (and Number object) represents floating-point numbers, such as 42 or -4.201, while the Math API contains mathematical functions and constants. JavaScript can also represent boundless negative and positive values as Infinity or not-a-number as NaN (as in 0 * Infinity).
  • <object>: The <object> element represents an external resource such as a PDF or SVG document. It was historically used for plugins such as Shockwave Flash.
  • Object: Objects in JavaScript are collections of key-value pairs.
  • OES_element_index_uint WebGL extension: The OES_element_index_uint extension for WebGL 1.0 contexts adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements().
  • OES_standard_derivatives WebGL extension: The OES_standard_derivatives extension for WebGL 1.0 contexts adds the GLSL derivative functions dFdx, dFdy, and fwidth.
  • OES_texture_float WebGL extension: The OES_texture_float extension for WebGL 1.0 contexts adds floating-point pixel types for textures.
  • OES_texture_float_linear WebGL extension: The OES_texture_float_linear extension for WebGL 1.0 and 2.0 contexts adds linear filtering with floating-point pixel types for textures.
  • Online status: The navigator.onLine property returns a Boolean for whether the browser is connected to some network (though not necessarily the internet). The online and offline events fire when the connection state changes.
  • opacity: The opacity CSS property sets the transparency of an element.
  • <p>: The <p> element represents a paragraph of text.
  • padding: The padding CSS property sets space between an element's edge and its contents. It is a shorthand for padding-top, padding-right, padding-bottom, and padding-left.
  • Page transition events: The pageshow and pagehide transition events fire when a document loads or unloads due to a navigation, such as clicking on a link on a page or the back button in a browser.
  • Page visibility: The document.visibilityState and document.hidden properties tell you whether the page is visible to the user (for example, it's not minimized or in a background tab).
  • Physical properties: The physical CSS properties, top, right, bottom, and left, set the inset position of an element relative to the corresponding side of a container determined by the element's position property.
  • pointer-events: The pointer-events CSS property sets whether a user can interact with an element using a mouse, touch, or other pointing input device.
  • Position: The position CSS property sets the origin position of an element to an element, the element's scrollport, or the viewport.
  • postMessage: The postMessage() global method sends cross-origin messages to windows and workers, including popups and iframes. Also known as cross-document messaging.
  • <pre>: The <pre> element represents a block element of preformatted text that is presented exactly as written, including all white space.
  • <progress>: The <progress> element displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
  • Promise (initial support): A promise represents an asynchronous operation which eventually succeeds or fails.
  • <q>: The <q> element represents a short inline quotation.
  • Regular expressions: The RegExp object represents a regular expression, a notation for matching text patterns.
  • Relative positioning: The position: relative CSS declaration offsets the position of an element relative to its position in the normal flow.
  • rem: The rem CSS length unit is a font-relative length that is equal to the font size of the root HTML element which for most browsers is 16px.
  • requestAnimationFrame(): The requestAnimationFrame() method schedules a function that runs before the next repaint. You can use it to animate content with JavaScript.
  • :root: The :root pseudo-class matches the root element of the document, usually the <html> element.
  • <ruby>: The <ruby> element produces small annotations that are rendered with its base text.
  • <s>: The <s> HTML element indicates text that is no longer relevant or accurate, styling text as strikethrough by default.
  • <samp>: The <samp> element represents a sample or quoted output from a computer program. Styled in a monospace font by default.
  • Screen: The window.screen property contains information about the screen of the output device that the referenced window is being rendered on.
  • <script> and <noscript>: The <script> element contains or loads data or executable code. This is typically used to load JavaScript code. The <noscript> element represents alternative content to show when scripting is not allowed.
  • <input type="search">: The <input type="search"> HTML element represents a text field for search queries.
  • <section>: The <section> element is a generic standalone section of a document, which doesn't have a more specific semantic element to represent it.
  • <select>: The <select> element provides a menu of options for a user to pick from, typically rendered as a dropdown list.
  • Selectors (core): CSS selectors match elements based on their type, attributes, and relationship to other elements. They define the specific elements to which a block of styles will be applied. This feature represents the oldest selectors of CSS.
  • Set (initial support): Set objects store unique values of any type.
  • setInterval: The setInterval() global function repeatedly executes provided code on a given delay, and the accompanying clearInterval() cancels the interval.
  • setTimeout: The setTimeout() global function executes provided code after a given duration of time, and the accompanying clearTimeout() cancels the timer.
  • <small>: The <small> element represents side-comments and small print, like copyright and legal text, independent of its styled presentation. Styled in a reduced font size by default.
  • <source>: The <source> element sets a media resource for the <picture>, <video>, and <audio> elements.
  • <span>: The <span> HTML element is the generic inline container for content.
  • Static positioning: The position: static CSS declaration positions an element in the normal flow. A statically positioned element ignores physical and logical properties such as top or inset-block-start.
  • String (initial support): The string type (and String object) represents a sequence of characters.
  • <strong>: The <strong> HTML element brings attention to the content, styling text as bold by default.
  • <style>: The <style> element embeds an inline CSS stylesheet in a document.
  • style (attribute): The style global HTML attribute applies inline CSS styling declarations to individual elements.
  • <sub> and <sup>: The <sub> and <sup> elements sets inline text to be displayed as subscript or superscript for solely typographical reasons.
  • SVG filters: The <filter> SVG element applies custom effects such as color manipulation, blurring, or morphing to SVG elements.
  • System colors: The system color CSS keywords, such as ButtonBorder or LinkText, allow you to match default colors from the user agent.
  • Tables: The <table> HTML element, with several related elements, represents tabular data in rows and columns of cells.
  • :target: The :target CSS pseudo-class matches the element with an ID matching the URL fragment.
  • text-align: The text-align CSS property sets the horizontal placement of the inner content of a block element.
  • text-decoration: The text-decoration CSS property sets the style and color of decorative lines including underline, overline, line-through, or a combination of lines.
  • text-indent: The text-indent CSS property sets the size of the empty space (indentation) at the beginning of lines in a text.
  • Text overflow: The text-overflow CSS property sets how hidden overflow content appears to users. The property can clip content, truncate content with an ellipsis (…), or truncate with a custom string.
  • text-shadow: The text-shadow CSS property sets the position and styles of shadow on text.
  • Text tracks: The <track> element is used as a child of the media elements that lets you specify a timed text track to be displayed in parallel with the media element.
  • text-transform: The text-transform CSS property sets text case and capitalization.
  • <textarea>: The <textarea> element represents an editing control that allows users to enter multi-line, free-form, plain text.
  • <title>: The <title> element sets the title of the document and exposes it to users via the UI of the browser or app they're using and through assistive technology.
  • Title: The title global HTML attribute sets information about an element, such as a name or description. The value is typically shown as a tooltip that appears on mouse over. Since it's not often available to touch-only, keyboard-only, or assistive technology users, it's not a substitute for other text.
  • Typed arrays (initial support): Typed arrays are ordered lists of JavaScript values, where all values are of the same numerical type, such as 8-bit integers or 32-bit floating point numbers.
  • <u>: The <u> HTML element makes non-textual annotations, styling text as underlined by default.
  • URL: A URL object represents a web address, like https://example.com/, and parts of the address, such as the domain, path, and query string (as URLSearchParams).
  • User action pseudo-classes: The :active, :focus, and :hover CSS pseudo-classes match elements based on how users are interacting with them.
  • User agent sniffing: The navigator.userAgent read-only property returns the user agent string for the current browser. Selectively showing content based on the user agent string is unreliable. Consider using feature detection instead.
  • <var>: The <var> element represents the name of a variable in a mathematical expression or a programming context.
  • vertical-align: The vertical-align CSS property sets the vertical alignment of inline, inline-block, and table cell elements. It has no effect on block-level elements.
  • <video>: The <video> element plays videos or movies, optionally with controls provided by the browser.
  • visibility: The visibility CSS property sets whether an element is shown. Invisible elements still affect the document layout.
  • <wbr>: The <wbr> HTML element represents a word break opportunity, to explicitly mark a place within a word where a line might be broken.
  • WeakMap: A WeakMap object holds key-value pairs that do not create strong references to its keys, such that value data can be associated with a key without preventing garbage collection of the key.
  • Web Cryptography: The Web Cryptography API performs low-level cryptographic operations, such as encryption, decryption, and signature verification. Also known as the Web Crypto API.
  • WebGL: The WebGLRenderingContext API is the "webgl" rendering context for the <canvas> element. It represents a space for drawing two- and three-dimensional graphics and animations.
  • WEBGL_depth_texture WebGL extension: The WEBGL_depth_texture extension for WebGL 1.0 contexts defines 2D depth and depth-stencil textures.
  • WebSockets: The WebSocket API opens a two-way communication channel between the user's browser and a server.
  • WebVTT: WebVTT is a captions and subtitles format. WebVTT files are loaded using the <track> element, and the VTTCue API can be used to create or update cues dynamically.
  • white-space: The white-space CSS property sets how white space is collapsed and how lines wrap. It is a shorthand for white-space-collapse and text-wrap-mode.
  • Width and height: The width and height CSS properties set the preferred physical size of an element.
  • Window: The window global object represents a browser tab or iframe and its relationship to the document and other tabs. It's also a generic global object, under which many other APIs are located.
  • word-spacing: The word-spacing CSS property sets the amount of white space between words.
  • XMLHttpRequest: The XMLHttpRequest API makes HTTP requests. It's the predecessor to fetch(). Also known as XHR.
  • XMLSerializer: The XMLSerializer API provides the serializeToString() method to construct an XML string representing a DOM tree.
  • XPath: The document.evaluate() method selects elements in an HTML or XML document based on an expression of XPath, a domain specific language for querying XML documents. Also known as XML Path Language.
  • XSLT: The XSLTProcessor API transforms XML documents into new XML or HTML documents, using XSLT stylesheets. You can use XSLT to convert data between different XML schemas or to convert XML data into web pages or PDF documents. Also known as Extensible Stylesheet Language Transformations.
  • z-index: The z-index CSS property orders overlapping elements, with higher values appearing in front of or on top of lower values.

New in Chrome

The following features are now available in Chrome:

  • Permissions: The navigator.permissions API checks whether a permission, such as access to geolocation data, has been granted.
  • Unicode point escapes: Unicode point escapes (\\u{}) represent Unicode characters within strings.
  • Upgrade insecure requests: The Upgrade-Insecure-Requests HTTP request header tells the server that the response should redirect to a secure (HTTPS) resource.
  • word-break: The word-break CSS property sets how lines break within words.

New in Chrome Android

The following features are now available in Chrome Android:

  • Permissions: The navigator.permissions API checks whether a permission, such as access to geolocation data, has been granted.
  • Unicode point escapes: Unicode point escapes (\\u{}) represent Unicode characters within strings.
  • Upgrade insecure requests: The Upgrade-Insecure-Requests HTTP request header tells the server that the response should redirect to a secure (HTTPS) resource.
  • word-break: The word-break CSS property sets how lines break within words.

New in Edge

The following features are now available in Edge:

  • ANGLE_instanced_arrays WebGL extension: The ANGLE_instanced_arrays extension for WebGL 1.0 contexts draws the same object multiple times or groups of similar objects multiple times, if the group shares the same vertex data, primitive count and type.
  • Animations (CSS): The animation CSS property animates an element's style over time, using keyframes described in @keyframes rules.
  • Array copyWithin(): The copyWithin() method of arrays and typed arrays shifts or copies items of an array to another index of the array without changing its length.
  • Array fill(): The fill() method of arrays and typed arrays sets all or some items of an array to a given a value.
  • Array find() and findIndex(): The find() and findIndex() methods of arrays and typed arrays search an array for the first item that satisfies a test function.
  • Array.from(): The Array.from() and typed array .from() static methods copy items from an iterable or array-like object to make a new array.
  • Array.of(): The Array.of() and typed array .of() static methods create new arrays from the values of any number of arguments.
  • background-attachment: The background-attachment CSS property sets whether an element's background image or gradient moves as the element scrolls.
  • background-repeat: The background-repeat CSS property sets how a background image is tiled.
  • Border images: The border-image CSS property draws an image around an element.
  • Channel messaging: Channel messaging communicates one-to-one between browsing contexts on the same origin, such as between <iframe> elements or two documents using a shared worker.
  • Clipboard events: The "copy", "cut", and "paste" events fire on elements when the user starts an action with the clipboard.
  • column-fill: The column-fill CSS property sets the distribution of content across columns in a multi-column layout.
  • column-span: The column-span CSS property controls whether a child element extends across all columns of a multi-column parent.
  • Composition events: The compositionstart, compositionupdate, and compositionend events fire when an input method editor adds characters that might not be commonly available on keyboards. Examples of these characters are emoji, logograms in Asian languages, or input from speech recognition processors.
  • cookieEnabled: The navigator.cookieEnabled property returns a Boolean value for whether the browser accepts or ignores attempts to write cookie data.
  • CSS object model: The CSS object model API reads, creates, and modifies CSS stylesheets and inline styles. Also known as CSSOM.
  • <datalist>: The <datalist> element sets recommended values for an <input> element. Browsers may show a dropdown menu of all values or match values as the user types.
  • Device orientation events: The DeviceMotion and DeviceOrientation events report the movement and orientation of the browser's device in physical space. Note that coordinates can differ noticeably between platforms and devices.
  • devicePixelRatio: The window.devicePixelRatio read-only property returns the ratio of the size of one CSS pixel to the vertical size of one physical pixel on the current display device.
  • DOMParser: The DOMParser API parses XML or HTML source code from a string into a DOM Document.
  • EXT_texture_filter_anisotropic WebGL extension: The EXT_texture_filter_anisotropic extension for WebGL 1.0 and 2.0 contexts adds anisotropic filtering (AF). AF improves the quality of mipmapped texture access when viewing a textured primitive at an oblique angle.
  • filter: The filter CSS property applies one or more graphic effects to an element. You can use filter functions, such as blur() and drop-shadow(), alone or combined to produce different effects.
  • Flexbox: Flexbox is a one-dimensional layout system, which places content either horizontally or vertically, with optional wrapping.
  • font-stretch: The font-stretch CSS property selects a font face from a font family based on width, either by a keyword such as condensed or a percentage.
  • Gamepad: The navigator.getGamepads() API accesses and responds to signals from game controllers.
  • HTTP/2: The HTTP/2 protocol is a major revision of the HTTP network protocol, providing improved performance and efficiency by using a single TCP connection to send multiple streams of data at once.
  • Date and time <input> types: The <input type="date"> and <input type="time"> HTML elements show date and time pickers.
  • <input type="range">: The <input type="range"> element represents a slider for choosing an inexact value between a minimum and maximum value.
  • Interaction media queries: The pointer, any-pointer, hover, and any-hover CSS media queries set styles based on the presence of pointing devices and their ability to hover over elements. For example, most smartphones match the (hover: none) and (pointer: coarse) media query.
  • Intl: The Intl API provides language sensitive string comparison, number formatting, date and time formatting, and more.
  • Media capture: The navigator.mediaDevices.getUserMedia() API requests access to devices that produce audio or video streams, such as microphones or video cameras.
  • Media source: The MediaSource API is a custom data source for media elements commonly used for adaptive streaming. Also known as Media Source Extensions (MSE).
  • Multi-column layout: Multi-column layout flows an element's content across one or more columns in a single row, without affecting the display property of its children.
  • Navigation timing: The navigation performance entry and the PerformanceNavigationTiming API measures navigation events, such as loading time or the number of redirects.
  • OfflineAudioContext: The OfflineAudioContext API represents an audio processing graph that writes to an AudioBuffer instead of an output device.
  • Page breaks: The break-after, break-before, break-inside CSS properties (along with page-break- aliases) control where printed pages start and end. Also known as pagination or page breaking.
  • Performance: The performance global object and the Performance API provide access to performance-related information for the current execution context.
  • Pointer Events: Pointer events, such as pointerdown, and the PointerEvent API, represent general pointing inputs, from a wide range of devices, such as a mouse, pen or stylus, or touch with one or more fingers. Not to be confused with the pointer-events CSS property.
  • window.print(): The window.print() method opens the browser's print dialog.
  • Print events: An alternative to @media print queries, the beforeprint and afterprint events allow you to change the page for printing and and restore the page after printing.
  • Proxy and Reflect: The Proxy and Reflect JavaScript built-ins intercept and define custom behavior for fundamental language operations (such as property lookup, assignment, enumeration, or function invocation).
  • resolution media query (compatibility prefixes): The -webkit-device-pixel-ratio, -webkit-min-device-pixel-ratio, and -webkit-max-device-pixel-ratio CSS media queries are standardized compatibility alternatives to resolution media queries.
  • Resource timing (initial support): PerformanceResourceTiming entries report when network events happen while loading a resource, such as when connections start and end. You can use this information to measure loading times.
  • ::selection: The ::selection CSS pseudo-element selects text a user has highlighted.
  • Selection: The Selection API controls and modifies user text selections within the page.
  • Spellcheck: The spellcheck global HTML attribute sets whether the browser may check an element for spelling errors.
  • String codePointAt() and fromCodePoint(): The codePointAt() method returns the numeric value of the UTF-16 code point at an index of the string. The fromCodePoint() method returns a string created from one or more code points.
  • String includes(): The includes() method of strings returns whether a search string appears within the string.
  • String normalize(): The normalize() method of strings returns a Unicode normal form of a string as a new string. More than one code point sequence can represent the same characters. You can use the normalize() method to find canonically or compatibly equivalent strings.
  • String raw(): The String.raw() static method interpolates template literal substitutions, but ignores escape sequences. It is the tag function for template literals.
  • String repeat(): The repeat() method of strings returns the original string repeated a number of times.
  • String startsWith() and endsWith(): The startsWith() and endsWith() methods of strings returns whether a search string appears at the beginning or end of the provided string.
  • @supports: The @supports at-rule applies styles based on a browser's support for CSS features, such as a CSS property and value. Also known as feature queries.
  • @supports (compatibility prefix): The @supports (-webkit-transform-3d) CSS media query is a standardized compatibility alternative to @supports (transform-style).
  • Symbol: A Symbol value is a unique, non-enumerable primitive value used for encapsulation or information hiding. For example, a symbol can be a key of an object that can never collide with any other key.
  • text-align-last: The text-align-last CSS property sets the alignment of the last line of text before a forced line break.
  • touch-action: The touch-action CSS property sets whether an element on a touch screen can be panned or pinched to zoom.
  • Touch events: Touch events touchstart, touchmove, touchend, and touchcancel fire when users interact with a touch-sensitive surface, such as a screen or drawing tablet. These events are similar to mouse events.
  • 2D transforms: The transform CSS property and its 2D transform functions allow rotating, scaling, skewing, and translating an element. Arbitrary 2D transforms are also possible using a transformation matrix.
  • 3D transforms: The transform CSS property and its 3D transform functions allow rotations and other transforms in three dimensions, including perspective transforms.
  • Transitions (CSS): The transition shorthand CSS property sets how changes to an element's styles may occur over time. Transitions can be applied to specific CSS properties, all properties, or none.
  • Typed array iteration methods: Typed array iteration methods
  • Typed array iterators: Typed arrays are iterable with the for … of statement and enumerable with the methods entries(), keys(), and values().
  • Unicode point escapes: Unicode point escapes (\\u{}) represent Unicode characters within strings.
  • WeakSet: A WeakSet object stores unique values of any type without creating strong references to the values, such that membership in the set does not prevent garbage collection of the value.
  • Web Audio: The Web Audio API creates graphs of audio nodes that handle sound inputs, synthesize sounds, apply effects, create visualizations, and output to audio devices.
  • WEBGL_compressed_texture_s3tc WebGL extension: The WEBGL_compressed_texture_s3tc extension for WebGL 1.0 and 2.0 contexts adds S3TC compressed texture formats to compressedTexImage2D() and compressedTexSubImage2D().
  • WEBGL_debug_renderer_info WebGL extension: The WEBGL_debug_renderer_info extension for WebGL 1.0 and 2.0 contexts exposes information about the graphics driver for debugging purposes.
  • Wheel events: The wheel event fires when the user moves a mouse wheel or similar spatially rotating input device.
  • Widows and orphans: The widows and orphans CSS properties set the minimum lines included in a text fragment created by page, column, or region breaks.
  • with: The with JavaScript statement adds a given object to the chain of scopes used to evaluate names.
  • word-break: The word-break CSS property sets how lines break within words.
  • writing-mode: The writing-mode CSS property sets whether text is laid out horizontally or vertically, and left to right, or right to left.
  • zoom: The zoom CSS property scales the size of an element. Unlike the transform property, a zoomed element affects page layout.

New in Firefox

The following features are now available in Firefox:

  • Fetch: The fetch() method makes asynchronous HTTP requests.
  • @font-face: The @font-face CSS at-rule creates a custom font-family value. The at-rule's descriptors set the font's name, source, and various display settings.
  • <link rel="preconnect">: The rel="preconnect" attribute for the <link> HTML element is a hint to the browser that the page or user is likely to request resources from another origin, so the browser should preemptively start a connection to the href value's origin.

New in Firefox for Android

The following features are now available in Firefox for Android:

  • Fetch: The fetch() method makes asynchronous HTTP requests.
  • @font-face: The @font-face CSS at-rule creates a custom font-family value. The at-rule's descriptors set the font's name, source, and various display settings.
  • <link rel="preconnect">: The rel="preconnect" attribute for the <link> HTML element is a hint to the browser that the page or user is likely to request resources from another origin, so the browser should preemptively start a connection to the href value's origin.