Chinese IME backspace deletes entire composition instead of last character
OS: Android 11.0+ · Device: Any Android device Any · Browser: Chrome Mobile 100.0+ · Keyboard: Chinese (Pinyin) IME
Open case →Scenario
On Android with Chinese IME, Backspace may delete whole syllables, partial Pinyin, or confuse composition boundaries compared to desktop—frameworks that handle Backspace uniformly across platforms mis-handle mobile.
On Android with Chinese IME, Backspace may delete whole syllables, partial Pinyin, or confuse composition boundaries compared to desktop—frameworks that handle Backspace uniformly across platforms mis-handle mobile.
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-0219-chinese-ime-backspace-android | Android 11.0+ | Any Android device Any | Chrome Mobile 100.0+ | Chinese (Pinyin) IME | draft |
Open a case to see the detailed description and its dedicated playground.
OS: Android 11.0+ · Device: Any Android device Any · Browser: Chrome Mobile 100.0+ · Keyboard: Chinese (Pinyin) IME
Open case →Other scenarios that share similar tags or category.
User scrolling the page or scrollable editor while the IME candidate window is open may cancel composition or move the caret out of sync—reported on iOS Safari with Japanese IME and Android Chrome with Chinese IME when scroll containers move the editing context.
The getTargetRanges() method in beforeinput events may return an empty array or undefined in various scenarios, including text prediction, certain IME compositions, or specific browser/device combinations. When getTargetRanges() is unavailable, developers must rely on window.getSelection() as a fallback, but this may be less accurate.
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.
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.
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.
Have questions, suggestions, or want to share your experience? Join the discussion below.