This repository contains a list of features that contentEditable (or components that mimics it) should provide. This came as a result of ContentEditable — The Good, the Bad and the Ugly post followed up by Twitter discussion.
- Selection
- Ranges
- Possibly multiple ranges (Currently supported only on FF)
- Take care of selection orientation (there are differences for selection made from left to right and vice-versa)
- Ranges
- User interaction
- touch support
- selection
- show/hide IME
- enable copy/paste
- might consider implementing vendor-specific features, e.g. shake iPhone to perform undo
- mouse support
- selection
- drag and drop
- possibly context menu (as you want to add paste option)
- keyboard support
- navigation (right arrow, ctrl(meta)+right arrow, end, ctrl+end, page up)
- selection (same keys as above, just add shift :) )
- editing (printable characters, delete, backspace)
- paste (make sure that common hotkeys are supported - ctrl(meta) + v, ctrl(meta) + insert)
- touch support
- Accessibility
- User interface
- all sort of helper grids. Like the one that allows you to resize table/image or resize table columns
- marking selection in readable way
- Undo snapshot system
- Internatiolisation
- make sure it supports bi-directional text
- make sure that your editor works with different IME