I developed my own selection and input handling. The app focuses on a hidden input and it extracts the events when you hit keys, and handles them in my editor engine. I haven't done extensive testing but it works pretty well for foreign languages, I've even added decent support for RTL ones like Arabic.
I haven't thought much about accessibility, it's not really a priority for the project right now. If the project really gets big I might revisit that. Google docs is canvas-based, so that was enough precedent for me.