C6.24.2Silent auto-formatting of typed textdesignresearch

Auto-formatting changes already-typed content without the user noticing

Aliases: smart quotes · automatic format replace · silent rewrite

What it is

Systems and editors turn straight quotes into curly ones, -- into a dash, three dots into an ellipsis, (c) into a copyright mark, and sometimes auto-link or insert list markers. That is auto-formatting. It runs after characters are already typed, usually without a separate confirmation. While the user watches the keyboard or plans the next sentence, bytes in the buffer have already changed. It does not depend on “was this a misspelling”; every letter can be correct and the text is still rewritten.

Why it happens

Replacement is typically triggered by a pattern still being typed: two hyphens, a quote pair, a leading Markdown asterisk. Nearby already-typed characters are deleted and swapped for new code points. If the new glyph looks like the old one (straight versus curly quotes), the change rarely enters attention. Copied into plain text, a terminal, or a repository, curly quotes and non-breaking spaces become syntax errors, and people assume they mistyped. Autocorrect substitutes dictionary entries; auto-format substitutes punctuation and whitespace code points. The dictionary cannot help, and if undo merges the swap with typing, it is harder to split apart.

Studying it

Have people type short strings with straight quotes, double hyphens, and three dots, once watching the screen and once watching the keyboard, then paste into monospace plain text and diff code points. Record whether they noticed and whether they can point to what changed. Include both code and prose. Scoring only “does it look nicer” grades silent rewrite as a virtue.

Where it stops holding

In publishing tools, curly quotes are the intended product and silent rewrite may be a feature. Plain text, config, search, and command palettes should not do these swaps. Instant messaging that auto-links URLs can steal the selection while the user is editing mid-URL. In a collaborative document, one person's auto-format becomes another person's “who changed my quotes.”

Applying it

  • Disable smart punctuation and space substitution on code, terminal, search, and identifier fields.
  • If a prose editor turns it on, make the swap a distinct, in-flight visible transform (briefly highlight the new character).
  • Offer a plain-text copy before paste-out so curly quotes do not leak.
  • Verify by typing --, "...", and three dots, then immediately inspecting code points in hex or monospace; ask whether the participant saw a change.

Related

  • Same group: C6.24.1 Autocapitalization assumes English sentence boundaries and misfires in other settings · C6.24.3 Auto-formatting often backfires on proper names and code and needs an off switch · C6.24.4 Automatic changes must be visible and undoable in one step, or people will wonder whether they mistyped
  • Adjacent: C6.11 Autocorrect · C6.16 Undo in text input
  • Search: smart quotes · autoformat · silent substitution

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C6.24.2