Skip to main content
Lightning Jar - Web Studio Lightning Jar Wordmark

Findings No. 21

The browser's own Cmd/Ctrl+B bypasses your contenteditable feature gating

Native contenteditable chords insert b and i tags directly past a bold:false feature flag. The container keydown handler must swallow gated chords so the browser default never fires.

Woof Editor Browser Platform verified Chromium, Safari, Firefox contenteditable defaults

An editor that gates formatting through its menus and shortcut handlers is not the only writer in the room: the browser ships its own contenteditable chords. Cmd/Ctrl+B and Cmd/Ctrl+I fall through to the default contenteditable behavior and insert <b> and <i> directly, bypassing a bold: false or italic: false feature flag entirely. The editor's own UI respects the gate; the platform does not.

The fix is to own the keydown: the editor container's handler swallows the chord when the corresponding feature is disabled, so the browser default never fires. The regression is pinned by a Chromium story that asserts gated chords leave the markup untouched.

The general rule: in contenteditable, feature gating has two jobs: avoid adding your own commands, and subtract the browser's built-in ones.

Receipt: woof-editor CHANGELOG 0.3.0 (2026-10-21); handleContainerKeyDown; src/lib/utils/features.ts; Storybook story "Inline formatting gated".

Ask Eljay

Ask about the studio's work, research, packages, or writing. A few starters:

Answers come from this site's own content and link their sources. For anything that matters, email hello@lightningjar.com.