E6.10.1error-page recovery设计

错误页需提供返回与重试

别名: 错误页 · 失败回退 · retry and back

概念解释

错误页(error page)在一条路由或一整屏内容无法呈现时,用整页(或整块主区域)替换本来的内容。它必须同时给出两条出路:返回到上一处还站得住的地方,以及重试刚才失败的那次取数。只有插画和「出了点问题」的页面把用户停在死胡同:不知道能不能再试一次,也不知道怎么离开。降级页同样适用——能给的只剩只读副本时,仍要能回到列表,并在完整能力恢复时再试。

机制

整页替换切断了原来的导航上下文:顶栏也许还在,但主区域不再是「这一页」,用户失去了「我在哪」的锚。返回把锚接回历史或父级,重试把同一意图再发射一次而不必重走进入路径。缺返回,失败被体验成被困在这一 URL;缺重试,间歇故障被体验成永久损坏,用户会离开应用再进来,等于用更重的手段做重试。两条出路对应两种不同的诊断:问题在这次请求上(重试),问题在这条路上(返回)。错误页若只给其中一条,就把两种诊断合成了一种处理。

边界

权限错误上的重试往往无效,返回或「申请权限」比再点一次更诚实;重试仍可保留,但不要当主按钮。致命的客户端崩溃有时重试会立刻再炸,应改成返回加报告。浏览器自己的「上一页」在单页应用里可能仍停在同一错误路由,产品内的返回必须指向一个已知完好的界面,不能只调用一次历史后退。嵌入式部件没有应用外壳时,返回可能意味着关闭部件,重试仍是那次取数。自动化刷新造成的错误页闪现,不要在用户没看见失败时就展示两条大按钮。

怎么落地

  • 错误页主区域同时放「重试」和「返回」,重试默认针对刚才那次请求,返回落到列表、首页或明确的父级。
  • 返回不要只写「后退」而不说目的地;写「回到项目列表」。
  • 重试过程中锁住按钮并保留错误页骨架,避免重试失败时整页被空白接住。
  • 验证:断开网络打开一条深链,看不靠浏览器控件能不能离开、能不能再试。两件里缺一件,错误页就还是死胡同。

延伸

  • 同组E6.10.2 需区分网络、权限与服务端问题 · E6.10.3 错误页不应丢失用户已输入的内容
  • 相邻E6.06 空状态 · E6.14 离线与连接状态提示 · E5.05 面包屑
  • 站内检索error page · retry · fallback page

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E6.10.1