Most of rich-text editor i know (quill, trix,...) uses contentEditable just for render surface.
Try to open your console when use quill and type `quill.getContents()`. And try this with Trix: `document.querySelector('trix-editor').editor.getDocument()`.
Seems like you don't know what is 'rich-text' at all.