我正在测试HTML代码标记是否符合可访问性标准:http://achecker.ca/checker/index.php。以下是我收到的错误:
修复:用em或strong替换你的i元素。
<i class="fa fa-search" title="Search"></i> <span class="sr-only">Search</span>
我浏览了官方的Font Awesome无障碍文档(https://cdn.fontawesome.com/help#qa-autoa11y),没有发现任何关于我需要为图标使用不同标签的内容。
5条答案
按热度按时间ycggw6v21#
作为一般准则,您应该使用
em
来强调,而不是i
来强调斜体文字,因为斜体文字通常仅用于暗示强调。在本例中,您将
i
用于 icon,这是毫无意义的(并且会混淆您的可访问性检查工具)。请改用span
。它不会加载任何不适当的语义。sdnqo3pr2#
在严格的语义HTML中,字体图标必须用
span
s标记:Font Awesome examples与
<i>
(斜体标记)一起出现是因为缩写编码。qvtsj1bj3#
我知道这是一个2016年的答案...你可以在你的标签上使用
aria-hidden="true"
,就像这样:<i class="fa fa-search" aria-hidden="true"></i>
,tho.这就解释了:https://rules.sonarsource.com/html/RSPEC-1100和https://www.w3.org/WAI/GL/wiki/Using_aria-hidden%3Dtrue_on_an_icon_font_that_AT_should_ignore的函数
v64noz0r4#
<em>
元素表示其内容的强调。如果你不是在强调某个特定的单词,那么你应该使用
<i>
。<i>
元素更适合用于表示目的。您可以使用
<i>
来标记引文--不是为了强调整个短语或段落,而是为了区分它或使它偏离正文。http://www.silkstream.net/blog/2016/02/b-vs-strong-i-vs-em-whats-the-difference.html
在您的情况下,它可能会建议使用
<em>
,因为一些专门的辅助功能软件可能会更强调处理它们。disho6za5#
我认为
<span>
比<i>
更好