Inline feedback must look unlike ordinary content
Aliases: status vs content · result as field · discoverable inline
What it is
Once a result is written inside the object, it can be mistaken for one of the object’s own fields: a “Failed” in the row looking like the record’s name, a “Saved” on the button looking like its permanent label. Looking unlike ordinary content means inline feedback must read as a state that just happened, not as a column in the catalog. Nearness solves attribution; contrast solves discoverability. Both have to hold for inline to be a receipt without polluting the object’s identity.
Why it happens
People scan a list using stable columns and styles as structure. Newly inserted words in the same size and color as a cell get compiled into that row’s content model, and the next scan still treats them as data. Feedback needs a “this is status” mark: a brief color, weight, icon, or a sense of being attached (end of row, inside the button) so it cannot enter the content model. Contrast also protects the other direction: when the content truly has a field called “failure,” it must not share the red of an action that just failed. Time helps: a receipt should be able to fade, a field should stay. A “Saved” that never fades becomes a second labeling system and fights the real name column.
Where it stops holding
Color alone is not enough for assistive contrast; there must be words or an icon. Motion that is too theatrical makes the distinction a performance; if the last frame has no stable static difference, a paused recording mixes them again. In a dense table there may be no attached slot, only a small in-cell mark, which then has to be restrained or every cell looks like an alarm. Dark theme and compact density drop contrast into noise more easily; the distinction has to pass in those themes, not only in the default.
Applying it
- Put inline results in an attached slot with a short mark (icon or status word); do not insert a long sentence that looks like a new field.
- Let success fade weaker than content after a short time, or fade entirely, leaving only the object’s own change (a new row, a new value).
- Keep failure until it is handled, but still as status, not as a data column.
- Verify by greyscaling a screen and scrambling time, then asking which words are “the thing that just happened.” Pointing at a name or a description means contrast failed.
Related
- Within the group: E6.13.1 Inline feedback puts the result next to the trigger · E6.13.2 Inline presentation keeps the result tied to the object · E6.13.4 Bulk inline feedback must split successes from failures
- Adjacent: E6.03 Inline validation · E4.03 Tables · E6.11 Badges and dots
- Search terms:
inline contrast·status versus content·transient mark