关于 `alt` 属性文本的一些事

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅程的每个阶段提供云产品。 立即开始使用 200 美元的免费额度!

我相信您了解 `alt` 属性文本。 它是图像标签上的一个属性,其重要任务是为任何原因无法看到图像的人描述该图像是什么。 请使用它们。

我不想贬低请使用它们这条信息,但最近在我的日常工作中出现了一些有趣的与 alt 属性文本相关的事情。

当您不需要时

Hidde de Vries 最近撰写了 您并不总是需要替代文本

但是,当图标旁边有文字时,例如“注销”,图标本身就是装饰性的,不需要替代文本。

<button type="button"><img src="close.svg" alt="" /> Close</button>

在这种情况下,我们可以将 alt 属性留空,否则屏幕阅读器会宣布“按钮 - 关闭 关闭”。

我认为在一个理想的世界里,因为该图标完全是装饰性的,所以通过 CSS 应用它将是理想的,但要点仍然是:如果您必须使用图像,则 `alt` 属性文本弊大于利。

我们可以免费获得它吗?

计算机现在非常聪明。 也许它们可以查看我们的图像并提供描述,而无需我们手动键入它们。

Sarah 的演示使用 计算机视觉 API 来做到这一点。

`
` 元素怎么样?

我不想这么说,但我个人不太擅长为 CSS-Tricks 上的博客文章中的图像编写 alt 属性文本描述。 这是一个我们需要通过流程更改来解决的问题。 不过,我们经常使用 `<figcaption>` 来添加与图像相关的文本。 这些文本的编写方式对我来说感觉就像 alt 属性文本。 它描述了图像中发生的事情。

我四处询问了这个问题,Zell Liew 告诉我他也是这么做的。

我实际上也有同样的问题。 我大部分的 `

` 用于描述图像,以便读者了解图像的含义。

在我看来,我认为将 `

` 中的精确副本放到 alt 属性文本中会更糟糕,因为阅读 alt 属性文本的人最终会重复阅读相同的描述两次。

我还与 Eric Bailey 进行了交谈,他有一个有趣的想法。

<figure>
  <img src="screenshot.png" alt="Screenshot of Chrome displaying a split view. On the left is a page full of image thumbnails comparing pre and post-optimization filesize. On the right is Chrome developer tools showing paint rasterize duration for the images. With a 6x CPU slowdown, the longest Paint Raster took 0.27ms, AKA 0.00027 seconds.">
  <figcaption aria-hidden="true">
    With a 6x CPU slowdown, the longest Paint Raster took 0.27ms, AKA 0.00027 seconds.
  </figcaption>
</figure>

这个

  • 保留图形样式
  • 避免使 alt 属性为空,这对于某些屏幕阅读器来说可能存在问题
  • 使描述靠近内容并向屏幕阅读器用户传达要点
  • 向视觉读者传达重要的要点,而无需为屏幕阅读器用户重复阅读
  • 使用设计用于表单之外的 aria 属性

我想强调一下,他认为这只是一个想法,并且尚未得到更广泛的无障碍社区的严格审查。 如果你们中有任何人在阅读,您有什么想法?

Eric 的演示使用了比 `

` 更详细的 alt 属性文本,但即使它们相同,这种模式似乎也没问题。

小提示:Twitter 有 alt 属性文本

但您需要 启用此功能。