Skip to content

Instantly share code, notes, and snippets.

@mlewand
Created August 13, 2015 22:56
Show Gist options
  • Save mlewand/61876c6f4f7ea9f70b0e to your computer and use it in GitHub Desktop.
Save mlewand/61876c6f4f7ea9f70b0e to your computer and use it in GitHub Desktop.
A list of features that contentEditable (or components that mimics it) should provide.

content-editable-features

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)
  • 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)
  • 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment