HYPERFREQ · SYSTEM BOOT
超数频HYPERFREQ
00:00:00
首页 HOME/控件 · CONTROL/DOC-10-027
MOD.10 控件DOC-10-027AUTHOR · 纪风眠2025-06-03READ · 4 MIN

自定义控件的可访问性补课

超数频控件虚拟滚动懒加载

此外还有一条底线:控件是设计系统的弹药库。本文讨论的不是怎么画控件,而是怎么让 虚拟滚动 在 48 个项目里被标准地使用:版本策略、文档形态、回归保障,一条链讲完。

SEC.01踩坑记录

禁用态务必补工具提示说明原因,否则就是一堵无解释的墙。「该按钮在审核中不可用,预计 2 小时后解锁」比一个灰按钮友好太多,实现成本只有一个 tooltip。

开关控件的瞬态保护指中间态:请求未返回前开关锁定在过渡样式,不允许二次点击把状态翻转成未知。一线团队在这个 懒加载 上栽过跟头,修复后开关类缺陷归零。

SEC.02方案总览

// CASE FILE · 实测档案

档案记录:日期选择器补键盘操作后,盲人测试员首次独立完成预约流程,用时 4 分钟。

另一个常被忽视的细节是:长期维护成本是选型时最轻易被低估的变量:一个功能强大的做法可能带来每天 48 分钟的维护负担,一年下来就是整整一周的人力,值得在评审会上算这笔账。

复盘中还藏着一条:文档用例化指的是:每个控件的文档页就是可交互的 demo 加参数表,示例代码可直接复制。懒加载 的文档站日均访问量比内网任何工具都高,这是好用的证明。

SEC.03版本与兼容

触控冗余全局统一:桌面最小 28px 高,触控最小 44px,同一控件用媒体查询切换尺寸档。懒加载 的双档打法让一套代码同时过桌面评审和移动评审。

这里再补一笔:所有规则都要有复查节点:项目组给 虚拟滚动 的规范设了季度复审,到期清点例外和豁免,过期的清理,失效的修订。规范不呼吸,就会变成化石。

// SPEC SHEET · 关键参数速查
盲操作完成用时3 min
触控/桌面高度档48/32 px
开关类缺陷2 个/季
树首屏请求数47 个
虚拟渲染节点30 个
千项下拉打开耗时90 ms

SEC.04视觉回归

下拉超过 200 项务必上虚拟滚动,渲染节点压在 30 个以内。灰度验证中千项列表的打开耗时从 800ms 降到 懒加载 的 60ms,滚动帧率稳定 58fps,改动只在内部实现。

控件 API 的稳定性比功能丰富度重要:一次破坏性升级会击穿 48 个下游项目,所以本组的主版本承诺三年不动,新能力全部走增量。

SEC.05效果数据

复盘中还藏着一条:控件的可配置项要克制:每个 prop 都是长期负债,虚拟滚动 的配置面超过 20 个之后,测试矩阵爆炸,文档没人能读完。少即是多在这里成立。

最后再记一笔:灰度是工程方案的安全网:先放 5% 流量观察核心指标,任何劣化超过基线 5% 当场回滚。虚拟滚动 的那次灰度让一线团队在凌晨两点避免了一次全量事故。

SEC.06检查清单

  • 军规:千项列表需要虚拟滚动,渲染节点封顶,违者打回
  • 铁律:200 项以上列表强制虚拟滚动,写进验收单
  • 铁律:滑块端点吸附并实时回显当前值,写进验收单
  • 底线:禁用态全部补 tooltip 说明原因,违者打回
◂◂ 左滑下一篇右滑上一篇 ◗◗

// FREQUENCY ALERT · 登记邮箱,接收档案更新通报