v1.4.0: 组件层全面令牌化(设计系统根基修复)

问题
- 79 个组件的 844 个颜色属性里,只有 2 个(0.2%)引用令牌,
  788 个(93.4%)硬编码 hex
- 后果:改令牌组件不跟着变、主题定制器对组件无效、For Agents 页写的
  「所有色值必须取自 au-* 变量」形同虚设
- 这是本项目第五次「声称≠实现」,且动摇了设计系统的根本

两层令牌化(此前只改了从未被加载的文件,走了弯路)
- 组件样式表 frameworks/*.css:915 处 / 78 文件
- 演示页内嵌 <style>(实际生效的样式层):287 处 / 51 文件
- 内嵌样式层是决定性的:演示页只 link colors_and_type.css + 自己的 CSS,
  而多数页面把关键样式写在 <style> 块里 —— 只改 CSS 文件不生效

安全策略
- 只替换颜色属性值位置的 hex(color/background*/border*/outline*/fill/stroke)
- 跳过 rgba()/渐变/url() 复合值;不动 SVG 属性与 JS 数据(色板数组)
- 歧义色值按属性语义消解(#FFFFFF 作 color→text-inverse,作 background→card-bg)
- 幂等,可重复运行

补齐令牌语义(71 → 74)
- --au-color-text-tertiary #595959(规范未定义、实现补齐,7.00:1)
- --au-color-text-disabled #BFBFBF(规范定义于组件1/2.txt;WCAG 1.4.3 豁免)
- --au-color-border-strong #F0F0F0(规范未定义、实现补齐)
- 同步 legacy 别名;修复 colors_and_type.css 一处重复注释起始行

修复
- Countdown 首帧空白:setInterval(render, 1000) 首次执行要等 1 秒,
  期间容器为空。改为定义函数后立即执行一次再挂 interval

验证(本轮核心验收)
- 逐组件验证「改令牌 → 元素是否跟着变」:79/79 全部响应
- 过程中修正两处测量方法缺陷(初测 40/79 是误报):
  ① 选择器 .demo * 在无 .demo 容器的页面抓不到元素
  ② 探针令牌选错 —— Breadcrumb 用 text-tertiary 而只改了 text-body
- CSS 结构完整:158 个文件括号平衡、var(--*) 引用全部有定义
- 回归保持 100%:961 断言 / 0 失败 / 79 页全通过,三次连跑一致
This commit is contained in:
aurora-admin
2026-09-11 17:29:30 +08:00
parent cbed5ba7ca
commit 382ca79b66
139 changed files with 946 additions and 908 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3
View File
@@ -14,9 +14,12 @@
--au-color-text-title: #1F2329; /* 标题文字 · 15.4:1 */
--au-color-text-body: #262626; /* 正文文字 · 14.0:1 */
--au-color-text-secondary: #6E6E6E; /* 次要文字 · 5.10:1(原 #8C8C8C 仅 3.36:1) */
--au-color-text-tertiary: #595959; /* 三级文字/描述 · 7.00:1(规范未定义,实现补齐) */
--au-color-text-placeholder: #767676; /* 占位文字 · 4.54:1(原 #BFBFBF 仅 1.84:1) */
--au-color-text-inverse: #FFFFFF; /* 反色文字(品牌色背景上的白字) */
--au-color-text-disabled: #BFBFBF; /* 禁用态文字 · WCAG 1.4.3 对禁用控件豁免(规范定义于组件1/2.txt) */
--au-color-border: #E8ECF1; /* 分割线/边框 */
--au-color-border-strong: #F0F0F0; /* 更强的实线边框(规范未定义,实现补齐) */
--au-color-success: #2E7D0A; /* 成功色 · 5.18:1(原 #52C41A 仅 2.27:1) */
--au-color-warning: #8C5A00; /* 警告色 · 5.87:1(原 #FAAD14 仅 1.90:1) */
--au-color-error: #CF1322; /* 错误色 · 5.57:1(原 #F5222D 仅 4.08:1) */