Because that is basically what you have to do if you want a truly rich editor that works and looks consistently across browsers and operating systems.
Maybe today you could get something to work using a combination of contenteditable and canvas, with code to handle the inconsistencies between browsers. But I know that at least a few years ago, rendering to a canvas was a necessity for rich web apps like this. Google docs at least used to be canvas based as well. I'm not sure if that is still the case.
> @ONLYOFFICE, FYI to add bidi-directional support (LTR, RTL and mixed) in Web interface is as simple to add to element dir=auto.
> If I remember correctly, they are using canvas with custom rendering logic. Hence many native browser capabilities might not be available.
Oh, jeez, why? I want to install this just to point a screen reader at it and watch the havoc. Maybe they got that figured out but good lord...