Case ce-0199-thai-ime-backspace-granularity-chrome · Scenario scenario-ime-interaction-patterns

Thai IME Backspace removes entire character with combining marks

OS: Windows 11 Device: Desktop or Laptop Any Browser: Chrome 120.0 Keyboard: Thai (IME) Status: draft
composition ime backspace thai chrome windows

Phenomenon

When editing Thai text with IME in a contenteditable element, pressing Backspace removes the entire character including tone marks and vowel marks instead of allowing component-level editing. This makes fine-grained correction difficult and differs from native input fields.

Reproduction example

  1. Focus the editable area.
  2. Activate Thai IME.
  3. Type a Thai character with tone marks and vowel marks (e.g., “สวัสดี”).
  4. Press Backspace once.

Observed behavior

  • The entire character with all combining marks is removed by a single Backspace press
  • Component-level editing (e.g., editing just the tone mark) is not possible
  • The event log shows only one beforeinput / input pair for the deletion
  • Behavior differs from native input fields

Expected behavior

  • Each Backspace press should allow more granular deletion, matching how native inputs behave
  • Component-level editing should be possible
  • Behavior should be consistent with native input fields

Browser Comparison

  • Chrome: May remove entire characters with combining marks
  • Edge: Similar to Chrome
  • Firefox: May have different granularity behavior
  • Safari: Not applicable on Windows

Notes and possible direction for workarounds

  • Compare behavior with a plain <input> element in the same environment to confirm the difference
  • This behavior can affect cursor movement, undo granularity, and diff calculation
  • Consider implementing custom backspace handling for finer control with combining characters
Before
Hello สวัสดี
Thai text input completed (includes tone marks and vowel marks)
→
After Backspace (Bug)
Hello
Entire character 'สวัสดี' deleted (single Backspace)
vs
✅ Expected
Hello สวัส
Expected: Delete one character at a time (first Backspace deletes only 'ดี')

Browser compatibility matrix

This matrix shows which browser and OS combinations have documented cases for this scenario. The current case is highlighted. Click on a cell to view other cases.

Current case
Confirmed
Draft
— No case documented

All variants (detailed table)

Complete list of all cases for this scenario with full environment details.

Case OS Device Browser Keyboard Status
ce-0002-ime-enter-breaks Windows 11 Desktop or Laptop Any Chrome 120.0 Korean (IME) draft
ce-0004-ime-backspace-removes-whole-syllable Windows 11 Desktop or Laptop Any Chrome 120.0 Korean (IME) draft
ce-0022-ime-enter-breaks-firefox Windows 11 Desktop or Laptop Any Firefox 120.0 Korean IME draft
ce-0030-backspace-composition-chrome macOS Ubuntu 22.04 Desktop or Laptop Any Chrome 120.0 Japanese IME draft
ce-0035-backspace-deletes-whole-word macOS Ubuntu 22.04 Desktop or Laptop Any Safari 120.0 US draft
ce-0042-input-events-duplicate Windows 11 Desktop or Laptop Any Edge 120.0 US draft
ce-0058-contenteditable-with-autocomplete macOS Ubuntu 22.04 Desktop or Laptop Any Chrome 120.0 US draft
ce-0070-contenteditable-with-autocapitalize iOS 17.0 iPhone Any Safari 17.0 US draft
ce-0071-contenteditable-with-autocorrect iOS 17.0 iPhone Any Safari 17.0 US draft
ce-0181-japanese-ime-enter-breaks-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Japanese (IME) draft
ce-0182-chinese-ime-enter-breaks-safari macOS 14.0 Desktop or Laptop Any Safari 17.0 Chinese (IME - Pinyin) draft
ce-0185-japanese-ime-backspace-granularity-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Japanese (IME) draft
ce-0186-chinese-ime-backspace-granularity-safari macOS 14.0 Desktop or Laptop Any Safari 17.0 Chinese (IME - Pinyin) draft
ce-0196-vietnamese-ime-enter-breaks-edge Windows 11 Desktop or Laptop Any Edge 120.0 Vietnamese (IME) draft
ce-0195-thai-ime-enter-breaks-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Thai (IME) draft
ce-0199-thai-ime-backspace-granularity-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Thai (IME) draft
ce-0200-vietnamese-ime-backspace-granularity-edge Windows 11 Desktop or Laptop Any Edge 120.0 Vietnamese (IME) draft
ce-0217-keyboard-handlers-iscomposing-false-ios-safari-korean iOS 17.0+ iPhone or iPad Any Safari 17.0+ Korean (IME) draft
ce-0565-chrome-121-oninput-offset-0 Windows 11 Desktop Any Chrome 121.0.6167.86 US QWERTY confirmed
ce-0579 macOS 15.0 (Sequoia) Desktop Any All Browsers (ProseMirror context) Latest (Nov 2025) Apple Magic Keyboard (US) confirmed
ce-0581 Android 14.0 / 15.0 Smartphone Any Chrome 131.0+ Gboard (Emoji) confirmed

Playground for this case

Use the reported environment as a reference and record what happens in your environment while interacting with the editable area.

Reported environment
OS: Windows 11
Device: Desktop or Laptop Any
Browser: Chrome 120.0
Keyboard: Thai (IME)
Your environment
Sample HTML:
Event log
Use this log together with the case description when filing or updating an issue.
0 events
Interact with the editable area to see events here.

Comments & Discussion

Have questions, suggestions, or want to share your experience? Join the discussion below.