【问题标题】:Grayed out links: Lighthouse complains about insufficient contrast灰色链接:灯塔抱怨对比度不足
【发布时间】:2020-11-20 09:53:31
【问题描述】:

我想在我的网站上显示灰色的占位符文本几个月没有时事通讯。

Lighthouse(在 Chrome 开发工具中)抱怨这些灰显的项目“没有足够的对比度”,但这是故意的。

有什么方法可以注释元素以向 Lighthouse(和任何屏幕阅读器)解释我的意图 - 即他们应该被忽略吗?

【问题讨论】:

    标签: html google-chrome-devtools accessibility wai-aria lighthouse


    【解决方案1】:

    可以安全地忽略 Lighthouse 中的任何错误。您无需在此处执行任何操作。

    根据 WGAC 2.1 中的成功标准 1.4.3 对比度(最低),对于属于“非活动用户界面组件”(包括禁用的文本)的文本或图像,您无需保持颜色对比度。

    成功标准 1.4.3 对比度(最低)

    文本的视觉呈现和文本的图像的对比度至少为 4.5:1,但以下情况除外:

    ...

    附带:作为非活动用户界面组件一部分的文本或文本图像,纯粹是装饰,任何人都看不到,或者是包含重要其他内容的图片的一部分视觉内容,没有对比度要求。

    https://www.w3.org/TR/WCAG21/#contrast-minimum

    WebAIM 支持这种解释,其中指出:

    WCAG 2.0 定义了四种不需要满足对比度要求的“附带”文本。

    非活动:非活动元素,如禁用的提交按钮 ( Submit ),通过其较低对比度的状态在视觉上识别...

    https://webaim.org/articles/contrast/#incidental

    【讨论】:

    • 我发现将 aria-disabled="true" 添加到灰显标签可以阻止 Lighthouse 将其低对比度报告为问题。
    • @elevate - 使用 aria-disabled 时要小心,因为它会从可访问性树中删除该元素及其所有子元素。我不确定这是否真的是你想要做的。我没有看到像 jQuery UI 或 Material UI 这样的主要框架采用这种方法。
    • 在这种情况下,如果他将其应用于每个元素,这完全没问题,从技术上讲,它不会做任何事情,因为他的灰色文本应该只是纯文本,因此是惰性的。如果它们是链接,那么这是一个不同的可访问性问题,但无法从图像中分辨出来。
    • 是的,这正是我希望在这种情况下发生的事情。这些元素实际上只是视觉间隔,在可访问性树中不需要。它们是灰色文本,而不是链接。
    【解决方案2】:

    您可以告诉辅助技术忽略不活动的字符串,但这无助于难以阅读这些字符串的用户,因为他们的视力不如平均水平,或者因为他们在光线不好的情况下查看 UI。你不想让他们理解那些字符串吗?如果不这样做,为什么会显示这些字符串?事实上,它们对任何用户有什么好处?如果不显示 UI,会不会更容易理解和导航?

    【讨论】:

    • 它们是视觉间隔。当错过一个月时,月份的布局——它们相对于彼此的位置——保持不变。我可以将空白留空,但我认为灰色的月份名称对于那些可以看到它们的人来说更直观。对于那些看不懂或难以阅读的人,我想他们可以猜到发生了什么。
    • 我只是在讨论难以阅读的文本的一些潜在缺点。评论中的什么似乎是对任何先前评论者的判断?
    猜你喜欢
    • 1970-01-01
    • 2014-02-03
    • 2016-03-30
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 2022-12-05
    相关资源
    最近更新 更多