re: contentEditable=minimal

Hello Everyone,

The idea of a contentEditable spec that is usable for developers gives me
so much hope that I am drawn to make my very first comment on a W3 list.

First, thank-you Ben Peters for the original post.

I am an independent web developer who is frustrated because I feel there is
a whole class of web-apps that are not seeing the light of day because
current cE makes it too difficult.

So, we really need this. By "this", I mean the building blocks for a fully
custom but highly functional and usable content editor in the browser.

I have read every message on this topic in this list since May so I can see
along with everybody else that this is a very complex problem.

It sounds like we should be able to break the problem down into parts, so
this is how I see things:

1. Create a cE=minimal/whatever spec that specifies that it does very
little by default. Its behavior should be well-defined and highly
predictable. It would actually do too little on its own to be called a
"rich editor", but the point is that it is a stable platform upon which we
can build something new without surprises. Just this by itself would be
helpful to developers.

2. Develop CommandEvents. Since cE=minimal does very little on its own,
we'll have to make it do interesting stuff by listening for events. At
first we'll have to listen for the standard keyboard combinations
(Cmd-Backspace), but when CommandEvents hit the scene we'll be able to
listen for 'deleteToBeginningOfLine'. This will allow us to make more
functional editors with fewer lines of code and fewer bugs. Note that this
would benefit both cE=min and cE=true.

3. Improve Selection and Range API and others. Right now there is no sane
way for me to know where my content wraps, so it's near impossible to do my
own implementation of 'deleteToBeginningOfLine', making it difficult to
override. There are many other helpful APIs we could come up with that
would help people developing editors, but first we need a stable surface to
build on.

I think if we start with #1, that will at least put devs in a sane place.
Then we can make their lives easier with #2 and #3.

I have an idea for what we could do for #1. I'll try to write it up in a
separate email.

Thank-you for reading. I look forward to discussing this further with
everyone.

Olivier Forget

Received on Wednesday, 11 June 2014 08:29:27 UTC