New approach using contenteditable.