Non-editable elements become editable on double-click in IE11
OS: Windows Any · Device: Desktop or Laptop Any · Browser: Internet Explorer 11 · Keyboard: US
Open case →Scenario
Legacy IE11 had quirks when mixing contenteditable=false regions with adjacent editables—double-click could focus the wrong host or fail to enter edit mode.
Legacy IE11 had quirks when mixing contenteditable=false regions with adjacent editables—double-click could focus the wrong host or fail to enter edit mode.
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-0315-ie11-non-editable-double-click-editable | Windows Any | Desktop or Laptop Any | Internet Explorer 11 | US | draft |
Open a case to see the detailed description and its dedicated playground.
OS: Windows Any · Device: Desktop or Laptop Any · Browser: Internet Explorer 11 · Keyboard: US
Open case →Other scenarios that share similar tags or category.
Internet Explorer and old EdgeHTML had specific bugs when focusing contenteditable inside table cells—caret not appearing, wrong active element, or selection stuck in adjacent cells.
In Chromium, programmatic DOM updates (normalization, wrapping, React reconciliation) while the user is typing can move the caret to the end of the contenteditable or to an unexpected boundary—especially when the mutation happens between keystrokes.
Using the HTML drag-and-drop API inside or alongside contenteditable regions often diverges from behavior on plain elements: default actions, `contenteditable` hit-testing, and `beforeinput`/`drop` ordering differ by browser. Custom editors must reconcile native DnD with their own selection model.
Firefox may hide or misplace the caret when moving across contenteditable=true/false boundaries—widgets and embeds inside editors are affected.
On some engines (notably Firefox for Android / Fenix), beforeinput getTargetRanges() may describe the outer contenteditable host instead of the inner focused editor. Custom handlers that trust targetRanges alone may delete or insert in the parent surface while the user believes they are typing in a nested field.
Have questions, suggestions, or want to share your experience? Join the discussion below.