RE: contentEditable=minimal

DOM L3 does require implementations to fire composition event for dead-key combinations, so insofar as the (Alt-`) combo results in a dead key for accent-grave (and other dead key combos mentioned below), the composition events should (or are supposed to) fire as a result.

-----Original Message-----
From: Ben Peters [mailto:Ben.Peters@microsoft.com] 
Sent: Monday, June 2, 2014 2:00 PM
To: Robin Berjon; Julie Parent
Cc: Johannes Wilm; public-webapps@w3.org
Subject: RE: contentEditable=minimal

Great context. Thanks! Let me ask my question another way- should CompositionEvents be used when there isn't a composition? Should typing 'a' fire CompositionEnd? If not we still need a CommandEvent of type insertText, and it seems inconsistent not to fire it for all typing, doesn't it?

> From: Robin Berjon [mailto:robin@w3.org]
> 
> On 27/05/2014 01:52 , Ben Peters wrote:
> >> From: Robin Berjon [mailto:robin@w3.org] On 23/05/2014 01:23 , Ben 
> >> Peters wrote:
> >>>> As I said I am unsure that the way in which composition events 
> >>>> are described in DOM 3 Events is perfect, but that's only because 
> >>>> I haven't used them in anger and they aren't supported much.
> >>>
> >>> My thought is that we can use CommandEvent with type="insertText".
> >>> This would be the corollary to execComamnd("insertText"), and the 
> >>> data would be the ñ that is about to be inserted.
> >>
> >> But if you only get one event you can't render the composition as 
> >> it is carrying out.
> >
> > I believe Composition Events are very important for IME input, but 
> > we should fire CommandEvent with Insert text for all text input, 
> > including IME. Are you saying we should use Composition Events even 
> > for non-IME input?
> 
> I am not using an IME, and yet I could not type in French on my 
> keyboard without composition.
> 
> Obviously, if I switch to Kotoeri input, I'll get composition *and* an 
> IME popup. But for regular French input (in a US keyboard) I need:
> 
>    é -> Alt-E, E
>    è -> Alt-`, E
>    à -> Alt-`, A
>    ô -> Alt-I, O
>    ü -> Alt-U, U
>    ñ -> Alt-˜, N (for the occasional Spanish)
>    (and a bunch more)
> 
> Some older apps (you pretty much can't find them anymore) used to not 
> display the composition as it was ongoing and only show the text after 
> composition had terminated. That was survivable but annoying, and it 
> only worked because composition in Latin-script languages is pretty 
> trivial (except perhaps for all you Livonian speakers out there!), but 
> I don't think it would be viable for more complex compositions. And 
> even in simple cases it would confuse users to be typing characters with no rendering feedback.
> 
> Without composition events you can't render the ongoing composition. 
> See what's going on at:
> 
> 
> https://gist.github.com/darobin/8a128f05106d0e02717b#file-twitter-html

> -
> L81
> 
> That is basically inserting text in a range that's decorated to be 
> underlined to show composition in progress. Composition updates
> *replace* the text in the range. And at the end the range is removed 
> and text is inserted.
> 
> The above is for Mac, but I have distant memories of using something 
> similar on Windows called the "US International Keyboard" where you 
> could have apostrophes compose as accents, etc.. I don't recall how it 
> was rendered though.
> 
> --
> Robin Berjon - http://berjon.com/ - @robinberjon

Received on Wednesday, 4 June 2014 21:39:09 UTC