IME composition shows Pinyin in table cells on iOS Safari
OS: iOS 16+ · Device: Mobile (iPhone/iPad) Any · Browser: Safari 16+ · Keyboard: Chinese (IME) - iOS Chinese Input
Open case →Scenario
When typing Chinese Pinyin in Safari, the Latin buffer (underlined or styled) may render differently than in Chrome—overlap with table cells, clipping, or missing underline—so users cannot see what they are composing before picking hanzi.
When typing Chinese Pinyin in Safari, the Latin buffer (underlined or styled) may render differently than in Chrome—overlap with table cells, clipping, or missing underline—so users cannot see what they are composing before picking hanzi.
This scenario focuses on visual feedback of the composition string, not only candidate window position (see scenario-ime-table-cell-pinyin-safari).
contenteditable styling (background, padding).Users commit wrong characters because they cannot read the buffer.
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-0235-chinese-ime-pinyin-table-ios-safari-en | iOS 16+ | Mobile (iPhone/iPad) Any | Safari 16+ | Chinese (IME) - iOS Chinese Input | draft |
Open a case to see the detailed description and its dedicated playground.
OS: iOS 16+ · Device: Mobile (iPhone/iPad) Any · Browser: Safari 16+ · Keyboard: Chinese (IME) - iOS Chinese Input
Open case →Other scenarios that share similar tags or category.
When editing Chinese Pinyin inside a table cell—especially on iOS Safari—the IME candidate window can be clipped, positioned incorrectly, or behave differently than in a plain paragraph. Other browsers (Firefox, Edge, Chrome) also show layout-specific quirks.
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.
On some iOS Safari versions and keyboards, compositionstart or compositionupdate may not fire reliably for certain languages, while input events still fire—editors that only reconcile on composition boundaries can desync.
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.