何时可以在HTML图像上保留alt文本为空(如果有的话)?

时间:2014-05-07 19:37:06

标签: html html5 image alt

到目前为止,我的理解是alt属性是必需的,不应该留空。这似乎已在现有问题中得到确认,例如this one

但是,今天在阅读HTML spec时,我注意到以下内容:

  

单个图像可以具有不同的适当替代文本   取决于具体情况。

     

在以下每种情况下,使用相同的图像,但alt   文字每次都不同。图像是图像的纹章   位于瑞士日内瓦州的卡鲁日市。

     

此处用作补充图标:

<p>I lived in <img src="carouge.svg" alt=""> Carouge.</p>

继续显示其他带有alt文本的示例,但在此(以及其他一些示例)中,alt文本丢失了。

规范后来说(强调我的)

  

除非另有说明,否则必须指定 alt属性   并且其值不能为空;价值必须合适   替换图像。

使用alt=""可以吗?如果是这样,何时可以接受?如果图片不需要alt文字,那么它应该是CSS背景图片吗?

注意:这是基于WHATWG HTML Living Standard,而不是W3C HTML5规范。

1 个答案:

答案 0 :(得分:24)

何时将alt属性设为空

通常,alt属性是必需的;但是,有几种情况下HTML规范说可以将alt属性的内容留空。 alt属性是文本等效于图像,这意味着如果图像的含义已经被周围的文本封装,它应该只为空。

周围文本(link)

的图形表示

将alt文本视为图像在不可用的情况下应传达的内容非常重要。如果图像可以通过它周围的文本进行汇总,那么它应该具有空alt属性,因为冗余不会有益。

示例包括重复周围文本的流程图或图表。

如果要使用标题,则该标题应包含在title元素中或使用<figcaption>。如果图表可以通过页面上其他地方没有的信息来描述,则应使用alt。该规范说明了应该避免这种重复的原因:

  

在这样的替代文本中包含标题是没有用的,因为它有效地复制了没有图像的用户的标题,嘲讽他们两次但没有帮助他们,只要他们只阅读或听到标题一次。

装饰图片(link)

通常,规范建议使用CSS background-image,但澄清在某些情况下,这可以通过标记完成,例如诗歌旁边的绘画或景观照片在一个事件。在这些情况下,图像是内容,但该内容仅在用户能够看到图像时才相关。

形成更大图片的图像组(link)

没有链接

只有一张图片应包含alt文字,以避免向无法看到图片的用户重复发送文字。

使用链接

规范建议使用图像映射,但如果图像被切片,则每个链接必须有一个图像带有alt文本。

何时完全省略alt属性

在某些情况下,备用文本无法知道或不必要,在这些情况下,alt=""不准确,因为它意味着图像不会添加任何内容。 HTML规范警告:

  

如果作者有能力提供真正的替代文本,那么省略alt属性是不可接受的。

但是,它承认可能省略alt的几种情况。

未知alt (link)

在某些情况下,例如盲人用户的博客或照片共享网站,其中元数据不包含有用的信息,alt可能是未知的。

在这些情况下,使用title属性或<figcaption> 必需。虽然可能不知道图像的确切细节,但仍应包括一些解释性文本。在这种情况下,<figcaption>是首选,因为

  

目前不鼓励依赖title属性,因为许多用户代理不会按照本规范的要求以可访问的方式公开属性。

可以查看图片(link)

的已知收件人

如果您编写的文档只能由少数已知收件人查看,而且所有收件人都知道能够查看图像,则alt属性可能会被省略。建议无论如何都要包括alt,以防转发电子邮件或文档。

附录:CSS背景图片怎么样?

如果图像不是内容,则应该是背景图像。有关<img>background-image背后的基本原理的细分,请查看When to use IMG vs. CSS background-image?