The Editing taskforce

The Editing Task Force can be followed on our mailing list. We track issues in GitHub Issues as well.

See the Task Force's charter for more information about the group.

Specifications

Actively developed specs:

Other specs also maintained:

Other editing related specs that are not maintained by the editing taskforce:

Introduction

contenteditable is used extensively on the web to enable users to directly edit HTML content. However, it is very complex and its behavior is often largely overwritten by sites or javascript frameworks. Completely overwriting it is very difficult because it requires overwriting all keyboard shortcuts that perform commands like bold and undo, as well as the context menu. Further, this must be done in all supported languages. A post on Medium tells one perspective of why it should be changed.

To further simplify the work of sites and frameworks, new types of contentEditable simplifies default behavior to text input only, while providing local-specific information on what a user intends such as to create newlines, delete content, or format it. This allows sites to easily provide their own behaviors without needing to handle complex text input like IMEs.

Framing the Problem

Use Cases

Goals

Specs maintained

It is a pattern in web editors that are built on top of contenteditable to disable some commanding functionality. The reason for this is that consistency for Rich Text Editors is very hard, and requirements vary greatly from one app to the next. Disabling all functionality is very difficult, however.

In order to make it easier to disable specific capabilities of contenteditable, we are creating different types of contenteditable with different features disabled by default in the contentEditable spec.

Because it is widely used, contentEditable="true" will continue to be developed in the contentEditable=True spec. Similarly, the execCommand spec aims to spec the behavior of the execCommand command.

Acknowledgements

Thanks to: Michael Aufreiter, Adrian Bateman, Oliver Buchtala, Robin Berjon, Enrica Casucci, Olivier Forget, Aryeh Gregor, Marijn Haverbeke, Yoshifumi Inoue, Koji Ishii, Gary Kacmarcik, Frederico Caldeira Knabben, Takayoshi Kochi, Piotrek Koszuliński, Travis Leithead, Grisha Lyukshin, Chaals McCathie Nevile, Masayuki Nakano, Ryosuke Niwa, Julie Parent, Ben Peters, Florian Rivoal, Morgan Smith, Hallvord R. M. Steen, Johan Sörlin, Cristian Talau, Dave Tapuska, Ojan Vafai, Léonie Watson, Xiaoqian Wu, Chong Zhang, Joanmarie, and everyone in the Editing Taskforce for their input and feedback.