跳到主要内容
文心 · 万形

校验

24 门检查:仓库与产物检查、故障夹具反证,以及对真实公开契约的可运行查询。一个不可能失败的检查比没有检查更糟——它的绿色会被当成证据引用。

24 门

门查什么它抓到过什么
check:tokens每个 var(--x) 都能解析到定义重构前的示例引用了 52 个从未定义的 token
check:colors每个前景色对它可能落在的每个面测对比度,加语法色板与两两 ΔE;主题开关必须接到 color-scheme代码块注释 2.87:1、标点 3.52:1、元数据行 4.41:1,两个主题都不达 AA
check:forbiddenforbidden.json 里六条可执行禁令三处 2px 逻辑属性边框长期畅通
check:components契约解析 + 契约在文档中可见 + 每个 wx- 类可解析站点在用 7 个 kit 里不存在的类
check:contractskit/wenxin.json 与来源逐字节一致—(新增)
check:site标签配平、单一 h1、标题不跳级、链接与锚点解析一个游离 </div> 让半页脱出布局栅格
check:site:selftest站点检查器必须拒绝空目录、断裂资源、错误导航与失效锚点首页有“目录”按钮却没有可打开的目录
check:pattern-tool工具页从真实 kit/wenxin.json 查询 71 条公开契约空查询、无结果和请求失败没有恢复路径
check:calendar-demo日历示例切换日期时,选择态与状态说明必须同步按钮有 aria-pressed,点击后却不改变选中日期
check:entry-demo开关状态与滑块文字读数必须同步开关看似可点却不更新 aria-checked;滑块读数停在初始值
check:overlay首条 toast 前已有稳定、polite、atomic 的 live region首条消息与 live region 同时创建,读屏器可能漏报
check:markdown-admonitionsGitHub alerts 的容器、标题与语义变体必须同样被样式覆盖只给 .markdown-alert-tip 局部上色,却没有可读的提示块结构
check:llms索引与来源一致,且每条链接可解析—(新增)
check:a11y地标、标签、可访问名、唯一 ID、ARIA 引用、原生控件契约导航页两个 id="skip" 让目录落到错误标题;带 href 的假禁用链接仍可由键盘激活
check:cli11 种调用行为正确,含一份应通过与一份应失败的合同审计;files/exports/bin 路径都存在只测到任意文件的失败 JSON,却没有测到合法消费者审计
check:render-audit审计器的正反夹具,以及外链 CSS 未检查范围的警告审计矩阵读错字段,每页硬失败却显示 0 failing;外链样式被静默忽略
check:a11y:selftest11 种故障必须同时被拒:无标签、断裂 ARIA、缺 alt、重复 ID、隐式按钮、缺状态、错误日历状态、假禁用链接、不可聚焦或无名称的宽表—
check:components:selftest无样式的类名必须被拒—

反向控制是这里的核心纪律

这个仓库有过三次"绿色掩盖真实缺陷":

  • 审计矩阵读了一个从不存在的字段,每个示例都硬失败,而看板打印"0 failing"
  • 五个文字 token 不达 AA,最低 1.54:1,而当时没有任何检查测量过 token 数值
  • 对比度只对页面底色测,代码块在两个主题下都不合格,绿了整个仓库生命周期

三次的形状一样:检查没有洞,是检查的坐标系少了一维。 所以规矩是——你新加的每个检查,都要先故意制造它该抓的缺陷,确认它真的失败,再声称通过, 并在提交信息里写明怎么验的。

误报同样致命

check:components 的类名解析门第一次运行时把五个页面原型全报成未定义—— 它的 CSS 来源清单漏了 patterns/。比检查对象窄的检查器会产生误报, 而误报是让一道门被无视的最快方式。修好才敢用。

审计你自己的页面

完成本地安装后,在消费者项目根目录运行:

npm exec --no -- wenxin audit dist/<slug>/index.html

上面 24 门是这个仓库的自检,不会跑在你的页面上。 你的页面用 audit——它读同一份 token 真源,所以 token 一变,判定标准跟着变, 不会留下一份硬编码的副本慢慢腐烂。它只覆盖合同、DOM 与内联样式;外链 CSS、计算后样式、读屏器和五条判断规则仍须人工验证。

还没有被检查覆盖的

诚实记录比虚假的完整清单有价值:

  • 5 条需判断的规则——卡片几何、色块背景分区、强调色预算、填充主动作语义、装饰插画。原因见给 agent 用。
  • 窄屏渲染——已有最近一次本地 390px 手工走查,但尚未形成可复放的自动视觉回归基线。
  • forced-colors——Windows 高对比模式下这套依赖发丝线与墨色的语言表现如何,尚未实测。