IME and input method QA (text-entry components)

Components that wrap or manage text input (input, textarea, contenteditable surfaces) must behave correctly with input method editors (IME) used for Chinese, Japanese, Korean, and other languages.

Composition events

During IME composition, the browser fires compositionstart, compositionupdate, and compositionend. Logic that commits or filters input on every input or change event can break composition.

Checklist

  • Do not close overlays or move focus mid-composition unless required by the platform pattern.
  • Debounced search or validation should wait until composition ends where feasible.
  • Avoid mutating controlled value in ways that reset the IME pre-edit string unexpectedly.

Manual test matrix

ScenarioExpected
macOS Japanese IME (Romaji → Hiragana/Kanji) in a text fieldComposition completes; committed text matches selection
Windows Microsoft IME (Chinese)No dropped characters; caret stable
Korean Hangul compositionSyllable blocks commit correctly

Automation

IME behavior is hard to cover reliably in unit tests alone. Prefer manual QA for releases that touch text-entry internals, and Playwright only when a stable, low-flake scenario exists.