E6.14.1offline before action设计
离线状态需要在操作前而非提交失败后提示
别名: 离线预告 · connectivity warning · 提交前断网
概念解释
设备已经没有可用网络时,还让人把表单填完再在提交那一刻报「网络错误」,是把已知约束藏到了劳动之后。操作前提示离线,指在用户动手做需要网络的事之前,界面就已经声明当前连不上——禁用或降级那些动作,并说清为什么。失败后的错误页可以留下当漏网,但不能当第一通道。离线是环境,不是一次提交的结局。
机制
人按「现在能做的事」来分配努力。离线若只在提交时出现,努力已经花出去,失败被体验成自己操作错了,而不是世界变了。浏览器和系统其实很早就知道连接状态;界面选择不说,是在用用户的时间探路。操作前声明把探路从提交点提前到决策点:看一眼就能把「现在改付款方式」从计划里拿掉,改去做还能做的离线阅读。它依赖的是对「哪些动作需要网络」的诚实分类;若连打开已缓存的文章也当成需要网络而锁死,预告就变成过度封锁。
边界
连接状态会抖:地铁里闪断半秒不应立刻全盘禁用,否则界面会跟着闪。预告需要短暂的确认窗口,把抖动收成稳定的离线或在线。纯本地动作(给已打开的文打草稿、标星若只写本地)不必等网络预告,但要在动作上标明「将在恢复后同步」,那是下一层的排队问题。第一次打开且没有任何缓存时,操作前与整页错误重合,预告就是错误页本身。服务器活着但接口失败,不是离线,不要用离线文案去套,否则用户会去开关飞行模式。
怎么落地
- 在需要网络的动作可被点到之前展示连接状态;已离线则禁用或改写这些动作,并写「当前无网络」。
- 给连接状态一个短的稳定窗口,避免闪断时按钮可用/不可用来回跳。
- 提交失败若原因是离线,错误文案仍要说离线,但同时检查为什么预告没有拦住这次提交。
- 验证:打开飞行模式后再走主路径。若直到点提交才知道连不上,预告就晚了。