Meanwhile the built-in editing code in browsers like Firefox already know how to do a10y and bidi text. What if basic editing could be provided by the browser and higher-level (code oriented, in Ace's case) functionality could be added on top?
We can make it happen. We just need to figure out what the APIs should be (and this is where people building the core editor code can help!)
What APIs would you want to outsource basic caret movement, selection and typing behavior to the browser?
https://wiki.mozilla.org/Features/Desktop/EditorAPI
Kevin
--
Kevin Dangoor
product manager, developer tools
work: http://mozilla.com/
blog: http://blueskyonmars.com/
@dangoor
thanks for picking this up.
> Editors like Ace have to go to a lot of trouble to implement basic editing behavior. The problem is that even with all of that trouble taken, bidi text and accessibility are not easily supported (if at all!).
With the Ace approach bidi should be possible but apparently a10y is
really hard to achieve.
> Meanwhile the built-in editing code in browsers like Firefox already know how to do a10y and bidi text. What if basic editing could be provided by the browser and higher-level (code oriented, in Ace's case) functionality could be added on top?
>
> We can make it happen. We just need to figure out what the APIs should be (and this is where people building the core editor code can help!)
>
> What APIs would you want to outsource basic caret movement, selection and typing behavior to the browser?
I'm actually really happy that Ace takes control over all of this.
This makes it much easier to implement features without having to
worry about specific browser implementations. What I would like to see
however are APIs which can be used to inform the browser about Ace's
selection, caret, etc.
Similar to what ARIA is doing for markup. Something like: "Hey browser
I manage my own text selection. If you want to know the contents call
this function." This way we could even switch back to canvas based
rendering if we ever want to without any a10y drawbacks.
Best,
Fabian
Meanwhile the built-in editing code in browsers like Firefox already know how to do a10y and bidi text. What if basic editing could be provided by the browser and higher-level (code oriented, in Ace's case) functionality could be added on top?We can make it happen. We just need to figure out what the APIs should be (and this is where people building the core editor code can help!)What APIs would you want to outsource basic caret movement, selection and typing behavior to the browser?
I'm actually really happy that Ace takes control over all of this.
This makes it much easier to implement features without having to
worry about specific browser implementations.
What I would like to see
however are APIs which can be used to inform the browser about Ace's
selection, caret, etc.
Similar to what ARIA is doing for markup. Something like: "Hey browser
I manage my own text selection. If you want to know the contents call
this function." This way we could even switch back to canvas based
rendering if we ever want to without any a10y drawbacks.