返回知识库

产品与设计 · 界面体验

交互反馈Interaction Feedback

操作之后在物件上按时序给出收到、处理中、结果与下一步的可读反馈。

先点保存,再切无反馈对照感受差别

一个真实的保存设置:鼠标按下或键盘 Space/Enter 激活,观察物件上 按下 → 保存中 → 结果 的按时序变化;切到无反馈对照,物件在保存中毫无动静——这就是反馈时机与可见性的差别。失败时会写明原因并提供重试。

保存设置 · 反馈可见性实验台

同一个保存设置:切到「即时反馈」,物件上会按时序出现 按下、保存中、结果与下一步;切到「无反馈对照」,物件在保存中毫无动静——感受反馈时机与可见性的差别。结果长在按钮、状态卡、toast 和观察记录上。

通知设置邮件摘要 · 每日
待保存

改完设置点「保存设置」,反馈会出现在这张卡片上。

本会话已保存 0 次 · 最近结果:

即时反馈模式:点保存设置,观察物件上 按下 → 保存中 → 结果 三段反馈;再切到无反馈对照,看你还判断得出发生了什么。

对照三段反馈:按下(收到)· 保存中(处理)· 结果与下一步(可恢复);只靠颜色或没有反馈,用户判断不出发生了什么。

从刚才的操作里提炼

你在实验台上看到的就是交互反馈的四个时刻与一条边界。

  • 按下给瞬时反馈:即时模式下按钮在你按下那刻轻微下压,让用户确认「收到了」——这一瞬的反馈消除「我点到了吗」的疑虑。
  • 保存中让等待可感知:即时模式下按钮 disabled 加 aria-busy 防重复,状态卡显示「保存中…」和进度;对照无反馈模式,物件毫无动静,你会不安地再点——计数器把「重复触发 N 次」长在物件上,这就是无反馈的代价。
  • 结果与下一步长在物件上:成功在 toast 上写「✓ 已保存」并给撤销/再保存;失败写明原因(网络异常 503)并给重试;不只靠颜色,输入也不清空。
  • 反馈是按时序的一段因果:收到 → 处理中 → 结果 + 下一步,每段都有文字和语义;状态卡、toast 和观察记录让你能复述刚才发生了什么。
  • 状态不只用颜色:成功/失败用文字、图标(✓/⚠)、边框和可操作性共同表达,配 aria-busy / aria-live;读屏和低视力用户也能感知结果。

什么时候关注交互反馈

从用户信号判断,也要知道它与相邻概念的边界。

  • 用:提交、保存、删除、支付等有副作用的主操作,按下后必须有时序反馈和可读结果。
  • 用:慢操作(>300ms)给进行中暗示,危险操作给二次确认和可撤销,避免用户焦虑或重复触发。
  • 区分:hover/focus/active 是输入位置与激活瞬间,loading-state 是等待期,error-state 是失败态,toast 是结果通知——交互反馈是覆盖整条时序的总原则。
  • 不用:纯展示性悬停查看、无副作用的本地切换不必套完整时序;但也别用只变色或无反馈搪塞主操作。

怎么用:从按下到结果与下一步的最短路径

让一次操作只产生一次副作用,并在物件上按时序可见。

  1. 按下立即给瞬时态(按压或高亮),确认「收到」;异步开始时把按钮 disabled 并设 aria-busy="true"
  2. 保存中在物件上显示进度或「保存中…」文字,让等待可感知;重复点击由 disabled 挡下,不多发一次请求。
  3. 结束在物件上写明结果与下一步:成功给「✓ 已保存」和撤销/再保存,失败给原因和重试;用文字+图标,不只靠颜色。
  4. aria-liverole="status" 让结果可被读屏感知,保留用户输入与上下文,提供重置或撤销。

正反例:同一保存设置,只改反馈可见性

围绕同一个保存动作,只改变「物件上是否按时序给出反馈」,看用户后果如何不同。

正例按下、保存中、结果都长在物件上

按下立即给按压态;保存中按钮 disabled 加 aria-busy 并显示进度;结束在状态卡和 toast 上写明结果与下一步(撤销/再保存/重试)。反馈按时序可见可读,用户不慌也不重复提交。

反例点了没动静,只靠颜色或干脆没反馈

按钮不显示按下或保存中,物件长时间无变化;成功只把某处变绿、失败只变红,没有文字和下一步。用户不知道是否收到、是否处理中、是否成功,于是连点几次——重复提交或误以为失败。

快速自测

慢网下保存要 1.2 秒才返回,哪一种反馈让用户既不慌也不重复提交?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。