返回 Bug 清单
BUG-1031project-92中已修复backend-logic

B-19 气泡内元信息几乎不可见(实测 1.55:1)

发现:2026-10-09验证:2026-10-09置信度:70%

症状

commit f98c828dda7e (2026-10-04) fix(readability): B-19 气泡内元信息几乎不可见(实测 1.55:1)

根因

根因(三重叠加):

修复方案

修复 40 行,删除 9 行。改动文件: client/src/components/MessageBubble.vue, client/src/styles/global.css

错误签名

fix(readability): B-19 气泡内元信息几乎不可见(实测 1.55:1) 根因(三重叠加):
1. --st-text-tertiary 在 global.css 里**从未定义**(grep -c 返回 0),
   4 处 var() 引用全靠 fallback 硬编码兜底 → 主题切换时完全不变
2. 颜色用页面级灰 --st-text-secondary #71717a, 而非气泡自身文字色
3. 父级 opacity 0.55 再压一层

浏览器实测: 正文 10.01:1 通过, 时间戳 2.76:1 不达标,
复制按钮 1.55:1 严重不达标(WCAG AA 要求 4.5:1)。

修法: 改用 color-mix() 从**气泡自身文字色**派生。关键约束是
气泡明暗在两个主题间**反转**(浅色 user 深/ai 浅, 深色相反),
所以任何"写死黑"或"写死白"的方案必然有一边失效 —— 我第一版就
写死了白色, 静态审计立刻报出深色主题 1.03:1。引用同一个变量
意味着结构上不可能与气泡配色失配。

顺带补齐两个悬空变量:
  --st-

技术信息

来源项目

project-92

涉及文件

client/src/components/MessageBubble.vue, client/src/styles/global.css

标签

git-sweep, auto-ingested, project-92, mcp-reported, source-agent