设计验收:一致性、可访问性与跨平台的一张表

上线两小时后,一位用户发来截图:他用键盘 Tab 了七次,焦点始终停不到保存按钮上。设计验收不是审美评审,而是一张能逐项打勾的表:一致性、对比度、键盘焦点、响应式断点,二十项检查跑完只要三十分钟;跳过它,问题会以 bug 的形式回到线上。

设计不是做完的,是验完的。

一、上线两小时后的三张截图

以下情境为教学假设,人物、引语和数字不代表经核实的真实案例。

纪禾的产品上线两小时,收到三张用户截图。

第一张:用户按 Tab 键七次,焦点始终停在输入框里,保存按钮根本到不了。他的按钮是 div 加点击事件,没有键盘可达性。
第二张:一位用户把系统字体调大后,定价卡片的按钮被文字挤出容器,完全看不见。
第三张:深色模式用户看到的次要文字几乎融进背景,因为那套灰色只在浅色背景上验过。

三个问题都不是功能缺陷,也都不会被自动化测试拦下。它们属于同一类:设计没有被验收。

设计验收常被误解为「好不好看」。对一个人的产品来说,它更接近一份检查表:颜色有没有越界、对比度够不够、键盘能不能走完、不同宽度会不会塌。

二、四类检查

验收只需要四类检查,覆盖绝大多数线上设计事故。

类别检查什么失败后果
一致性颜色、字号、间距、圆角是否都在 token 内界面显得拼装,改版无法收敛
可访问性对比度、焦点可见、键盘可达、语义标签部分用户完全无法使用
响应式320px 到 1440px 之间是否塌陷移动端或大屏用户流失
内容空状态、错误态、超长文本是否处理真实场景下界面崩坏

一致性检查用扫描,不靠肉眼。 用脚本统计样式里不在 token 表中的值,比一页页看快得多,也不会漏。

可访问性检查有硬标准。 正文对比度 4.5:1、大字号 3:1、焦点环可见、所有交互元素可用键盘到达。这些不是建议,是可以判定的。

响应式检查要卡边界值。 320px、375px、768px、1024px、1440px 五个宽度各截一张图。中间宽度出问题的概率远高于标准宽度。

内容检查要用极端数据。 最长的用户名、最长的标题、空列表、五千条记录、一段中文加英文混排。界面在这些输入下不塌,才算过关。

三、二十项检查表

把四类检查拆成可勾选的项,每次发布前跑一遍。

#检查项判定
1主色只用于强调区域通过 / 不通过
2所有颜色值来自 token扫描无孤儿值
3字号只使用阶梯内的档位无 13px、18px 等例外
4圆角只使用三档无随手写的半径
5同一组件在不同页面样式一致截图对比一致
6正文对比度 ≥ 4.5:1实测数值
7大字号对比度 ≥ 3:1实测数值
8图标与边框对比度 ≥ 3:1实测数值
9焦点环在深色与浅色背景都可见键盘走查
10所有交互元素可键盘到达Tab 走完全流程
11表单错误与字段关联读屏可读出
12图片有替代文本装饰图 alt 为空
13320px 宽度无横向滚动截图检查
14768px 与 1024px 布局不塌陷截图检查
15长文本不溢出容器极端数据测试
16空状态有解释与入口清空数据检查
17错误态有原因与下一步断网检查
18加载态有超时与重试弱网检查
19深色模式下对比度仍达标切换模式复测
20所有状态截图已存档基线可查

二十项不必每次全跑。 改动只涉及某个页面时,跑该页面相关的项;涉及 token 或全局样式时,全跑一遍。

第 1 至 5 项可以脚本化。 颜色与字号扫描、圆角统计、组件截图对比,都能写成一次性脚本,长期复用。

第 6 至 12 项需要人工判断。 对比度可以工具测,键盘走查必须自己按。用键盘完整走一遍注册、保存、删除,是最有效的可访问性检查。

第 13 至 20 项靠截图与极端数据。 准备一份「最坏情况数据」,每次验收都用它,比临时造数据可靠。

四、截图基线与三十分钟走查

验收要能对比,就必须有基线。

截图基线
  页面:首页、定价、列表、详情、设置、空状态、错误态
  宽度:320 / 375 / 768 / 1024 / 1440
  主题:浅色 / 深色
  命名:页面-宽度-主题-日期.png

三十分钟走查
  0–10 分钟:自动化扫描(颜色、字号、圆角、对比度)
  10–20 分钟:键盘走完全流程
  20–30 分钟:极端数据与五个宽度截图对比

基线截图要进版本库或固定目录。 只存在本地截图工具里,换一台机器就没了。基线丢失,验收就退化成凭记忆。

对比要看差异,不要重看全图。 用图像对比工具标出变化区域,只有非预期变化才需要处理。

走查要在发布前,不要在发布后。 上线后再发现可访问性问题,修复成本是发布前的三到五倍,因为还要处理已经在使用的用户。

验收记录要留一句结论。 「本次 20 项通过 18 项,未通过:第 9 项深色焦点环、第 15 项长标题溢出,已排期。」比一个「已检查」的勾有用得多。

五、行动清单与复算验收

  • 选定五个宽度与两种主题,建立截图基线目录
  • 写一个扫描脚本,统计不在 token 内的颜色、字号、圆角
  • 用键盘完整走一遍注册、保存、删除流程
  • 实测正文、大字号、图标三处对比度并记录数值
  • 准备一份最坏情况数据(超长文本、空列表、五千条记录)
  • 在每个宽度下检查横向滚动与布局塌陷
  • 检查深色模式下的对比度与焦点环
  • 把本次验收结论写成一句话,记录未通过项与排期

验收标准:能报出本次通过项数与未通过项编号。 只回答「都看过了」的,说明没有基线也没有记录。

验收通过率 = 通过项数 ÷ 适用项数

发布门槛建议:100%(未通过项必须有排期)
连续三次低于 80%:说明检查表没有进入发布流程

使用边界与实操验收

本文讲通用设计验收,不涉及多语言下的漏译、回退与截图回归,那属于本地化测试:漏译、回退与截图回归 ;用户能否走通任务属于可用性测试:五个人、三个任务、一张表 ;token 的定义属于第 04 篇;物料规格属于第 08 篇。

本文也不主张「二十项每项都要自动化」。一个人的产品,脚本化前三类就足够;可访问性与内容检查必须手动,因为它们的失败方式太具体,脚本很难覆盖。

验证以线上事故为准:连续两个月,统计因设计问题(而非功能缺陷)产生的用户反馈。数字下降,说明验收在起作用;数字不变,说明检查表只是存着,没有进发布流程。

另一个可复算的指标是返工率:验收后到上线前,因设计问题产生的改动数。目标是个位数,超过十项说明验收跑得太晚。

关键参考与核验范围

本文的清单与阈值为教学演示。核验日期:2026-10-24。

上述两条只用于说明公开标准与工具,不构成对任何合规等级的承诺。具体适用等级需按产品面向的地区与行业要求确定。

系列导航

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「Indie」更多文章

  1. 开源项目验收:十项能力、四维评分与三种不该开源的项目
  2. 治理、fork 与退出:17 位贡献者、82% 的提交与一次改协议的代价
  3. 双许可与企业版:九家询价、两家成交与 4,800 美元