- From: Johannes Wilm <johannes@fiduswriter.org>
- Date: Sun, 31 May 2015 07:28:03 -0400
- To: Aryeh Gregor <ayg@aryeh.name>
- Cc: Frederico Knabben <f.knabben@cksource.com>, Xiaoqian Wu <xiaoqian@w3.org>, Arthur Barstow <art.barstow@gmail.com>, Ryosuke Niwa <rniwa@apple.com>, "public-editing-tf@w3.org" <public-editing-tf@w3.org>
- Message-ID: <CABkgm-QHZKg=9chfE7O7argzrgrT2hCyu9dKBny1K6REB0sJhg@mail.gmail.com>
On Sun, May 31, 2015 at 7:05 AM, Aryeh Gregor <ayg@aryeh.name> wrote:
> On Fri, May 29, 2015 at 4:15 PM, Johannes Wilm <johannes@fiduswriter.org>
> wrote:
> >> Thinking about it a bit more -- the fact is, to implement the user
> >> deleting text (for instance), you really have to implement
> >> execCommand("bold") and so forth anyway. Because if you have this:
> >>
> >> <p>foobar</p><p style="font-weight: bold">bazquz</p>
> >>
> >> and the user deletes the text "barbaz", you want to end up with
> something
> >> like
> >>
> >> <p>foo<span style="font-weight: bold">quz</span></p>
> >> or
> >> <p>foo<b>quz</b></p>
> >>
> >> and the method of detecting that "quz" was originally bold but no
> >> longer is, and then making it bold, is logically equivalent to running
> >> queryCommandState("bold") on the text and then execCommand("bold") to
> >> change it. So while deprecating execCommand() is sensible, I think we
> >> still effectively need to spec a lot of the command logic if we want
> >> to spec UA behavior for things like delete. At that point we may as
> >> well just spec execCommand() itself.
> >
> >
> > I don't see that this is necessary. The logic should be so general so it
> > also works for:
> >
> > <p>foobar</p><p class="somecustomclass">bazquz</p>
>
> I'm don't think extending it to classes is a good idea -- the class
> might only be relevant to blocks, like class="note" in W3C specs, and
> scripts or styles might behave strangely if you put them on inline
> elements. But supposing you limited it to styles. Consider if the
> block had style="border: 1px" -- I don't think you'd want to copy
> that. You could solve that by whitelisting only certain style
> properties. But then what about
>
> <p>foobar</p><div style="color: red">ba<p style="color:
> green">zquz</p></div>
>
> You could fairly argue that these are edge cases and it doesn't really
> matter what we do here. Especially since browsers shouldn't (at least
> IMO) put style attributes on block elements at all, and handling HTML
> that was not generated by contenteditable is not as essential. Also,
> you might be able to avoid all the editing-specific logic and just
> define something simple that works purely with CSS.
>
> I guess if anyone does a contenteditable=true spec, it will have to be
> seen if any cases like this come up that pose a serious problem.
> Offhand I can't think of more realistic scenarios that are a problem,
> although I didn't think very hard -- so with luck maybe there aren't
> any. :)
>
The question is if it makes sense to exactly specify contenteditable=true
if browser makers won't change view that they will not standardize the
behavior due to pre-existing conditions.
What could be spec'ed would a new attribute that does more or less the same
as contenteditable=true. Something like "editing=full". I personally would
prefer that it should do paragraph splitting, etc. in consistent ways no
matter what styling/classes types of elements one is dealing with, but
also, I do not care too much. I think the ce=typing is the most important
of the specs because everything else will be built on top of it and can
probably be entirely implemented in JavaScript, at least initially.
--
Johannes Wilm
Fidus Writer
http://www.fiduswriter.org
Received on Sunday, 31 May 2015 11:28:31 UTC