aDesigner 不支持生成 XML 无障碍报告,所谓 XML 报告实为 axe-core、WAVE CLI 等第三方工具扫描其导出 HTML 所产生;其输出缺语义属性,需手动补全 aria-label、label、键盘导航等。
aDesigner 并不原生提供 XML 格式的无障碍检查报告——这是个常见误解。你看到的所谓“XML 报告”,极大概率是某款第三方无障碍扫描工具(如 axe-core、WAVE CLI、or HTML_CodeSniffer)导出的 XML 结果,被误认为是 aDesigner 自带功能。目前所有公开资料与官方文档(截至 2025 年底)均未表明 aDesigner 具备生成或解析 XML 无障碍报告的能力。
下面直接说清楚怎么查、怎么看、为什么容易看错:
很多团队用 aDesigner 做 UI 快速原型,再把导出的 HTML 丢进其他工具做合规扫描——这时 XML 报告实际来自 axe-cli 或 pa11y。判断依据很直接:
、 或 wave-api 等根节点名,基本能锁定工具aDesigner 导出的 HTML 默认不含 role、aria- 属性,也无自动 关联逻辑,所以如果 XML 报告里大量报 label missing 或 aria-label required,恰恰说明它测的是 aDesigner 输出的“原始稿”,而非 aDesigner 自己在分析axe https://localhost:3000 --reporter=xml > report.xml,那和 aDesigner 没半毛钱关系主流无障碍工具导出的 XML 都遵循类似结构。别被嵌套吓到,盯住这三处就够了:
下的 id:对应 WCAG 准则,如 label 表示 WCAG 1.3.1,color-contrast 对应 1.4.3
里的 target:CSS 选择器路径,例如 ["#search-input"],直接定位到 HTML 中出问题的元素 内容:不是“建议”,而是明确缺陷描述,如 Form element does not have a name available to an accessibility API —— 这就是在说 缺少 name 或 aria-label
Ensures every form element has a label ["#email-field"] Form element does not have a programmatically associated label
因为 aDesigner 生成的界面代码天生缺语义支撑:
place(x=, y=) 绝对定位,XML 报告里会密集出现 focusable element not included in keyboard navigation order 类错误aria-label、无 for/id 配对,label 规则失败率接近 100%color-contrast)常报红——aDesigner 默认主题色未按 WCAG A
AA 级(4.5:1)校验,但 XML 不告诉你该调哪个变量,只标出 Submit
拿到 XML 后别急着改代码。先做两件事:
Accessibility Insights for Web 插件点选报错元素,它会高亮真实 DOM 并给出修复建议(比如“添加 ”) 提取出来,批量 grep 你的 HTML 源码,确认这些元素是否真由 aDesigner 导出——如果是,就得手动补语义,不能指望重装 aDesigner 解决line 属性)对 aDesigner 无效,因为它导出的是扁平 HTML,没有原始 Python/Tkinter 行号映射aria-、label、键盘导航顺序、焦点管理,都得你一一手动注入。