Names, passwords, and code need correction off
Aliases: disable autocorrect · password no correct · code no correct
What it is
Some strings are not in a general lexicon, or their correctness cannot be decided by frequency. Names, passwords, code, the local part of an email, order ids belong here. Turning correction on for those fields pulls legal out-of-vocabulary strings toward the nearest dictionary word. False-hit rate is high; misses barely matter. Off is not a penalty. It admits that there is no “more likely word” to refer to.
Why it happens
Correction’s prior comes from large corpora: common words, common neighbour pairs. Names follow another distribution and many live only in a personal address book; passwords are built to stay far from a lexicon; code identifiers use camel case, underscores, and abbreviations, and a space-triggered swap will split or rewrite inside the identifier. The part of an email before @ is often OOV as well. The model has no good neighbour on these distributions; the nearest neighbour is often a frequent English or Chinese word. After the swap, field semantics break, and passwords and code fail login or compilation—in another system, so the user is less likely to connect the failure to that space bar. Turning correction off lets the original cross the commit boundary intact. Completion that only appends, never replaces, may remain on names; the replacement channel must stop.
Studying it
On name, password, and short-code fields, compare submit success and revert counts with correction on versus off. Independent variables include whether the address book is read as an exception lexicon and whether a one-shot add-to-lexicon is allowed; dependent measures include rewritten legal strings, login or validation failures, and whether users blame themselves. Accuracy of a model tuned on ordinary SMS does not transfer to these fields.
Where it stops holding
Names in the address book can join a personal lexicon so correction does not treat them as errors—an exception list, not leaving correction on wholesale. Internal codes confirmed many times can join too. A general chat field cannot be turned off globally because a name sometimes appears; off follows field semantics, not whether this sentence contains a capital. Password fields often also need visible completion and lexicon-based gliding off.
Applying it
- Turn replacement correction off on name, password, code, email, and one-time-code fields. The system keyboard’s off switch must take effect on focus, not only as a setting buried elsewhere.
- Name fields may whitelist a personal address book, but must not force strings outside that list onto a dictionary word.
- Submit tests with real name samples and legal codes that “look like typos”; a field that rewrites them with correction on fails in its default state.