PROPOSED Web Editing Working Group Charter

The mission of the Web Editing Working Group is to explore limitations in existing browser primitives, provide use cases for new APIs and suggest solutions either by standardizing of existing behaviors or introducing new APIs relevant for text editing. The goal is to facilitate the creation of fully-featured editing systems as well as small editors using JavaScript.

Join the Web Editing Working Group.

This proposed charter is available on GitHub. Feel free to raise issues.

Charter Status See the group status page and detailed change history.
Start date TBD (date of the "Call for Participation", when the charter is approved)
End date TBD (Start date + 2 years)
Chairs Johannes Wilm (W3C Invited Expert)
Team Contacts Xiaoqian Wu (0.1 FTE)
Meeting Schedule Teleconferences: Not more often than once per month.
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 the participants, usually no more than 3 times per year.

Motivation and Background

Enabling rich editing experience on the web is currently a challenging task. One of the reasons is lack of requirements in the behavior of the contenteditable attribute in HTML. Currently, it is the only browser primitive providing a rich editing surface to web developers. Also, there is a limited support for low-level editing APIs that would allow web developers to build rich editing experiences without getting browsers' interference in this process.

Scope

The scope of Web Editing WG covers all aspects of text editing on the web, which may include:

Out of Scope

The following features are out of scope and will not be addressed by this Working group.

  • Non DOM-based editing, e.g. canvas or media content.
  • Editing of content other than text and text related content. For example, an image editor, a 3D modeler or a movie cutter would be out of scope.

Deliverables

Updated document status is available on the group publication status page.

Draft state indicates the state of the deliverable at the time of the charter approval. Expected completion indicates when the deliverable is projected to become a Recommendation, or otherwise reach a stable state

Normative Specifications

The Working Group will deliver the following W3C normative specifications:

EditContext API

The EditContext is a new API that allows authors to more directly participate in the text input process.

Draft state: Working Draft

Expected completion: CR Q4 2024 - Recommendation Q2 2025.

Adopted Draft: EditContext API, https://www.w3.org/TR/2021/WD-edit-context-20211221/, 21 December 2021.

Exclusion Draft: https://www.w3.org/TR/2021/WD-edit-context-20211221/, 21 December 2021. Exclusion period began on 2021-12-21; ended on 2022-05-20.

Exclusion Draft Charter: https://www.w3.org/2021/06/web-editing-wg-charter.html.

VirtualKeyboard API

The VirtualKeyboard API provides authors with greater control over the visibility of the virtual keyboard (VK), and greater ability to adapt the layout of web pages when VK visibility changes.

Draft state: Working Draft

Expected completion: CR Q1 2024 - Recommendation Q4 2024.

Adopted Draft: VirtualKeyboard API, https://www.w3.org/TR/2022/WD-virtual-keyboard-20220505/, 05 May 2022.

Exclusion Draft: https://www.w3.org/TR/2021/WD-virtual-keyboard-20210824/, 24 August 2021. Exclusion period began on 2021-08-24; ended on 2022-01-21.

Exclusion Draft Charter: https://www.w3.org/2021/06/web-editing-wg-charter.html.

Clipboard API and events

This document describes APIs for accessing data on the system clipboard. It provides operations for overriding the default clipboard actions (cut, copy and paste), and for directly accessing the clipboard contents.

Draft state: Working Draft

Expected completion: CR Q3 2024 - Recommendation Q3 2025.

Adopted Draft: Clipboard API and events, https://www.w3.org/TR/2023/WD-clipboard-apis-20230516/, 16 May 2023.

Exclusion Draft: Clipboard Operations for the Web 1.0: Copy, Paste, Drag and Drop. https://www.w3.org/TR/2006/WD-clipboard-apis-20061115/, 15 November 2006. Exclusion period began on 2006-11-16; ended on 2007-04-15.

Exclusion Draft Charter: http://www.w3.org/2006/webapi/admin/charter.

Selection API

This document is a preliminary draft of a specification for the Selection API and selection related functionality. It replaces a couple of old sections of the HTML specification, the selection part of the old DOM Range specification.

This document defines APIs for selection, which allows users and authors to select a portion of a document or specify a point of interest for copy, paste, and other editing operations.

Draft state: Working Draft

Expected completion: CR Q1 2024 - Recommendation Q3 2024.

Adopted Draft: Selection API, https://www.w3.org/TR/2023/WD-selection-api-20230516/, 16 May 2023.

Exclusion Draft: https://www.w3.org/TR/2014/WD-selection-api-20141007/, 07 October 2014. Exclusion period began on 2014-10-07; ended on 2015-03-06.

Exclusion Draft Charter: http://www.w3.org/2014/06/webapps-charter.html.

Input Events Level 2

This specification defines 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. This specification builds on the UI events spec [UI-EVENTS].

Draft state: Working Draft

Expected completion: CR Q1 2024 - Recommendation Q3 2024.

Adopted Draft: Selection API, https://www.w3.org/TR/2023/WD-input-events-2-20230516/, 16 May 2023.

Exclusion Draft: Input Events, https://www.w3.org/TR/2016/WD-input-events-20160830/, 30 August 2016. Exclusion period began on 2016-08-30; ended on 2017-01-27.

Exclusion Draft Charter: http://www.w3.org/2015/10/webplatform-charter.html.

Other Deliverables

Depending on the working group progress, including interest from multiple implementers, the Group may also produce W3C Recommendations for the following documents:

The execCommand Specification

Draft state: Unofficial Draft, see execCommand.

SpellcheckAPI

Draft state: No draft, see Minutes from Editing TF Fukuoka TPAC Meeting.

Primer or Best Practice documents to support web developers when designing applications.

Draft state: No draft.

Timeline

All specifications produced by the Web Editing 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.

Success Criteria

In order to advance to Proposed Recommendation, each normative specification is expected to have at least two independent interoperable implementations of every feature defined in the specification, where interoperability can be verified by passing open test suites, and two or more implementations interoperating with each other. In order to advance to Proposed Recommendation, each normative specification must have an open test suite of every feature defined in the specification.

There should be testing plans for each specification, starting from the earliest drafts.

To promote interoperability, all changes made to specifications in Candidate Recommendation or to features that have deployed implementations should have tests. Testing efforts should be conducted via the Web Platform Tests project.

Each specification should contain sections detailing security and privacy implications for implementers, Web authors, and end users, as well as recommendations for mitigations. There should be a clear description of the residual risk to the user or operator of that protocol after threat mitigation has been deployed.

Each specification should contain a section on accessibility that describes the benefits and impacts, including ways specification features can be used to address them, and recommendations for maximising accessibility in implementations.

This Working Group expects to follow the TAG Web Platform Design Principles.

Coordination

For all specifications, this Working Group will seek horizontal review for accessibility, internationalization, 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. The Working Group is encouraged to engage collaboratively with the horizontal review groups throughout development of each specification. The Working Group is advised to seek a review at least 3 months before first entering CR and is encouraged to proactively notify the horizontal review groups when major changes occur in a specification following a review.

Additional technical coordination with the following Groups will be made, per the W3C Process Document:

W3C Groups

WebApps Working Group
Overlapping specifications such as UIEvents.
CSS Working Group
Overlapping specifications such as Highlight API.
Accessible Platform Architectures (APA) Working Group
Explore accessibility use cases and gap analysis and ensure new specifications provide needed accessibility features.
Accessibility Guidelines Working Group
The Accessibility Guidelines Working Group (AG WG) maintains the Authoring Tool Accessibility Guidelines (ATAG) 2.0, which provides guidelines for how authoring tools and environments can support accessibility for authors with disabilities, as well as promoting production of accessible content by all authors.
Internationalization Working Group
There are many internationalisation considerations regarding input, changing writing directions an language-specific punctuation and layout conventions, use of different keyboards and virtual keyboards, etc.
Web Platform Incubator Community Group
This group provides a lightweight venue for proposing, incubating, and discussing new web platform features. The Web Editing Working group can incubate and review new proposals that are within scope of our charter within the WICG. Once such WICG-incubated proposal is implemented and available in at least one major browser, and has support from one more, it may be adopted by the Web Editing Working group.

External Organizations

Participation

To be successful, this Working Group is expected to have 6 or more active participants for its duration, including representatives from the key implementors of this specification, and active Editors and Test Leads for each specification. The Chairs, specification Editors, and Test Leads are expected to contribute half of a working day per week towards the 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 non-Members to contribute technical submissions for consideration upon their agreement to the terms of the W3C Patent Policy.

Participants in the group are required (by the W3C Process) to follow the W3C Code of Ethics and Professional Conduct.

Communication

Technical discussions for this 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 written to by the general public. Working Drafts and Editor's Drafts of specifications will be developed in public repositories and may permit direct public contribution requests. The meetings themselves are not open to public participation, however.

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

Most Web Editing Working Group teleconferences will focus on discussion of particular specifications, and will be conducted on an as-needed basis.

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

The group may use its public mailing list public-editing-tf@w3.org (archive) for administrative purposes.

Decision Policy

This group will seek to make decisions through consensus and due process, per the W3C Process Document (section 5.2.1, Consensus). 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, GitHub issue or web-based survey), with a response period from one week, depending on the chair's evaluation of the group consensus on the issue. If no objections are raised by the end of the response period, the resolution will be considered to have consensus as a resolution of the 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 5.2.3, Deciding by Vote) and includes no voting procedures beyond what the Process Document requires.

Patent Policy

Patent Policy

This Working Group operates under the W3C Patent Policy (Version of 15 September 2020). To promote the widest adoption of Web standards, W3C seeks to issue Web specifications 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 licensing information.

Licensing

This 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 3.4 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 4.3, Advisory Committee Review of a Charter):

Charter Period Start Date End Date Changes
Initial Charter 10 June 2021 09 June 2023 none
Charter Extension 10 June 2023 09 September 2023 Charter extended until 09 September 2023. Grisha Lyukshin stepped down as co-chair.
Rechartered When approved Start date + 2 years Add execCommand to the list of possible deliverables.

Change log

Changes to this document are documented in this section.