On the call I was asked to float a proposal to look at and evaluate. Here
is a rough high level proposal.
It is essential for ah author to be able to access caret location,
selection information, spelling errors, and grammatical errors detected in
a canvas application in such a way that they may be exposed to platform
accessibility services via the <canvas> shadow DOM and synchronized with
the visual rendering on a canvas rendering of that shadow DOM. Currently:
- Caret and selection can be detected from contenteditable areas and from
input controls
- spelling and grammatical errors can not
This results is an incomplete one to one mapping between the shadow DOM and
what is rendered on the canvas.
I would like to propose introducing the following HTML elements to the
<canvas> shadow DOM that would allow the author to specify their own
<caret>, <selection>, <grammar>, <spelling> tag ranges. This information
can be used by the shadow DOM to support platform accessibility API
services and be use to bind a canvas rendering of this information to
information in the shadow DOM. This allows for a cloud based offering to
completely manage rich text editing without impacting contenteditable
sections in the browser and exposing similar information through scripting
APIs. It will be the task of the author to handle the canvas display
mapping. This approach is not unlike the use of <font> elements in earlier
versions of HTML but is limited to <canvas>.
Rich