v1.4.1: 四轮审计 + 回归偶发根治
被问到「这么多组件能保证不出错吗」——诚实回答是不能。改为四轮机器审计 + 实测,把「我检查过了」替换成可复现的数字,并修掉查出的一切真问题。 审计 1 · 契约保真度(358 条 usageHints 回规格原文核对) - 逐字命中 336 条(93.9%);剩余 22 条经人工比对为同义改写(数值确在规格 别处),非发明 - 发现真实不一致:rate.json 选中星色仍写 #FAAD14,规格已在 v1.3.1 改为 #2F54EB —— 修契约与规格同步 审计 2 · 令牌语义正确性 - 检查 1313 处含令牌的颜色声明,0 处属性/令牌角色错配 审计 3 · i18n 翻译质量 - 326 条字典:英文值含中文 0 条、中英相同 0 条、长度异常 0 条 - 修正审计脚本对「副名」的误判(英文模式 .core-en 显示中文是设计意图) - 修复 4 处真漏翻:guide 页标题、Do/Don't 两标题、guide 表格 H5 静态页、 组件名渲染 4 处未做语言感知 审计 4 · 废弃色值残留 - 扫描 91 文件,发现 4 个文件 23 处仍引用 v1.3.1 前旧色值 - 最严重:css.json(For Agents 页宣称的结构化令牌源,机器读取方会拿到 过时颜色)已同步 10 处;README.md 5 处;CHANGELOG 的旧值属历史记录 有意保留 修复 · 低对比度图标 - 逐元素实测对比度扫全站,发现 Rate 未选中星用 --au-color-border(#E8ECF1) 作星色,白底仅 1.19:1 —— 边框色是装饰性色值,作图标不合格 - 新增 --au-color-icon-inactive #8F8F8F(白底 3.23:1,满足 WCAG 1.4.11) 令牌 74 → 75 - 同批扫出另 5 处经核实为禁用态(WCAG 1.4.3 豁免)或深色遮罩白字 (检测器把半透明底当白底),非缺陷 修复 · 回归偶发(第三次根治) - 现象:多次连跑偶发 99.9%,但单页打开总通过 - 根因:收集器 8 秒超时兜底直接记 fail:1;并发 4 个 iframe 抢主线程时 慢页面会撞超时 - 修法:阈值 8s→12s、超时后重试一次、超时与断言失败分开统计(timedOut 字段不计入通过率分母) - 验证:八次连跑全部 100% / 0 失败 / 79 页全通过 / 0 超时
This commit is contained in:
@@ -4,6 +4,40 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [1.4.1] - 2026-09-11
|
||||
|
||||
### 审计轮 — 系统性质疑「这么多组件能保证不出错吗」
|
||||
|
||||
结论:**不能保证零错误**。79 组件 × 5 端 × 79 契约 × 326 译文,靠肉眼和声称都不成立。因此改为**四轮机器审计 + 实测**,把「我检查过了」替换成可复现的数字。
|
||||
|
||||
#### 审计 1 · 契约保真度(358 条 usageHints 回规格原文核对)
|
||||
- 逐字命中 **336 条(93.9%)**;剩余 22 条经人工比对为**同义改写**(如「列表项带复选框」→「列表项带复选框,项高 32px」,数值确实在规格别处),非发明。
|
||||
- 发现一处**真实不一致**:`rate.json` 的选中星色仍写 `#FAAD14`,而规格已在 v1.3.1 改为 `#2F54EB` —— 修契约使其与规格同步(`usageHints` + `anatomy`)。
|
||||
|
||||
#### 审计 2 · 令牌语义正确性
|
||||
- 检查 **1313 处**含令牌的颜色声明,**0 处**属性/令牌角色错配(未出现「background 用文字色令牌」这类)。令牌化在语义上是干净的。
|
||||
|
||||
#### 审计 3 · i18n 翻译质量
|
||||
- **326 条**字典:英文值含中文 **0** 条、中英完全相同 **0** 条、长度异常 **0** 条。
|
||||
- 修正审计脚本对「副名」的误判:英文模式下 `.core-en` 显示中文是**设计意图**(主名英文 + 副名中文),不是漏翻。
|
||||
- 发现并修复 4 处真漏翻:guide 页标题、Do/Don't 两个标题、guide 表格 `H5 静态页`、组件名渲染 4 处未做语言感知。
|
||||
|
||||
#### 审计 4 · 废弃色值残留
|
||||
- 扫描 91 个文件,发现 **4 个文件 23 处**仍引用 v1.3.1 之前的旧色值。
|
||||
- **最严重**:`css.json` —— 它是 For Agents 页宣称的「结构化令牌源」,机器读取方会拿到过时的颜色。已同步 10 处。
|
||||
- `README.md` 设计说明 5 处同步;`CHANGELOG.md` 的旧值属历史变更记录,**有意保留**。
|
||||
|
||||
#### 修复 · 低对比度图标
|
||||
- 用「逐元素实测对比度」扫全部页面,发现 `Rate` 未选中星用 `--au-color-border`(`#E8ECF1`) 作星色,白底仅 **1.19:1** —— 边框色是装饰性色值,作图标不合格。
|
||||
- 新增 `--au-color-icon-inactive: #8F8F8F`(白底 **3.23:1**,满足 WCAG 1.4.11 的 3:1,且视觉最克制)。令牌 74 → **75**。
|
||||
- 同批扫出的另外 5 处低对比度经逐一核实为**禁用态**(WCAG 1.4.3 豁免)或**深色遮罩上的白字**(检测器把半透明底当白底),非缺陷。
|
||||
|
||||
#### 修复 · 回归偶发(第三次根治)
|
||||
- 现象:多次连跑偶发 99.9%(1 页失败),但单独打开该页总是通过。
|
||||
- 根因:收集器的 **8 秒超时兜底**直接记为 `fail: 1`。并发 4 个 iframe 时主线程被抢占,慢页面会撞上超时。
|
||||
- 修法:超时阈值 8s → **12s**;**重试一次**后再判定;**超时与断言失败分开统计**(`timedOut` 字段,不计入通过率分母)。
|
||||
- 验证:**八次连跑全部 100% / 0 失败 / 79 页全通过 / 0 超时**。
|
||||
|
||||
## [1.4.0] - 2026-09-11
|
||||
|
||||
### Changed — 组件层全面令牌化(设计系统的根基修复)
|
||||
|
||||
Reference in New Issue
Block a user