G4.08.4leave prompts only where data would actually be lost设计研究

离开提示只用于有实际数据丢失风险的场景,滥用会致使用户脱敏

别名: 离开提示脱敏 · cry wolf · 警告习惯化 · warning habituation

概念解释

离开提示是有成本的中断:它声称「再走一步会付出你在乎的代价」。若这一步其实没有未提交的数据、没有不可恢复的状态,声明为假。假声明重复几次之后,真声明也会被同一套动作关掉。只用在实际会丢数据的场合;把「欢迎回来」「确定离开这个介绍页吗」做成同一类对话框,就是在训练人点「离开」。

机制

Wogalter 一系的警告研究把这叫习惯化:信号的诊断性下降之后,响应下降。离开对话框的外观被浏览器和操作系统做得很像,产品无法靠换肤恢复诊断性,只能靠少发来保住「这次是真的」。每一次无损失的弹出都在教:这个框等于「点确认才能走」。真的未保存出现时,动作已经自动化。

滥用还有产品激励:怕流失的增长页、怕跳出的问卷、每个外链都要的「你将离开」。这些框保护的是产品的指标,不是人的数据。人很快学会它们不保护自己,于是连保护自己的那一次也一并关掉。脱敏是跨对话框迁移的:习惯了无害的离开提示,高风险的信任确认也会被同一手指点掉。

怎么研究

先让人在无损失的页面上连续遇到离开提示若干次,再进入真正有未保存编辑的页,看他们是否不读就确认。

  • 自变量:前期无损失提示的次数与外观是否与真提示相同、真提示是否写出具体会丢什么。
  • 因变量:真提示上的阅读时间、误丢未保存的比例、口头「这些框都一样」。
  • 方法论注意点:一次实验室里堆出的习惯化比真实几天里养成的更快也更浅,结论要保守。外观不同(原生 beforeunload vs 产品模态)可能减缓迁移,要分开记分,不要假设一种框的滥用一定污染另一种。

边界

无障碍用户依赖对话框得知即将发生的文档卸载,完全取消 beforeunload 会让关标签变成无声损失;该留的是「脏」时的那一次,不是把干净状态也挂上。法律要求的「离开即视为放弃」需要提示,但文案应写法律后果,不要伪装成未保存。儿童或高龄界面若把所有导航都做成确认,那是另一套过度保护,同样会脱敏,不能用这条当借口继续加框。

怎么落地

  • 离开提示的触发条件写成「存在会丢失的未提交改动」,脏标志为假时禁止挂钩子。
  • 不要把营销挽留、问卷跳出拦截、普通外链确认做成与未保存对话框相同的外观和位置。
  • 真提示写出具体损失(「未发送的评论」「未保存的 3 处修改」),不要用「确定要离开吗」。
  • 验证:走完一条无一处未保存的浏览路径,中途不应出现任何离开框。再在编辑器改一个字后离开,这时才允许框出现,且能读到具体会丢的对象。把介绍页的每个链都挂上「确定离开」作为反例,随后在编辑器测误丢率——那就是脱敏。

延伸

  • 同组G4.08.1 外部链接需与站内链接在视觉上可区分,让用户预判跳转后果 · G4.08.2 未保存改动时离开当前页面需拦截提示,而非静默丢弃 · G4.08.3 跳转到外部域名涉及信任转移,高风险场景需二次确认 · G4.08.5 外部跳转可能携带来源信息,隐私敏感场景需说明或阻断
  • 相邻H3.05 确认对话框的滥用 · H5.08 警报疲劳 · A5.16 习惯化与提示失效
  • 站内检索warning habituation · cry wolf · beforeunload

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/G4.08.4