Partial character commit when moving focus to another textbox during IME composition
OS: Windows 10/11 · Device: Desktop or Laptop Any · Browser: Chrome 120+ · Keyboard: Korean (IME) - Microsoft IME
Open case →Scenario
If the user switches focus to another field, button, or nested contenteditable while Korean (or other) IME composition is active, browsers differ on whether composition is committed, cancelled, or leaves orphan state. Chrome, Safari, and Firefox do not agree; mobile adds more variance.
If the user switches focus to another field, button, or nested contenteditable while Korean (or other) IME composition is active, browsers differ on whether composition is committed, cancelled, or leaves orphan state. Chrome, Safari, and Firefox do not agree; mobile adds more variance.
blur during composition triggers compositionend in some paths but not others; the same gesture on three engines can yield three different DOM outcomes.
Lost input, duplicate characters when refocusing, or editor state diverging from IME state.
This scenario groups ce-0229 / ce-0230 / ce-0231 (Chrome, Firefox, Safari) for Korean IME focus/blur—compare reproduction steps across cases.
blur, if isComposing, optionally commit or cancel explicitly via IME-aware paths (platform-dependent; test only).Visual view of how this scenario connects to its concrete cases and environments. Nodes can be dragged and clicked.
Each row is a concrete case for this scenario, with a dedicated document and playground.
| Case | OS | Device | Browser | Keyboard | Status |
|---|---|---|---|---|---|
| ce-0229-korean-ime-focus-blur-chrome | Windows 10/11 | Desktop or Laptop Any | Chrome 120+ | Korean (IME) - Microsoft IME | draft |
| ce-0230-korean-ime-focus-blur-firefox | Windows 10/11 | Desktop or Laptop Any | Firefox 120+ | Korean (IME) - Microsoft IME | draft |
| ce-0231-korean-ime-focus-blur-safari | macOS 13+ | Desktop (Mac) Any | Safari 17+ | Korean (IME) - macOS Korean Input Method | draft |
This matrix shows which browser and OS combinations have documented cases for this scenario. Click on a cell to view the specific case.
| Browser | Windows | macOS |
|---|---|---|
| Chrome | — | |
| Firefox | — | |
| Safari | — |
Open a case to see the detailed description and its dedicated playground.
OS: Windows 10/11 · Device: Desktop or Laptop Any · Browser: Chrome 120+ · Keyboard: Korean (IME) - Microsoft IME
Open case →OS: Windows 10/11 · Device: Desktop or Laptop Any · Browser: Firefox 120+ · Keyboard: Korean (IME) - Microsoft IME
Open case →OS: macOS 13+ · Device: Desktop (Mac) Any · Browser: Safari 17+ · Keyboard: Korean (IME) - macOS Korean Input Method
Open case →Other scenarios that share similar tags or category.
Moving focus away from the editor while composing text (Chinese, Japanese, Korean) can cancel composition, commit partial text, or leave the IME candidate window out of sync. Safari often shows distinct behavior for Japanese; Chrome behavior for Chinese/Korean is covered in related cases.
Pasting from the clipboard while IME composition is active may cancel the composition session, replace the wrong range, or interleave pasted text with unfinished syllables—Firefox and Chrome show different behavior for Korean and Hindi IME paths.
Escape typically cancels IME composition or closes the candidate window. In Edge, Firefox, and other engines, timing and whether partial text remains in the DOM differ—Arabic and Korean IME cases show cross-browser variance.
During IME composition, keydown often reports keyCode 229 (VK_PROCESSKEY on Windows) for many keys, meaning the event is part of an input method sequence. Enter may commit composition, insert a newline, or be swallowed—Chrome vs Firefox vs Japanese layouts differ. Handlers that assume Enter always means insertParagraph break composition incorrectly.
Tab moves focus by default. During IME composition, Tab may cancel composition, cycle candidates, or be captured by the editor for indentation—behavior differs for Chinese, Thai, and Safari vs Firefox.
Have questions, suggestions, or want to share your experience? Join the discussion below.