Chinese IME composition cancelled by Tab key in Firefox
OS: Windows 11 · Device: Desktop or Laptop Any · Browser: Firefox 120.0
Open case →Scenario
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.
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.
Rich editors often preventDefault on Tab for lists; during isComposing, that can cancel IME unexpectedly.
Lost partial input; users blame the editor for “eating” Tab.
isComposing, avoid handling Tab for indentation unless you explicitly mirror platform IME conventions.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-0189-chinese-ime-tab-cancels-firefox | Windows 11 | Desktop or Laptop Any | Firefox 120.0 | Chinese (IME - Pinyin) | draft |
| ce-0202-thai-ime-tab-cancels-safari | macOS 14.0 | Desktop or Laptop Any | Safari 17.0 | Thai (IME) | 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 |
|---|---|---|
| Firefox | — | |
| Safari | — |
This scenario affects multiple languages. Cases are grouped by language/input method below.
OS: Windows 11 · Device: Desktop or Laptop Any · Browser: Firefox 120.0
Open case →OS: macOS 14.0 · Device: Desktop or Laptop Any · Browser: Safari 17.0
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.
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.
Japanese kanji conversion and Chinese character selection depend on the IME candidate window. Delays, wrong ordering, or Safari-specific lag can cause users to commit the wrong character or see candidates that do not match the underlying buffer—especially under load or in complex layouts.
Scripts that use combining marks, conjuncts, or tone marks (e.g. Thai, Devanagari, Vietnamese, Cyrillic) may compose differently across browsers. Diacritics can be lost, reordered, or split across DOM nodes when the editor normalizes or wraps text during composition.
Some browsers and keyboards emit duplicate composition-related input or beforeinput events—especially iOS Safari dictation paths and certain Android keyboards—so naive handlers that insert text on every input may double characters or corrupt state.
Have questions, suggestions, or want to share your experience? Join the discussion below.