Web platform features explorer

📃 June 2009 release notes

New in Firefox

The following features are now available in Firefox:

  • <audio>: The <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • :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.
  • <source>: The <source> element sets a media resource for the <picture>, <video>, and <audio> elements.
  • text-shadow: The text-shadow CSS property sets the position and styles of shadow on text.
  • 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.
  • <video>: The <video> element plays videos or movies, optionally with controls provided by the browser.

New in Safari

The following features are now available in Safari:

  • <abbr>: The <abbr> HTML element represents an abbreviation or acronym.
  • Array iteration methods: Array iteration methods
  • Autofocus: The autofocus HTML attribute gives focus to an element on page load.
  • ::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.
  • @charset: The @charset CSS at-rule specifies the character encoding of an external style sheet.
  • 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.
  • currentColor: The currentColor CSS value allows you to reuse an element's computed text color for other properties.
  • 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.
  • <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.
  • 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.
  • 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.
  • 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.
  • 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.
  • postMessage: The postMessage() global method sends cross-origin messages to windows and workers, including popups and iframes. Also known as cross-document messaging.
  • :read-only and :read-write: The :read-only and :read-write CSS pseudo-classes match elements that are read-only or read-write, respectively. For example, :read-only matches <input> and <textarea> elements with the readonly attribute.
  • resize (CSS property): The resize CSS property sets whether an element can be resized by the user, and on which axes.
  • setTimeout: The setTimeout() global function executes provided code after a given duration of time, and the accompanying clearTimeout() cancels the timer.
  • @supports (compatibility prefix): The @supports (-webkit-transform-3d) CSS media query is a standardized compatibility alternative to @supports (transform-style).
  • 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.
  • <wbr>: The <wbr> HTML element represents a word break opportunity, to explicitly mark a place within a word where a line might be broken.

New in Safari on iOS

The following features are now available in Safari on iOS:

  • <audio>: The <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser.
  • Borders: The border CSS property sets the color, style, and width of the line around an element.
  • 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.
  • <video>: The <video> element plays videos or movies, optionally with controls provided by the browser.
  • zoom: The zoom CSS property scales the size of an element. Unlike the transform property, a zoomed element affects page layout.