【发布时间】:2020-11-20 09:53:31
【问题描述】:
我想在我的网站上显示灰色的占位符文本几个月没有时事通讯。
Lighthouse(在 Chrome 开发工具中)抱怨这些灰显的项目“没有足够的对比度”,但这是故意的。
有什么方法可以注释元素以向 Lighthouse(和任何屏幕阅读器)解释我的意图 - 即他们应该被忽略吗?
【问题讨论】:
标签: html google-chrome-devtools accessibility wai-aria lighthouse
我想在我的网站上显示灰色的占位符文本几个月没有时事通讯。
Lighthouse(在 Chrome 开发工具中)抱怨这些灰显的项目“没有足够的对比度”,但这是故意的。
有什么方法可以注释元素以向 Lighthouse(和任何屏幕阅读器)解释我的意图 - 即他们应该被忽略吗?
【问题讨论】:
标签: html google-chrome-devtools accessibility wai-aria lighthouse
可以安全地忽略 Lighthouse 中的任何错误。您无需在此处执行任何操作。
根据 WGAC 2.1 中的成功标准 1.4.3 对比度(最低),对于属于“非活动用户界面组件”(包括禁用的文本)的文本或图像,您无需保持颜色对比度。
成功标准 1.4.3 对比度(最低)
文本的视觉呈现和文本的图像的对比度至少为 4.5:1,但以下情况除外:
...
附带:作为非活动用户界面组件一部分的文本或文本图像,纯粹是装饰,任何人都看不到,或者是包含重要其他内容的图片的一部分视觉内容,没有对比度要求。
WebAIM 支持这种解释,其中指出:
WCAG 2.0 定义了四种不需要满足对比度要求的“附带”文本。
非活动:非活动元素,如禁用的提交按钮 ( Submit ),通过其较低对比度的状态在视觉上识别...
【讨论】:
aria-disabled="true" 添加到灰显标签可以阻止 Lighthouse 将其低对比度报告为问题。
aria-disabled 时要小心,因为它会从可访问性树中删除该元素及其所有子元素。我不确定这是否真的是你想要做的。我没有看到像 jQuery UI 或 Material UI 这样的主要框架采用这种方法。
您可以告诉辅助技术忽略不活动的字符串,但这无助于难以阅读这些字符串的用户,因为他们的视力不如平均水平,或者因为他们在光线不好的情况下查看 UI。你不想让他们理解那些字符串吗?如果不这样做,为什么会显示这些字符串?事实上,它们对任何用户有什么好处?如果不显示 UI,会不会更容易理解和导航?
【讨论】: