- From: Piotr Koszuliński <p.koszulinski@cksource.com>
- Date: Wed, 28 May 2014 23:39:32 +0200
- To: Ben Peters <Ben.Peters@microsoft.com>
- Cc: Julie Parent <jparent@gmail.com>, "public-webapps@w3.org" <public-webapps@w3.org>
- Message-ID: <CAFk9ney28_SMzmuj0bnSBZt1X+Z7VX2e32x76A_VMGMfYGhi4A@mail.gmail.com>
But what is the "default" behaviour then? What will we be preventing? There's no accepted specification for current contentEditable=true AFAIK, so I thought that the goal of contentEditable=minimal is to avoid the need to write a specification for contentEditable=true. Otherwise, developers may demand from browser vendors that they fix their contentEditable=true implementations and I don't think that anyone wants that. Why not forget about contentEditable=true, make it deprecated and create specification only for algorithms needed by contentEditable=minimal and all required command events? On Wed, May 28, 2014 at 10:39 PM, Ben Peters <Ben.Peters@microsoft.com>wrote: > Great idea! If Intention Events (Clipboard, Selection, Command) cover > all of the editing operations that a site would want to handle themselves, > we don’t need CE Min as a feature, only a concept that can achieved with > preventDefault(). > > > > *From:* Julie Parent [mailto:jparent@gmail.com] > *Sent:* Tuesday, May 27, 2014 4:40 PM > *To:* Ben Peters > *Cc:* public-webapps@w3.org > *Subject:* Re: [editing] CommandEvent and contentEditable=minimal > Explainer > > > > The discussion of which minimal default handling to include with > contenteditable="minimal" makes me wonder if contentEditable="minimal" is > necessary at all. It quickly becomes a can of worms of *which* default > handling should be included, and it seems likely to not satisfy every use > case no matter which decisions are made. However, "minimal" is proposed as > a building block because currently, disabling all default functionality of > contentEditable="true" is difficult/impossible. But with CommandEvents, > shouldn't contentEditable="minimal" be equivalent to: > > > > // Let editRegion be <div contentEditable id='editRegion'> > > > > var editRegion = document.getElementById("editRegion"); > > editRegion.addEventListener("command", handleCommand); > > function handleCommand(evt){ > > evt.preventDefault(); > > } > > > > No default actions would be taken, but selection events would still fire > and be handled. There would be no ambiguity. If implementing > contentEditable="minimal" on top of CommandEvents could just be a few lines > of code, why complicate things by spec'ing another property? > > > > Then, if someone wants a region that just does basic text input, then they > simply allow it: > > function handleCommand(evt){ > > switch (evt.commandType){ > > case 'insertText': > > // Let the browser do text insertion > > break; > > default: > > // Prevent all other magic > > evt.preventDefault(); > > } > > > > This hedges on the fact that CommandEvents would capture ALL the cases > that contentEditable currently handles, and that the event would fire > BEFORE the dom is modified, and that calling preventDefault would cancel > the event, but isn't that a goal of this design anyway? > > > > Julie > > > > ---------- Forwarded message ---------- > From: *Ben Peters* <Ben.Peters@microsoft.com> > Date: Thu, May 22, 2014 at 4:56 PM > Subject: [editing] CommandEvent and contentEditable=minimal Explainer > To: "public-webapps@w3.org" <public-webapps@w3.org> > > > I have completed a first-draft explainer document [1], taking the generous > feedback of many of you into account. There are 6 open issues on the > document currently, and I'm sure there are others that I have missed. It > would be great to know if this is heading in in the right direction. > > My vision is to use this a non-normative Explainer, and create 2 normative > specs to go with it. The specs for contentEditable=minimal and CommandEvent > should have first-drafts next week. > > Thanks! > Ben > > [1] http://benjamp.github.io/commands-explainer.htm > > > -- Piotrek Koszuliński CKEditor JavaScript Lead Developer
Received on Wednesday, 28 May 2014 21:40:01 UTC