Font Awesome 可访问性问题。使用 <em> 标签而不是 <i>

Font Awesome accessibility issue. Use <em> tags instead of <i>

我正在测试我的 HTML 代码标记是否符合可访问性标准:http://achecker.ca/checker/index.php。以下是我得到的错误:

Repair: Replace your i elements with em or strong.

<i class="fa fa-search" title="Search"></i> <span class="sr-only">Search</span>

我浏览了有关辅助功能的官方 Font Awesome 文档 (https://cdn.fontawesome.com/help#qa-autoa11y),但没有发现任何提及我需要为图标使用不同标签的内容。对此有什么想法吗?

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

在这种情况下,您将 i 用于 图标 ,这是无稽之谈(并且混淆了您的辅助功能检查工具)。请改用 span。这并没有加载任何不适当的语义。

The <em> element represents stress emphasis of its contents.

如果你不强调强调某个特定的词,那么你应该使用 <i>

The <i> element is more appropriately used for presentation purpose.

您可以使用 <i> 标记引文 – 不是强调整个短语或段落,而是将其与正文区分开来或偏移。

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

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

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

<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>(斜体标签)一起出现。就这样吧。

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

解释如下: https://rules.sonarsource.com/html/RSPEC-1100 and https://www.w3.org/WAI/GL/wiki/Using_aria-hidden%3Dtrue_on_an_icon_font_that_AT_should_ignore