Free tagging must handle duplicates and near-spellings
Aliases: tag synonym · duplicate chips · near-duplicate tags
What it is
A tag input lets someone type a word and mint a tag that need not already exist in a vocabulary. Free creation immediately yields two kinds of dirt: exact duplicates (the same string twice) and near-spellings (“interaction design” vs “interactive design,” case, spaces). Untreated, filters, counts, and other people’s reuse treat them as different objects. The issue is how a vocabulary grows dirty, not whether comma or Enter commits, and not how a single chip is removed.
Why it happens
Free creation hands naming to in-the-moment working memory. People do not first search “have I already typed something like this,” especially at the end of a long chip row. Exact duplicates are set semantics treated as a list: the same chip twice, with undefined behavior when a filter is checked. Near-spellings are darker: two tokens to a machine, one meaning to a person, so clouds, counts, and others’ autocomplete split. Case, full-width vs half-width, and small word-order tweaks are neighbors. If they are not blocked or merged at the creation point, dirt accumulates in the store, and later cleaning has to rewrite relations already hung on documents.
Where it stops holding
Deliberate synonyms (search must hit several names) should not be force-merged, but they should be chainable to one concept. Proper names where case matters (iOS vs IOS) are hurt by case-folding. A tiny personal tag set makes duplicates cheap; a site-wide vocabulary makes neighbors expensive. Parallel tags from machine translation are another kind of neighbor, not caught by edit distance alone.
Applying it
- On create, compare against existing tags with the product’s normalization (whitespace, case); on a hit, highlight the existing item rather than inserting another chip.
- For existing tags close in edit distance or word order, offer “did you mean this” and one-tap reuse.
- On a shared vocabulary, surface neighbors to governance on a schedule; do not expect every user to search first.
- Verify by typing an existing tag, one that differs by a space, and one that differs only in case. All three should merge into the existing item or force an explicit choice. Silently minting a fourth chip is a vocabulary going dirty.
Related
- Within the group: E2.20.2 The delimiter that commits a tag must be stated · E2.20.3 Each chip must be removable without disturbing the others · E2.20.4 Many tags need a wrapping or stacking layout
- Adjacent: E2.16 Autocomplete dropdowns · E3.08 Chip selection
- Search terms:
free-tag duplication·near-duplicate tags·tag vocabulary