Samsung Keyboard Link Boundary Node Splitting and Escaping
OS: Android 10-14 · Device: Mobile (Samsung Galaxy series) · Browser: Chrome for Android · Keyboard: Korean (IME) - Samsung Keyboard with Text Prediction ON
Open case →Scenario
Samsung Keyboard with text prediction can split or duplicate inline link nodes at boundaries—similar to other prediction issues but specific to link-adjacent typing.
Samsung Keyboard with text prediction can split or duplicate inline link nodes at boundaries—similar to other prediction issues but specific to link-adjacent typing.
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-0325-samsung-keyboard-link-boundary-node-split | Android 10-14 | Mobile (Samsung Galaxy series) | Chrome for Android | Korean (IME) - Samsung Keyboard with Text Prediction ON | draft |
Open a case to see the detailed description and its dedicated playground.
OS: Android 10-14 · Device: Mobile (Samsung Galaxy series) · Browser: Chrome for Android · Keyboard: Korean (IME) - Samsung Keyboard with Text Prediction ON
Open case →Other scenarios that share similar tags or category.
The selection (window.getSelection()) in beforeinput events can differ from the selection in corresponding input events. This mismatch can occur during IME composition, text prediction, or when typing adjacent to formatted elements like links. The selection in beforeinput may include adjacent formatted text, while input selection reflects the final cursor position.
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.
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.
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.
Many IMEs let users pick candidates with number keys 1–9. In contenteditable, those keys may be consumed by the IME, intercepted by the page for shortcuts, or mis-handled by Safari—causing wrong selection or cancelled composition.
Have questions, suggestions, or want to share your experience? Join the discussion below.