我非常愿意修复出现的任何无障碍问题。你是通过 Chrome 内置的 Lighthouse 审计发现这些问题的,还是通过其他方式?
太棒了!
是的,我正在使用 Google Lighthouse 审计。
将此内容拆分为独立主题,以便更深入地探讨问题。从……开始:
主题列表
除了对比度问题(目前可通过 CSS 修复)之外,还存在两个问题:
- 第一个问题涉及列表项,似乎是审计工具的一个 bug,或者是审计工具在渲染页面时出现的某种异常?这些列表项确实是包含在内的。

-
第二个问题是“
[aria-*]属性没有有效值”。这具体指出了我们的分类和标签下拉菜单的问题……问题似乎出在aria-haspopup上。根据这里的示例 ARIA Authoring Practices Guide | APG | WAI | W3Caria-haspopup="true",而不是仅仅使用aria-haspopup。看起来我们之前没有将
true作为字符串传递,我已在此处修复:True should be a string to display properly in aria-haspopup · discourse/discourse@b848bd4 · GitHub
主题
一个问题(除了对比度以及之前提到的 li 非问题)
链接没有可识别的名称
可识别、唯一且可聚焦的链接文本(以及用作链接时图像的替代文本)可以改善屏幕阅读器用户的导航体验。了解更多。
两处出现:
-
每个帖子都会获得一个没有尺寸的
a.tabLoc元素。这些似乎是为了用键盘导航帖子?由于对屏幕阅读器无用,因此使用aria-hidden: true隐藏。Hide empty anchor tag from screen readers · discourse/discourse@bdaf07a · GitHub -
用于表示主题为私信的信封图标也会链接到您的私信收件箱,而我们之前为所有主题加载了该链接……即使它们不是私信。我已将该链接改为仅针对私信,并添加了 title 属性和 aria-label。Don't load PM icon in title unless topic is a PM · discourse/discourse@1983f0d · GitHub 和 UX: Add title attribute and aria-label to PM icon link · discourse/discourse@aa71818 · GitHub

