A10.15.4Systems should prioritize supporting self-detection over relying solely on system validation设计

系统应优先支持用户自我检测,而非把检测责任完全交给系统校验

别名: self-detection · system validation · error checking

概念解释

差错检测的责任可以放在两个地方:用户自己在操作过程中察觉不对,或者系统在事后用校验规则把差错找出来提示给用户。这条原则主张前者应当被优先设计到位,系统校验只作为兜底,而不是反过来——先假设用户不会自己发现问题,把所有把关都压到系统校验上,用户只需要被动等提示。这个优先顺序不是因为系统校验不可靠,而是因为它有先天的覆盖盲区:任何校验规则都只能捕捉规则设计者事先想到的那类偏差,用户在操作过程中自己感知到的"不对"却不受限于这份清单。

机制

系统校验是一种基于预设规则的模式匹配——只要偏差落在规则覆盖的形式之内(格式错误、必填项缺失、数值超出范围),就能被稳定捕捉;但一旦偏差是规则设计者没有预料到的形式(数值在合法范围内但逻辑上不合理、格式正确但语义有误),校验规则形同虚设,而这些恰恰是用户凭借对任务本身的理解最容易察觉的那类差错。用户自我检测依赖的是对任务语义的整体把握,覆盖面天然比任何一份预设规则更广,但它的可靠性依赖于操作本身是否给了用户足够的信息去做比对——如果操作过程本身缺少可感知的反馈,用户自我检测的这份广覆盖优势就无从发挥,这时候才轮到系统校验接手它能覆盖的那部分。两者的关系是互补而非替代:系统校验补的是用户自我检测覆盖不到的规则化偏差,用户自我检测补的是系统校验规则设计者事先想不到的语义偏差。

边界

把检测责任完全推给用户自我检测也有边界:对于后果不可逆或者用户本身缺乏专业知识去判断"这是否正确"的场景(例如涉及安全或合规的数值范围),不能假设用户仅凭直觉就能可靠地识别偏差,这类场景里系统校验需要作为强制的最后一关,而不只是兜底。自我检测优先的原则适用于用户具备足够任务知识、且操作反馈本身可以被设计得清晰可感知的场景;一旦这两个前提有一个不成立,优先级就要向系统校验倾斜。

怎么落地

在设计一个新功能时,先问操作本身能不能通过直接反馈让用户自行判断结果对不对,只有在这条路径已经做到位、仍然存在规则化、可枚举的偏差类型时,才补充系统校验去覆盖这部分残余风险;避免一开始就默认反正有校验兜底,从而放弃在操作层面提供清晰反馈的设计工作。验证办法:统计一段时间内的差错分别是被用户自己发现、还是被系统校验拦下的,如果绝大多数差错都是靠系统校验拦下、用户自我发现的比例很低,说明操作层面缺少支持自我检测的反馈设计,问题被系统校验掩盖了而不是真正减少了。

延伸

  • 同组A10.15.1 用户自行发现的错误比系统提示发现的错误修正成本更低 · A10.15.2 错误检测依赖对预期结果的清晰认识,模糊目标下的错误更难被自行察觉 · A10.15.3 操作与反馈之间的间隔越长,用户自行检测到错误的概率越低
  • 相邻A10.06 防错设计 · A10.08 错误容忍与优雅降级
  • 站内检索self-detection · system validation · error checking

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/A10.15.4