Case ce-0005 · Scenario scenario-caret-movement-with-emoji

Arrow keys skip over emoji in contenteditable

OS: macOS 14.0 Device: Laptop MacBook Pro Browser: Chrome 120.0 Keyboard: US Status: draft
caret emoji navigation

Phenomenon

When using the left and right arrow keys in a contenteditable element that contains emoji, the caret sometimes jumps over entire emoji clusters instead of moving by a single visual position.

Reproduction example

  1. Focus the editable area.
  2. Type a short ASCII word.
  3. Insert one or more emoji characters (for example, from the macOS emoji picker).
  4. Use the left and right arrow keys to move the caret across the text and emoji.

Observed behavior

  • The caret jumps over emoji, landing either before or after the entire emoji cluster.
  • Intermediate caret positions inside the cluster are not reachable with arrow keys.

Expected behavior

  • The caret moves consistently across visual positions, or at least behaves in the same way as a native <textarea> in the same environment.

Notes

  • This behavior can affect selection granularity, especially when users try to select text around emoji.
  • Investigate how the browser defines caret positions for grapheme clusters in contenteditable compared to other editable controls.

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.

Browser Windows macOS
Chrome
Edge
ce-0025
120.0
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-0005 macOS 14.0 Laptop MacBook Pro Chrome 120.0 US draft
ce-0025 Windows 11 Desktop or Laptop Any Edge 120.0 US 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: macOS 14.0
Device: Laptop MacBook Pro
Browser: Chrome 120.0
Keyboard: US
Your environment

Use this editable area to reproduce the described case.

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.