Case ce-0178-vietnamese-ime-diacritic-loss-chrome · Scenario scenario-ime-combining-characters-composition

Vietnamese IME diacritic marks lost during composition in Chrome

OS: Windows 11 Device: Desktop or Laptop Any Browser: Chrome 120.0 Keyboard: Vietnamese (IME) Status: draft
ime composition vietnamese diacritics accents chrome windows

Phenomenon

When composing Vietnamese text with IME in a contenteditable element in Chrome on Windows, diacritic marks (ă, â, ê, ô, ơ, ư and their tone marks) may be lost during composition or when using backspace/delete. Diacritics may also combine with the wrong base letter, or base letters and diacritics may be inserted in the wrong order.

Reproduction example

  1. Create a contenteditable div.
  2. Switch to Vietnamese IME (Telex or VNI input method).
  3. Type Vietnamese text with diacritics (e.g., “xin chào”).
  4. Use backspace to delete characters.
  5. Observe if diacritics are preserved correctly.

Observed behavior

  • Diacritic marks may be lost during composition
  • Diacritics may combine with wrong base letter
  • Base letter and diacritic may be inserted in wrong order
  • Backspace may not remove both base and diacritic correctly
  • Multiple diacritics may not combine properly

Expected behavior

  • Diacritic marks should be preserved during composition
  • Diacritics should combine correctly with base letters
  • Base letters and diacritics should be inserted in correct order
  • Backspace should handle base+diacritic combinations correctly
  • Multiple diacritics should combine properly

Impact

  • Vietnamese text may be misspelled or unreadable
  • Users must manually correct diacritics frequently
  • Text may appear correct but be semantically wrong

Browser Comparison

  • Chrome: Generally good support but diacritic loss can occur
  • Edge: Similar to Chrome
  • Firefox: May have more issues with diacritic positioning
  • Safari: Diacritic composition can be inconsistent

Notes and possible direction for workarounds

  • Monitor composition events to detect diacritic formation
  • Validate Vietnamese character formation after input
  • Use text normalization (NFC) to ensure proper character combination
  • Handle backspace carefully to preserve diacritics
  • Check for proper Unicode normalization of Vietnamese characters
Before
Hello xin chao
Vietnamese input in progress (xin chao)
After (Bug)
Hello xin chao
Accent marks lost (chào → chao)
vs
✅ Expected
Hello xin chào
Expected: Accent marks preserved (chào)

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-0177-thai-ime-tone-mark-positioning-firefox Windows 11 Desktop or Laptop Any Firefox 120.0 Thai (IME) draft
ce-0178-vietnamese-ime-diacritic-loss-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Vietnamese (IME) draft
ce-0180-hindi-ime-devanagari-conjuncts-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Hindi (IME - Devanagari) draft
ce-0206-russian-ime-cyrillic-composition-chrome Windows 11 Desktop or Laptop Any Chrome 120.0 Russian (IME - Cyrillic) draft

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: Vietnamese (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.