G4.08.4leave prompts only where data would actually be lost设计研究
离开提示只用于有实际数据丢失风险的场景,滥用会致使用户脱敏
别名: 离开提示脱敏 · cry wolf · 警告习惯化 · warning habituation
概念解释
离开提示是有成本的中断:它声称「再走一步会付出你在乎的代价」。若这一步其实没有未提交的数据、没有不可恢复的状态,声明为假。假声明重复几次之后,真声明也会被同一套动作关掉。只用在实际会丢数据的场合;把「欢迎回来」「确定离开这个介绍页吗」做成同一类对话框,就是在训练人点「离开」。
机制
Wogalter 一系的警告研究把这叫习惯化:信号的诊断性下降之后,响应下降。离开对话框的外观被浏览器和操作系统做得很像,产品无法靠换肤恢复诊断性,只能靠少发来保住「这次是真的」。每一次无损失的弹出都在教:这个框等于「点确认才能走」。真的未保存出现时,动作已经自动化。
滥用还有产品激励:怕流失的增长页、怕跳出的问卷、每个外链都要的「你将离开」。这些框保护的是产品的指标,不是人的数据。人很快学会它们不保护自己,于是连保护自己的那一次也一并关掉。脱敏是跨对话框迁移的:习惯了无害的离开提示,高风险的信任确认也会被同一手指点掉。
怎么研究
先让人在无损失的页面上连续遇到离开提示若干次,再进入真正有未保存编辑的页,看他们是否不读就确认。
- 自变量:前期无损失提示的次数与外观是否与真提示相同、真提示是否写出具体会丢什么。
- 因变量:真提示上的阅读时间、误丢未保存的比例、口头「这些框都一样」。
- 方法论注意点:一次实验室里堆出的习惯化比真实几天里养成的更快也更浅,结论要保守。外观不同(原生
beforeunloadvs 产品模态)可能减缓迁移,要分开记分,不要假设一种框的滥用一定污染另一种。
边界
无障碍用户依赖对话框得知即将发生的文档卸载,完全取消 beforeunload 会让关标签变成无声损失;该留的是「脏」时的那一次,不是把干净状态也挂上。法律要求的「离开即视为放弃」需要提示,但文案应写法律后果,不要伪装成未保存。儿童或高龄界面若把所有导航都做成确认,那是另一套过度保护,同样会脱敏,不能用这条当借口继续加框。
怎么落地
- 离开提示的触发条件写成「存在会丢失的未提交改动」,脏标志为假时禁止挂钩子。
- 不要把营销挽留、问卷跳出拦截、普通外链确认做成与未保存对话框相同的外观和位置。
- 真提示写出具体损失(「未发送的评论」「未保存的 3 处修改」),不要用「确定要离开吗」。
- 验证:走完一条无一处未保存的浏览路径,中途不应出现任何离开框。再在编辑器改一个字后离开,这时才允许框出现,且能读到具体会丢的对象。把介绍页的每个链都挂上「确定离开」作为反例,随后在编辑器测误丢率——那就是脱敏。