Web Applications Working Group Charter

The mission of the Web Applications Working Group (WebApps WG) is to produce specifications that facilitate the development of client-side web applications.

Join the WebApps Working Group

Start date 14 May 2019
End date 31 May 2021
Chairs Léonie Watson (TetraLogical), Marcos Cáceres (Mozilla)
Team Contacts Yves Lafon (0.3 FTE), Xiaoqian Wu (0.2 FTE)
Meeting Schedule Teleconferences: topic-specific calls will be held when needed.
Face-to-face: we will meet during the W3C's annual Technical Plenary week; additional face-to-face meetings may be scheduled by consent of participants.

Scope

The scope of the WebApps Working Group is:

The working group also maintains a specification for mapping HTML elements and attributes to platform accessibility APIs, and a separate specification that defines author conformance requirements for setting ARIA attributes. The Working Group does not expect to add any other specifications relating to this matter.

Specifications produced by the WebApps Working Group enable developers to create web applications that work across a wide range of platforms and devices, and for a broad diversity of users, by addressing matters of accessibility, device independence, internationalization, privacy, and security.

Success Criteria

In order to advance to Proposed Recommendation, each specification must have at least two independent implementations in wide use.

Each specification must have an accompanying test suite, which is ideally developed in parallel to the specification. The test suite will be used to produce an implementation report before the specification transitions to Proposed Recommendation.

Where there are implications for implementors, developers, or users, in the areas of accessibility, internationalization, privacy, and security, each specification must have a section that describes relevant benefits, limitations, and best practice solutions for that particular area.

Deliverables

More information about WebApps Working Group specifications can be found in the GitHub repository.

Normative Specifications

The WebApps Working Group will deliver the following normative specifications.

Specification Description
File API An API for representing file objects in web applications, as well as programmatically selecting them and accessing their data.
Gamepad API

Level 1 of the API that represents gamepad devices, and enables web applications to act upon gamepad data.

Level 2 aims to support the capabilities of next generation gamepads.

Indexed Database API An API for a database of records holding simple values and hierarchical objects. The third edition adds new capabilities and improves developer ergonomics by using promises.
Intersection Observer An API that can be used to understand the visibility and position of DOM elements ("targets") relative to a containing element or to the top-level viewport ("root").
Pointer Lock An 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.
Push API An API for sending push messages to a web application, via a push service.
Screen Orientation API An API for reading screen orientation, being informed of screen orientation changes, and locking screen orientation to a specific state.
Web App Manifest A JSON-based manifest file that provides developers with a centralized place to put metadata associated with a web application.
Clipboard API and Events An API for accessing data on the system clipboard.
Input Events

Additions to events for text and related input to allow for the monitoring and manipulation of default browser behavior in the context of text editor applications and other applications that deal with text input and text formatting. Level 1 gives the JS editor information about proposed changes from the user, but it makes the related DOM change be non-cancelable in many cases.

Level 2 gives the JS editor information information about the proposed changes from the user and lets the JS author cancel the changes the browser otherwise would have done.

Selection API APIs for selection, which allow users and authors to select a portion of a document or specify a point of interest for copy, paste, and other editing operations.
ContentEditable Allowed values and expected behaviors for the contenteditable attribute.
HTML Accessibility API Mappings (AAM) Defines how user agents map HTML elements and attributes to platform accessibility APIs.
ARIA in HTML Defines the web developer rules (author conformance requirements) for ARIA attributes on HTML elements.
UI Events UI Events that extend the DOM Event objects defined in the DOM specification.
UI Events KeyboardEvent code values The values for the KeyboardEvent.code attribute, which is defined as part of the UI Events Specification.
UI Events KeyboardEvent key Values The values for the key attribute defined in the UI Events specification.

WICG specifications

Depending on the WICG progress, the Group may also produce W3C Recommendations for the following documents:

Specification Description
Cookie Store An asynchronous Javascript cookies API for documents and workers.
Web Share API An API for sharing text, links and other content to an arbitrary destination of the user's choice.
Web Share Target An API that allows websites to declare themselves as web share targets, which can receive shared content from either the Web Share API, or system events (e.g., shares from native apps).
Badging An API allowing web applications to set an application-wide badge, shown in an operating-system-specific place associated with the application (such as the shelf or home screen), for the purpose of notifying the user when the state of the application has changed (e.g., when new messages have arrived), without showing a more heavyweight notification.

Other Deliverables

Other non-normative documents may be created such as, use case and requirements documents, implementation reports, and Best Practices documents, to support web developers when designing applications.

Timeline

All specifications produced by the WebApps Working Group are expected to progress during this charter period. The charter does not include a detailed timeline for each specification because such information is speculative and easily becomes inaccurate. However, a rough estimation of completion is available in the detailed list of Deliverables when possible.

The Working Group home page will link to a more comprehensive page with detailed status and estimated completion time for each specification.

Note that the WICG Specifications, if adopted, have an estimated time of completion of 2 years.

Coordination

For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, performance, privacy, and security with the relevant Working and Interest Groups, and with the TAG. Invitation for review must be issued during each major standards-track document transition, including FPWD and at least 3 months before CR, and should be issued when major changes occur in a specification.

For all specifications, technical coordination with the following Groups will be made, per the W3C Process Document:

Accessible Platform Architectures (APA) Working Group
For accessibility horizontal review, and to collaborate on accessibility related topics.
Internationalization Working Group
For internationalization horizontal review, and to collaborate on internationalization related topics.
Privacy Interest Group
For privacy horizontal review, and to collaborate on privacy related topics.
Technical Architecture Group (TAG)
For architectural horizontal review, and to collaborate on architecture related topics.
Web Security Interest Group
For security horizontal review, and to collaborate on security related topics.

The WebApps Group will also seek review from the Accessible Rich Internet Applications (ARIA) Working Group to coordinate on the ARIA attributes on HTML elements, and their mappings to platform accessibility APIs.

Invitations for review will be issued for each major transition of a specification, including First Public Working Draft, and at least 3 months before Candidate Recommendation, and should be issued when major changes occur in a specification.

W3C Groups

The work of the WebApps Working Group touches on the work of many other W3C Working and Interest Groups. Where appropriate, the WebApps Working Group will coordinate with the relevant Working or Interest Groups, per the W3C Process.

External Organizations

The WebApps Working Group may also coordinate with the following organizations:

ECMA TC39
For co-ordination on topics relating to JavaScript.
Internet Engineering Task Force (IETF)
For co-ordination on topics relating to internet protocols.
Web Hypertext Application Technology Working Group (WHATWG)
For co-ordination on topics relating to the web platform.

Participation

To be successful, the WebApps Working Group is expected to have 10 or more active participants for its duration, including representatives from at least three key implementors. It is also expected to have active Editors and Test Leads for each specification.

Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the WebApps Working Group. There is no minimum requirement for other Participants.

The group encourages questions, comments and issues on its public mailing lists and document repositories, as described in Communication.

The group also welcomes technical contributions from non-Members, to be considered upon their agreement to the terms of the W3C Patent Policy.

Working mode

This group primarily conducts its technical work on GitHub. The public is invited to review, discuss and contribute to this work.

The Chairs and Editors will ensure there is buy-in by web platform implementers or web application or framework developers to substantial changes, and not force participants to object or call for a formal vote when all the support for a change comes from one member's participants.

Additionally, support from two or more web platform implementers is required before a substantive change can be made to a specification. This is enforced by a pull request template on GitHub, which Editors must fill out as a public record before a substantive contribution can be merged. The template will require implementers to give public support for a change/fix/feature and, where possible, provide a link to a public bug tracker for an implementation.

Communication

Technical discussions for the WebApps Working Group are conducted in public: the meeting minutes from teleconference and face-to-face meetings will be archived for public review, and technical discussions and issue tracking will be conducted in a manner that can be both read and contributed to by the general public. Working Drafts and Editor's Drafts of specifications will be developed on public repositories, and may permit direct public contribution requests.

Meetings are not open to public participation, however non-members may request observer status at meetings by contacting the WebApps Working Group Chairs.

Information about the WebApps Working Group (including details about deliverables, issues, actions, status, participants, and meetings) will be available from the WebApps Working Group home page.

The group may use a Member-confidential mailing list for administrative purposes and, at the discretion of the Chairs and members of the group, for member-only discussions in special cases when a participant requests such a discussion.

Decision Policy

This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 3.3). Typically, an editor or other participant makes an initial proposal, which is then refined in discussion with members of the group and other reviewers, and consensus emerges with little formal voting being required.

However, if a decision is necessary for timely progress and consensus is not achieved after careful consideration of the range of views presented, the Chairs may call for a group vote and record a decision along with any objections.

To afford asynchronous decisions and organizational deliberation, any resolution (including publication decisions) taken in a face-to-face meeting or teleconference will be considered provisional.

A call for consensus (CfC) will be issued for all resolutions (for example, via email and/or web-based survey), with a response period from one week to 10 working days, depending on the chair's evaluation of the group consensus on the issue.

If no objections are raised on the mailing list by the end of the response period, the resolution will be considered to have consensus as a resolution of the WebApps Working Group.

All decisions made by the group should be considered resolved unless and until new information becomes available or unless reopened at the discretion of the Chairs or the Director.

This charter is written in accordance with the W3C Process Document (Section 3.4, Votes) and includes no voting procedures beyond what the Process Document requires.

Patent Policy

This Working Group operates under the W3C Patent Policy. To promote the widest adoption of Web standards, W3C seeks to issue Recommendations that can be implemented, according to this policy, on a Royalty-Free basis.

For more information about disclosure obligations for this group, please see the W3C Patent Policy Implementation.

Licensing

The WebApps Working Group will use the W3C Software and Document license for all its deliverables.

About this Charter

This charter has been created according to section 5.2 of the Process Document. In the event of a conflict between this document or the provisions of any charter and the W3C Process, the W3C Process shall take precedence.

Charter History

The following table lists details of all changes from the initial charter, per the W3C Process Document (section 5.2.3):

Charter Period Start Date End Date Changes
Initial Charter 14 May 2019 31 May 2021 none

History of this WG

The WebApps Working Group was a predecessor to the Web Platform Working Group (which remains active to work on specifications that are pertinent to the discussions relating to a collaboration agreement between the W3C and the WHATWG). The remaining specifications have been transferred from the Web Platform Working Group to the WebApps Working Group, so that progress can continue to be made on those specifications while the W3C and WHATWG negotiations are ongoing.

In addition, specifications that have been successfully incubated in the Web Platform Incubator Community Group (WICG) have been transferred to the WebApps Working Group.

Detailed list of Deliverables

File API
Latest publication: 06 November 2018
Reference Draft: https://www.w3.org/TR/2015/WD-FileAPI-20150421/
Gamepad
Latest publication: 12 December 2018
Reference Draft: https://www.w3.org/TR/2015/WD-gamepad-20151215/
associated Call for Exclusion on 29 May 2012 ended on 26 October 2012
Produced under Web Applications Working Group charter
Estimated Completion: 1 year
Indexed Database API 3.0
Status: Editor's Draft
Editor's Draft: https://w3c.github.io/IndexedDB/
Estimated Completion: 2 years
Intersection Observer
Latest publication: 06 November 2018
Reference Draft: https://www.w3.org/TR/2017/WD-intersection-observer-20170914/
associated Call for Exclusion on 14 December 2017 ended on 11 February 2018
Produced under Working Group Charter: https://www.w3.org/2016/11/webplatform-charter.html
Estimated Completion: 1 year
Pointer Lock 2.0
Latest publication: 06 November 2018
Reference Draft: https://www.w3.org/TR/2016/WD-pointerlock-2-20161122/
associated Call for Exclusion on 22 November 2016 ended on 21 April 2017
Produced under Working Group Charter: https://www.w3.org/2016/11/webplatform-charter.html
Push API
Latest publication: 26 October 2018
Reference Draft: https://www.w3.org/TR/2015/WD-push-api-20151215/
associated Call for Exclusion on 18 October 2012 ended on 17 March 2013
Produced under Web Applications Working Group charter
Estimated Completion: 2 years
The Screen Orientation API
Latest publication: 29 January 2019
Reference Draft: https://www.w3.org/TR/2015/WD-screen-orientation-20151215/
associated Call for Exclusion on 22 May 2012 ended on 19 October 2012
Produced under Web Applications Working Group charter
Estimated Completion: 1 year
Web App Manifest
Latest publication: 12 December 2018
Reference Draft: https://www.w3.org/TR/2015/WD-appmanifest-20151124/
associated Call for Exclusion on 17 December 2013 ended on 16 May 2014
Produced under Web Applications Working Group charter
Estimated Completion: 2 years
Clipboard API and events
Latest publication: 08 November 2018
Reference Draft: https://www.w3.org/TR/2015/WD-clipboard-apis-20151215/
associated Call for Exclusion on 16 November 2006 ended on 14 April 2007
Produced under Web API Working Group charter
Input Events Level 1
Latest publication: 09 November 2018
Reference Draft: https://www.w3.org/TR/2016/WD-input-events-20160830/
associated Call for Exclusion on 30 August 2016 ended on 27 January 2017
Produced under Working Group Charter: https://www.w3.org/2015/10/webplatform-charter.html
Input Events Level 2
Latest publication: 08 November 2018
Reference Draft: https://www.w3.org/TR/2017/WD-input-events-2-20170321/
Selection API
Latest publication: 18 October 2018
Reference Draft: https://www.w3.org/TR/2015/WD-selection-api-20151124/
associated Call for Exclusion on 07 October 2014 ended on 06 March 2015
Produced under Web Applications Working Group charter
HTML Accessibility API Mappings 1.0
Latest publication: 31 January 2019
Reference Draft: https://www.w3.org/TR/2015/WD-html-aam-1.0-20150407/
associated Call for Exclusion on 09 April 2015 ended on 04 September 2015
Produced under WAI PF Working Group charter
Estimated Completion: 1 year
ARIA in HTML
Latest publication: 14 December 2018
Reference Draft: https://www.w3.org/TR/2015/WD-html-aria-20150414/
associated Call for Exclusion on 14 April 2015 ended on 11 September 2015
Produced under HTML Working Group charter
Estimated Completion: 1 year
UI Events
Latest publication: 08 November 2018
Reference Draft: https://www.w3.org/TR/2013/WD-uievents-20130725/
associated Call for Exclusion on 25 July 2013 ended on 22 December 2013
Produced under Web Applications Working Group charter
Estimated Completion: 2 years
UI Events KeyboardEvent code Values
Latest publication: 01 June 2017
Reference Draft: https://www.w3.org/TR/2017/CR-uievents-code-20170601/
associated Call for Exclusion on 01 June 2017 ended on 31 July 2017
Produced under Working Group Charter: http://www.w3.org/2016/11/webplatform-charter.html
Estimated Completion: 2 years
UI Events KeyboardEvent key Values
Latest publication: 01 June 2017
Reference Draft: https://www.w3.org/TR/2017/CR-uievents-key-20170601/
associated Call for Exclusion on 01 June 2017 ended on 31 July 2017
Produced under Working Group Charter: http://www.w3.org/2016/11/webplatform-charter.html
Estimated Completion: 2 years