Re: [w3c/uievents] Clarify `keypress` event handling for keys that map to non-BMP Unicode symbols (Issue #346)

Re:
> It seems we are going back and forth here. Let me summarize the current situation based on my work and all the evidence currently available:
[snip]

This description conflates the `keypress` and `input` events, which are two different events - one is legacy, one is explicitly specified.

Re:
> I believe the spec is well-defined, in that surrogate pairs must be fully concatenated before emitting an event. Although this is not specifically stated, it's a given considering past behavior in Edge and I.E. + current behavior in Safari. WDYT?

No, that's not a given at all I'm afraid.  If things were appropriately defined in the spec then this spec issue would not exist :)

The `keypress` event and `charCode` documentation describes legacy pre-spec events; those events have historically delivered UTF-16 code-units, and the `charCode` terminology elsewhere refers to UTF-16 code-units - it's not clear that it would make sense to change that now.

The `input` event is explicitly specified to return strings of characters (i.e. code points) - so it is specified _differently_ from `keypress`.  Chromium (and newer Edge builds) does not implement things that way consistently - I've filed crbug.com/1450498 for the Chromium issue under Windows.  Again, though, that's an implementation bug, not a spec issue.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/w3c/uievents/issues/346#issuecomment-1572476730
You are receiving this because you are subscribed to this thread.

Message ID: <w3c/uievents/issues/346/1572476730@github.com>

Received on Thursday, 1 June 2023 17:19:25 UTC