Font Awesome可访问性问题。使用<em>标签代替<i>

时间:2016-10-26 14:15:31

标签: html css font-awesome wcag2.0

我正在测试我的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),并没有发现我需要使用不同的图标标记。关于这个的任何想法?

4 个答案:

答案 0 :(得分:9)

作为一般准则,您应该使用em来强调而不是i用于斜体文本,因为斜体文本通常仅用于暗示强调。

在这种情况下,您使用i作为图标,这是无意义的(并且会混淆您的辅助功能检查工具)。请改用span。这并没有加载任何不恰当的语义。

答案 1 :(得分:3)

在严格的语义HTML上,字体图标必须用span标记:

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" />
<span class="fa fa-camera-retro"></span>

由于缩写编码,

Font Awesome examples<i>(斜体标记)一起出现。就这么。

答案 2 :(得分:2)

我知道这是2016年的答案...您可以在标签上使用aria-hidden="true",例如:<i class="fa fa-search" aria-hidden="true"></i>

对此进行了解释: https://rules.sonarsource.com/html/RSPEC-1100https://www.w3.org/WAI/GL/wiki/Using_aria-hidden%3Dtrue_on_an_icon_font_that_AT_should_ignore

答案 3 :(得分:1)

  

<em>元素表示其内容的重点强调。

如果您没有强调强调特定单词,那么您应该使用<i>

  

<i>元素更适合用于演示目的。

您可以使用<i>标记引号 - 不是强调整个短语或段落,而是区分它或将其与主文本抵消。

http://www.silkstream.net/blog/2016/02/b-vs-strong-i-vs-em-whats-the-difference.html

在您的实例中,它可能会建议使用<em>,因为某些专门的辅助功能软件可能会更加强调它们。