【发布时间】:2015-09-27 20:10:47
【问题描述】:
简单的问题。有人告诉我,例如使用这个
<span class="fa-stack fa-lg">
<i class="fa fa-cloud fa-stack-2x"></i>
<i class="fa fa-cog fa-stack-1x"></i>
</span>
(这将导致云的中心有一个齿轮),对于正确可访问的 html 是禁止的,因为两个 <i> 标签是空的。
但是,如果不借助图像,你怎么能做那种事情呢?我的目标是在页面中实现尽可能少的图像,这只能通过字体图标来实现。
【问题讨论】:
-
您为什么要避免使用图片?与 img 元素相比,图像如何以背景图像或使用私有 unicode 空间生成的内容的形式呈现?
-
澄清一下,这些不是空元素。真正的“空”元素的定义是,根据标准,不能有任何子元素,例如
<input />、<hr />等。 -
@BenM 他们没有子元素,但也没有任何文本内容。就像我把 放在里面什么都没有
-
“这将导致云的中心有一个齿轮” - 任何这样的图标对于看不到它的人来说显然是无用的,所以如果你要使其可访问,您将必须提供文本替代项。如何隐藏“看到”用户的文本是一个已经广泛讨论的话题,所以对此进行一些研究。 (图像替换将是一个很有前途的关键字,即使在这种情况下它不是图像而是字体图标,但它是同一个问题。)
-
所以这个“中间有一个齿轮的云”纯粹是装饰性的,没有任何意义吗?您没有将它用作触发某些功能或类似功能的按钮吗?在这种情况下,作为图像,它应该作为背景图像插入,而不是首先通过
img元素插入;对于一个无意义的字体图标,我在这里看不到任何可访问性问题,因为如果它纯粹是装饰性的,那么没有可以“访问”。
标签: html accessibility screen-readers