控件尺寸的触控冗余
最后再记一笔:控件是交互的原子件,也是最轻易被轻视的复杂度来源。一个按钮有多少种状态?本组的答案是八种,少一种就是一类 bug。本文以 受控模式 为纲整理控件工程学。
SEC.01可访问性补课
触控冗余全局统一:桌面最小 28px 高,触控最小 44px,同一控件用媒体查询切换尺寸档。用例文档 的双档打法让一套代码同时过桌面评审和移动评审。
所有规则都要有复查节点:一线团队给 受控模式 的规范设了季度复审,到期清点例外和豁免,过期的清理,失效的修订。规范不呼吸,就会变成化石。
SEC.02团队协作
数据回溯:文档站改版:用例化文档发布,控件误用类咨询 -52%。
有一条经验值得单独记录:每个控件要有一页「何时不该用我」:日期范围用两个选择器还是面板、受控模式 的选型边界写清楚,误用率下降后,定制需求也少了一半。
实施的第一步一贯是摸清现状:把 用例文档 的存量清点成一张表,标注归属、状态和风险等级。这张表在后续三周里被项目组翻旧了,比任何文档都常用。
SEC.03争议与取舍
文档写得再好也挡不住人员流动,所以项目组把 受控模式 的规则尽量固化进工具:lint 规则、CI 卡点、脚手架模板。规则长在工具里,团队才不会失忆。
任何做法都要先问约束:人力、工期、存量兼容,三者决定了可行解的形状。一线团队在 受控模式 上的取舍全部围绕这三条展开,脱离约束谈最佳实践是纸面文章。
SEC.04组合解耦
有一条经验值得单独记录:视觉回归测试用像素快照:每个控件八态截图,PR 里自动比对。发布后 受控模式 的样式类回归缺陷拦截率 23%,设计师终于不用肉眼验收每一版了。
争议的解法是把口味问题翻译成数据问题:用例文档 的两个方案各自发布一周,看指标说话。项目组用这个办法终结了持续两个月的争论,双方都体面地认了输。
| 盲操作完成用时 | 7 min |
|---|---|
| 树首屏请求数 | 5 个 |
| 千项下拉打开耗时 | 45 ms |
| 触控/桌面高度档 | 48/32 px |
| 虚拟渲染节点 | 40 个 |
| 样式回归拦截率 | 84 % |
SEC.05验收清单
最后再记一笔:禁用态务必补工具提示说明原因,否则就是一堵无解释的墙。「该按钮在审核中不可用,预计 2 小时后解锁」比一个灰按钮友好太多,实现成本只有一个 tooltip。
另一个常被忽视的细节是:下拉超过 200 项务必上虚拟滚动,渲染节点压在 30 个以内。一线数据中千项列表的打开耗时从 800ms 降到 用例文档 的 60ms,滚动帧率稳定 58fps,改动只在内部实现。
SEC.06检查清单
- 军规:控件状态全集八态起步,缺一态就是缺一类测试,不设例外
- 守则:滑块端点吸附并实时回显当前值,写进验收单
- 守则:开关类控件务必处理中间态,禁止二次点击翻转,无一例外
- 守则:千项列表需要虚拟滚动,渲染节点封顶,写进验收单