RE: contentEditable=minimal

> Let us take the relatively simple issue with typing "ñ" on a keyboard setup
> that does not natively support the character. On my keyboard, that is done
> by first typing Alt-N, then N.
> 
> At the more complete end of the spectrum, what we have today, without
> the developer doing anything, when I type Alt-N the DOM is modified to
> include a U+02DC SMALL TILDE (note: *not* U+0303 COMBINING TILDE) and
> that character is underlined in the rendering to let me know that it is awaiting
> a character to combine with. Interestingly, that information is not reflected in
> the DOM — I don't even know how you can handle it. In fact, editors that try
> to take over too much from the platform (in this case, Substance for instance)
> completely fail to allow this sort of text entry.
> 
> At completely the other end of the spectrum (more or where developers
> find themselves today when they override as much as they can, out in the
> cold), all you get are two entirely independent keyboard events: one N with
> altKey set to true, and another N with altKey set to false.
> 
> Unless you know all platform conventions (plus the user's keyboard
> layout) or you manage to enforce your own, which isn't friendly to users, you
> can't do anything useful with that.
> 
> What I meant by having the browser handle text input, is that it needs to
> know the platform conventions so as to convey user intent to to the
> application correctly. When I hit Alt-N then N, the UA should relay something
> that looks like the following events (I'm deliberately not including
> keyup/down/etc. for simplicity):
> 
> compositionstart \u0303 (combining tilde) compositionupdate ñ
> compositionend ñ
> 
> (We might be able to do without the compositionupdate in this case, I'm
> including it because for more elaborate compositions it's needed.)
> 
> I believe that this provides the appropriate level of abstraction to address the
> use case. Without the composition events (e.g. if you only send a text input
> event) the developer can't show the composition in progress to the user
> (which for complex compositions like Kotoeri is a non-starter); and with
> these events developers don't need to know about the platform's
> conventions for composition. Orthogonality is where it should be.
> 
> 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.

Received on Thursday, 22 May 2014 23:24:27 UTC