Mik*_*ike 1 html accessibility screen-readers
图像的替代文本是 HTML 101,但是当替代文本与紧随其后的标签相同时,是否有意义?对我来说,使用屏幕阅读器的人听两次似乎是多余的。这是一个例子,所以它非常清楚:
<nav>
<ul>
<li>
<a href="/chameleons.html">
<img src="chameleons_icon.png" alt="chameleons">
Chameleons
</a>
</li>
<li>
<a href="/beardies.html">
<img src="beardies_icon.png" alt="beardies">
Beardies
</a>
</li>
<li>
<a href="/basilisks.html">
<img src="basilisks_icon.png" alt="basilisks">
Basilisks
</a>
</li>
<li>
<a href="/iguanas.html">
<img src="iguanas_icon.png" alt="iguanas">
Iguanas
</a>
</li>
</ul>
</nav>
Run Code Online (Sandbox Code Playgroud)
感谢您的输入!
修正:为了验证,我应该只使用alt=""还是应该使用背景图片?
W3C HTML5 的第 4.7.1.1 节有一个非常庞大的列表,涵盖了img元素及其alt属性的许多常见用例。
您的用例似乎是“一些周围文本的图形表示”。这是规范所说的:
在许多情况下,图像实际上只是补充,它的存在只是加强了周围的文字。在这些情况下,
alt属性必须存在,但其值必须是空字符串。一般来说,如果删除图像不会使页面变得不那么有用,则图像属于这一类,但是包含图像会使视觉浏览器的用户更容易理解这个概念。
因此alt,在您的情况下,该属性可以(并且实际上必须)为空,因为图像仅用于支持已经是主要内容一部分的文本,并且正如您所说,复制内容将是不必要和突兀的:
<li>
<a href="/chameleons.html">
<img src="chameleons_icon.png" alt="">
Chameleons
</a>
</li>
Run Code Online (Sandbox Code Playgroud)
你可以借此一步,标志了一切使用figure和figcaption,省去了需要alt完全的替代文本,然后通过所提供的属性figcaption:
<li>
<a href="/chameleons.html">
<figure>
<img src="chameleons_icon.png">
<figcaption>Chameleons</figcaption>
</figure>
</a>
</li>
Run Code Online (Sandbox Code Playgroud)
为了验证,我应该只使用
alt=""还是应该使用背景图像?
验证器无法告诉您使用空alt属性是否合适;它只能告诉您是否遗漏了alt该上下文中所需的属性。
因此,这取决于您的内容的性质,甚至是个人喜好。如果图像是您内容的一个有意义的部分,强烈建议将图像包含在标记中;background-image用于装饰视觉效果。但这真的取决于你。