W3C

Javascript APIs Current Status

This page summarizes the relationships among specifications, whether they are finished standards or drafts. Below, each title links to the most recent version of a document.

Completed Work

W3C Recommendations have been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and are endorsed by the Director as Web Standards. Learn more about the W3C Recommendation Track.

Group Notes are not standards and do not have the same level of W3C endorsement.

Standards

2014-03-13

Metadata API for Media Resources 1.0

This specification defines a client-side API to access metadata information related to media resources on the Web.

2014-02-11

Progress Events

This document describes event types that can be used for monitoring the progress of an operation. It is primarily intended for contexts such as data transfer operations specified by XMLHTTPRequest [XHR], or Media Access Events [MAE].

2014-01-16

JSON-LD 1.0 Processing Algorithms and API

An Application Programming Interface and a set of algorithms for programmatically transforming JSON-LD documents in order to make them easier to work with in programming environments like JavaScript, Python, and Ruby.

2013-12-12

Performance Timeline

This specification defines an interface for web applications to access timing information related to navigation and elements. It is used by other specifications, like User Timing.

2013-12-12

User Timing

This specification defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.

2013-10-31

Widget Interface

This specification defines an application programming interface (API) for widgets that provides, amongst other things, functionality for accessing a widget’s metadata and persistently storing data.

2013-10-29

Page Visibility (Second Edition)

This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power and CPU efficient web applications.

2013-10-24

Geolocation API Specification

This specification defines an API that provides Web pages scripted access to geographical location information associated with the hosting device.

2013-10-10

Touch Events

This specification defines low-level events representing points of contact with a touch-sensitive surface.

2013-07-30

Web Storage

This specification defines an API for persistent data storage of key-value pair data in Web clients.

2013-02-21

Selectors API Level 1

Selectors, which are widely used in CSS, are patterns that match against elements in a tree structure [SELECT][CSS21]. The Selectors API specification defines methods for retrieving Element nodes from the DOM by matching against a group of selectors. It is often desirable to perform DOM operations on a specific set of elements in a document. These methods simplify the process of acquiring specific elements, especially compared with the more verbose techniques defined and used in the past.

2012-12-17

Navigation Timing

This document provides an interface for web applications to access timing information related to navigation and elements.

2012-12-17

High Resolution Time

This specification defines an interface that provides the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments.

2008-12-22

Element Traversal Specification

This specification defines the ElementTraversal interface, which allows script navigation of the elements of a DOM tree, excluding all other nodes in the DOM, such as text nodes. It also provides an attribute to expose the number of child elements of an element. It is intended to provide a more convenient alternative to existing DOM navigation interfaces, with a low implementation footprint.

Group Notes

2014-08-14

Wake Lock: Use cases

This document illustrates the use cases a mechanism to control the power-saving state of a device would enable on the Web platform.

2014-04-03

Review of apps that use network information

This document reviews of the usage of type of network connectivity in existing mobile applications to determine what use cases a network information API would need to enable.

2013-10-17

Selectors API Level 2

The Selectors API specification defines methods for retrieving Element nodes from the DOM by matching against a group of selectors (as used in CSS).

2013-01-29

Web Audio Processing: Use Cases and Requirements

This document introduces a series of scenarios and a list of requirements guiding the work of the W3C Audio Working Group in its development of a web API for processing and synthesis of audio on the web.

2012-10-02

Web API Design Cookbook

2012-07-03

Web Application Privacy Best Practices

This document describes privacy best practices for web applications, including those that might use device APIs.

2009-10-15

Device APIs Requirements

These are the requirements intended to be met in the development of client-side APIs that enable the creation of Web Applications and Web Widgets that interact with devices services such as Calendar, Contacts, Camera, etc.

2008-05-30

Offline Web Applications

Offline Web Applications highlights the features in HTML 5 that address the challenge of building Web applications that work while offline.

Drafts

Below are draft documents: Proposed Recommendations, Candidate Recommendations, Last Call Drafts, other Working Drafts . Some of these may become Web Standards through the W3C Recommendation Track process. Others may be published as Group Notes or become obsolete specifications.

Proposed Recommendations

2014-12-16

Pointer Events

Defines events and interfaces for handling hardware agnostic pointer input from devices such as mouse, pen or touchscreen.

2014-12-09

Server-Sent Events

This specification defines an API for opening an HTTP connection for receiving push notifications from a server in the form of DOM events.

2014-12-09

Vibration API

An API to control the device's vibrator.

2014-11-20

Indexed Database API

This document defines APIs for a database of records holding simple values and hierarchical objects.

Candidate Recommendations

2014-12-11

Web Cryptography API

This specification describes a JavaScript API for performing basic cryptographic operations in web applications, such as hashing, signature generation and verification, and encryption and decryption. Additionally, it describes an API for applications to generate and/or manage the keying material necessary to perform these operations. Key storage is provided for both temporary and permanent keys. Access to keying material is contingent on the same origin policy. Uses for this API range from user or service authentication, document or code signing, and the confidentiality and integrity of communications.

2014-12-09

Battery Status API

This specification defines a new DOM event type that provides information about the battery status of the hosting device and associated auxiliary devices.

2014-09-09

HTML Media Capture

This specification defines HTML form enhancements that provide access to the audio, image and video capture capabilities of the device.

2014-07-17

Media Source Extensions

This specification extends the HTMLMediaElement interface to allow JavaScript to generate media streams for playback.

2013-12-17

Pointer Lock

API that provides scripted access to raw mouse movement data while locking the target of mouse events to a single element and removing the cursor from view.

2013-10-31

Timing control for script-based animations

This document defines an API web page authors can use to write script-based animations where the user agent is in control of limiting the update rate of the animation.

2013-10-01

Proximity Events

This specification defines a means to receive events that correspond to a proximity sensor detecting the presence of a physical object.

2012-09-20

The WebSocket API

This specification defines an API that enables Web pages to use the Web Sockets protocol for two-way communication with a remote host.

2012-05-01

Web Workers

This specification defines an API that allows Web application authors to spawn background workers running scripts in parallel to their main page. This allows for thread-like operation with message-passing as the coordination mechanism.

2012-05-01

HTML5 Web Messaging

This specification defines two mechanisms for communicating between browsing contexts in HTML document.

2012-04-19

Web IDL

This document defines an interface definition language, Web IDL, that can be used to describe interfaces that are intended to be implemented in web browsers.

Last Call Drafts

2014-06-19

Ambient Light Events

This specification defines a means to receive events that correspond to a light sensor detecting the presence of a light.

2014-05-29

The app: URL Scheme

This specification defines the app: URI scheme and rules for dereferencing an app: URI, which can be used to address resources inside a package (e.g., a packaged application). The dereferencing model relies on HTTP semantics to return resources in a manner akin to a HTTP GET request. Doing so allows this URI scheme to be used with other technologies that rely on HTTP responses to function as intended, such as [XHR].

2013-12-03

High Resolution Time Level 2

This specification defines a JavaScript interface that provides the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments.

2013-09-12

File API

This specification provides an API for representing file objects in web applications, as well as programmatically selecting them and accessing their data.

2013-09-12

Web Notifications

This document defines an API for displaying simple notifications to the user.

2011-12-01

Geolocation API Specification Level 2

This specification adds the ability to retrieve a civic address, rather than coordinates, to the Geolocation API.

2011-12-01

DeviceOrientation Event Specification

This specification defines several new DOM event types that provide information about the physical orientation and motion of a hosting device.

Other Working Drafts

2014-12-16

Resource Timing

This specification defines an interface for web applications to access timing information related to HTML elements.

2014-12-09

Clipboard API and events

This document describes apis for clipboard operations such as copy/cut and paste, or drag and drop in web applications.

2014-12-09

URL

Defines URL parsing, resolving, and canonicalizing as well as the URL API.

2014-12-02

TCP and UDP Socket API

This API provides interfaces to raw UDP sockets, TCP client sockets and TCP server sockets.

2014-12-02

Task Scheduler API Specification

This specification defines a System Level API to provide access to the device alarm settings, which can schedule a notification or for an application to be started at a specific time. For example, some applications like alarm-clock, calendar or auto-update might need to utilize Alarm API to trigger particular device behaviors at specified time points.

2014-11-18

Service Workers

This specification enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of Web applications while offline.

2014-10-23

The Screen Orientation API

Defines APIs to read screen orientation state and to lock the screen orientation to a specific state.

2014-10-23

Streams API

Defines an API for representing binary data in web applications as a Stream object.

2014-10-21

Identifiers for WebRTC's Statistics API

This document defines a set of Javascript APIs that allow access to the statistical information about a PeerConnection.

2014-10-07

Push API

An API that provides Web applications with scripted access to server-sent application data.

2014-10-07

Media Capture Depth Stream Extensions

This specification extends the Media Capture and Streams specification to allow a depth stream to be requested from 3D cameras.

2014-10-07

Selection API

This specification defines APIs to select objects within a document.

2014-08-28

Encrypted Media Extensions

This specification extends the HTMLMediaElement interface to provide APIs for controlling playback of protected content

2014-06-12

DOM Level 3 KeyboardEvent code Values

This specification defines the values for the KeyboardEvent.code attribute which is defined in DOM 3 Events.

2014-06-12

DOM Level 3 KeyboardEvent key Values

This specification defines the values for the KeyboardEvent.key attribute which is defined in DOM 3 Events.

2014-03-25

Navigation Timing 2

This document provides an interface for web applications to access timing information related to navigation and elements.

2014-02-25

Gamepad

Defines a low-level interface that represents gamepad devices.

2014-02-20

Network Service Discovery

This specification defines a mechanism for an HTML document to discover and subsequently communicate with HTTP-based services advertised via common discovery protocols within a user's network.

2014-02-11

Navigation Error Logging

Navigation Error Logging defines an API to store and retrieve error data related to the previous navigations of a document.

2014-01-30

XMLHttpRequest Level 1

The XMLHttpRequest specification defines an API that provides scripted client functionality for transferring data between a client and a server, one of the core components of “AJAX”.

2014-01-14

Web NFC API

This document defines an API for access to the hardware subsystem for near field communications (NFC). It permits Web pages to read and write NFC tags, to send and receive messages between NFC devices, and to handover to WiFi or Bluetooth.

2013-12-17

Input Method Editor API

Defines an API that provides Web applications with scripted access to an Input Method Editor

2013-11-05

Quota Management API

API to manage usage and availability of local storage resources

2013-10-10

Web Audio API

This specification describes a high-level JavaScript API for processing and synthesizing audio in web applications. The primary paradigm is of an audio routing graph, where a number of AudioNode objects are connected together to define the overall audio rendering. The actual processing will primarily take place in the underlying implementation (typically optimized Assembly / C / C++ code), but direct JavaScript processing and synthesis is also supported.

2013-09-10

WebRTC 1.0: Real-time Communication Between Browsers

This document defines a set of APIs that allow local media, including audio and video, to be requested from a platform, media to be sent over the network to another browser or device implementing the appropriate set of real-time protocols, and media received from another browser or device to be processed and displayed locally.

2013-09-03

Media Capture and Streams

This document defines a set of APIs that allow local media, including audio and video, to be requested from a platform, media to be sent over the network to another browser or device implementing the appropriate set of real-time protocols, and media received from another browser or device to be processed and displayed locally.

2013-07-09

Mediastream Image Capture

This specification defines an API to grab still pictures from a capture device generating a video stream.

2013-06-20

Web Telephony API

This specification defines an API to manage telephone calls. A typical use case of the Web Telephony API is the implementation of a 'Dialer' application supporting multiparty calls and multiple telephony services. A minimal structure for call history items is also defined.

2013-05-16

Messaging API

This specification defines a System Level API which offers a simple interface to get access to mobile messaging services. A typical use case of the Messaging API is the implementation of a messaging client application that allows the user to send SMS and MMS messages as well as to access and manage the received SMS and MMS messages.

2013-03-21

Runtime and Security Model for Web Applications

This document specifies a runtime and security model for Web Applications. It describes how an application is defined through an application manifest, and how it can be installed, updated and packaged. It also specifies how such an application can be put into the background, be put back in the foreground or woken up. Finally, the document describes the security model for such applications. This includes the permission model and the different security rules that would apply.

2013-03-12

WebDriver

This specification defines the WebDriver API, a platform-and language-neutral interface that allows programs or scripts to introspect into, and control the behaviour of, a web browser.

2013-03-07

Contacts Manager API

A system level API for managing the user's contacts that are stored in the system's address book.

2013-02-05

MediaStream Recording

This document defines an API for recording audio and video streams.

2012-03-06

MediaStream Capture Scenarios

This document collates the scenarios that are target use cases for the Media Capture API that enables access to media input capabilities for Web applications using Javascript.

2011-12-15

Audio Processing API

This specification introduces and compares two client-side APIs for processing and synthesizing real-time audio streams in the browser.

2010-10-05

Permissions for Device API Access

This document identifies the permissions that are needed to use specific client-side APIs which grant access to sensitive data and operations.

2009-02-26

Web Forms 2.0

This specification defines Web Forms 2.0, an extension to the forms features found in HTML4's Forms chapter and the corresponding DOM2 HTML interfaces. Web Forms 2.0 applies to both HTML and XHTML user agents. It provides new strongly-typed input fields, new attributes for defining constraints, a repeating model for declarative repeating of form sections, new DOM interfaces, new DOM events for validation and dependency tracking, and XML submission and initialization of forms. It also standardizes and codifies existing practice in areas that have not been previously documented, and clarifies some of the interactions of HTML form controls and CSS.

HTML4, XHTML1.1, and the DOM are thus extended in a manner that has a clear migration path from existing HTML forms, leveraging the knowledge authors have built up with their experience with HTML so far.

2006-08-21

Web Forms 2.0

This specification defines Web Forms 2.0, an extension to the forms features found in HTML4's Forms chapter and the corresponding DOM2 HTML interfaces. Web Forms 2.0 applies to both HTML and XHTML user agents. It provides new strongly-typed input fields, new attributes for defining constraints, a repeating model for declarative repeating of form sections, new DOM interfaces, new DOM events for validation and dependency tracking, and XML submission and initialization of forms. It also standardizes and codifies existing practice in areas that have not been previously documented, and clarifies some of the interactions of HTML form controls and CSS.

HTML4, XHTML1.1, and the DOM are thus extended in a manner that has a clear migration path from existing HTML forms, leveraging the knowledge authors have built up with their experience with HTML so far.

2006-04-07

Window Object 1.0

Obsolete Specifications

These specifications have either been superseded by others, or have been abandoned. They remain available for archival purposes, but are not intended to be used.

Retired

2014-11-18

XMLHttpRequest Level 2

The XMLHttpRequest Level 2 specification enhances the XMLHttpRequest object with new features, such as cross-origin requests, progress events, and the handling of byte streams for both sending and receiving.

2014-11-18

Fullscreen

This specification defines an API to allow elements to be rendered fullscreen.

2014-04-24

File API: Directories and System

Defines an API to navigate file system hierarchies and sandboxed sections of a user's local filesystem.

2014-04-24

File API: Writer

This specification defines an API for writing to files from web applications.

2014-04-10

The Network Information API

The Network Information API provides an interface for Web Applications to access the underlying network information (connection info) of the device.

2014-01-14

Pick Contacts Intent

This specification defines an API that provides access to a user’s unified address book.

2014-01-14

The Messaging API

This specification defines an API that provides access to messaging functionality in the device, including SMS, MMS and email.

2014-01-14

The System Information API

This specification defines an API to provide Web applications with access to various hardware properties of the system which they are running on, including battery status, current network bandwidth.

2014-01-14

Calendar API

The Calendar API defines the high-level interfaces required to obtain read access to a user's calendaring service.

2014-01-14

Pick Media Intent

The Pick Media Intent defines a Web Intent that enables access to a user's media gallery from inside a Web application. It defines both an Intent action/type pair that selects this operation, and the format of the media data that is returned by services implementing this specification.

2014-01-14

Web Intents Addendum - Local Services

This specification extends the Web Intents service discovery and light-weight RPC mechanism for web applications by defining optional extensions to Web Intents enabled User Agents to discover and dynamically register local Web Intents Services.

2013-10-31

Touch Events Extensions

Defines extensions to the Touch Events specification

2013-05-23

Web Intents

This specification defines a service discovery and light-weight RPC mechanism for web apps called Web Intents.

This document defines DOM interfaces and markup used by client and service pages to create, receive, and reply to Web Intents messages, and the procedures the User Agent carries out to facilitate that process.

2012-07-05

RDFa API

RDFa [RDFA-CORE] enables authors to publish structured information that is both human- and machine-readable. Concepts that have traditionally been difficult for machines to detect, like people, places, events, music, movies, and recipes, are now easily marked up in Web documents. While publishing this data is vital to the growth of Linked Data, using the information to improve the collective utility of the Web for humankind is the true goal. To accomplish this goal, it must be simple for Web developers to extract and utilize structured information from a Web document. This document details such a mechanism; an RDFa Application Programming Interface (RDFa API) that allows simple extraction and usage of structured information from a Web document.

2012-07-05

RDF Interfaces

The RDF Interfaces Specification defines a set of standardized interfaces for working with RDF data in a programming environment.

2012-07-05

RDF API

RDF enables providers to publish various types of data on the Web in a unified format. This data intends to be machine-interpretable so that web developers can access it by programming languages in order to create applications for i.e., crawling, aggregating, summarizing, or highlighting contained information. While publishing RDF data on the web is vital to the growth of the Semantic Web, using the information to improve the collective utility of the Web is the true goal of the Semantic Web. To accomplish this goal, the RDF Application Programming Interface (RDF API) defines a set of standardized interfaces for working with RDF data in a web-based programming environment.

2012-05-31

MediaStream Processing API

This proposal makes HTML Streams the foundation for integrated Web media processing by creating a mixing and effects processing API for HTML Streams.

2012-03-22

The Media Capture API

The Media Capture API enables access to the audio, image and video capture capabilities of the device through Javascript.

2012-01-17

XMLHttpRequest

The XMLHttpRequest specification defines an API that provides scripted client functionality for transferring data between a client and a server.

2011-03-29

Programmable HTTP Caching and Serving

This document defines APIs for off-line serving of requests to HTTP resources using static and dynamic responses. It extends the function of application caches defined in HTML5.

2010-11-18

Web SQL Database

This specification defines an API for storing data in databases that can be queried using a variant of SQL.