iter(g338): toast 读屏可达与抢占播报

This commit is contained in:
HIsheR
2026-10-27 02:14:56 +08:00
parent ea803196bf
commit 28972a0e8e
2 changed files with 11 additions and 2 deletions
+9
View File
@@ -3428,6 +3428,15 @@
"motivation": "本轮修输入件可访问名时发现口径靠人记:13 个组件都有 ariaLabel,commandPalette 的搜索框却只有 role=combobox + aria-controls,没有名字——读屏进命令面板只念「编辑框」,用户不知道搜什么。这类缺陷肉眼看不出来(placeholder 看着像有名字),只有读屏用户会撞上,必须让门禁兜住。",
"acceptance": "① ua verify 新增 checkAriaNames:扫描皮肤包源码里含 role: 'combobox' / role: 'slider' / type: 'range' 的创建块,块内既无 aria-label / aria-labelledby、紧随其后 3 行也没有 setAttribute('aria-label') 即报错,报出文件:行号;② 窗口只取单次 h() 调用块(回退到 h('input|textarea|select'、前进到收尾行),避免把相邻元素的 aria-label 误算成本控件的名字;③ 实跑抓到 commandPalette 一处并修好(aria-label 取 placeholder,缺省「搜索命令」);④ AGENTS 的门禁说明与 verify 成功串同步;⑤ npm run check 全绿。",
"notes": ""
},
{
"id": "g338",
"domain": "tune",
"title": "toast 通知读屏可达",
"motivation": "toast 目前只走视觉通道,读屏用户完全感知不到通知的出现与消失",
"acceptance": "toast 容器带 aria-live=polite,error 级别用 role=alert 抢占播报;audit 与 verify 全绿",
"status": "open",
"notes": ""
}
]
}