Skip to content

Clarification about whether requirement to send key events during composition extends to platforms #395

@ogarai

Description

@ogarai

The section Key Events During Composition mentions key events along with isComposing attribute MUST be sent even during composition.

During the composition session, keydown and keyup events MUST still be sent, and these events MUST have the isComposing attribute set to true.

The following exceptions to this rule seem to somewhat relax the requirement above:

  • Section "Input Method Editors" has the following note:

    In some implementations or system configurations, some key events, or their values, might be suppressed by the IME in use.

  • In compositionstart:

    When a keyboard is used to feed an input method editor, this event type is generated after a keydown event, but speech or handwriting recognition systems MAY send this event type without keyboard events.

In some platforms like Linux Wayland, processing key events for composition might be done in the platform in such a way that all key events may not be received by the browsers from the platform, receiving only the processed composition events.

In this case, what is the exact expectation? Does this spec extend to the platforms to be forced to send all key events to browsers or is there some flexibility here, in which case the platform may chose not to send them, even for text that is composed using keyboards and not other means like speech or handwriting, and browsers can only send key events "if" they are notified about them from the platform?

cc: @garnacho, @fangzhoug, @nickdiego, @wengxt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions