Friendly contenteditable API