我一直在使用 Bootstrap 来构建我的网站,但在这样做和研究 SEO 的过程中,我发现使用i带有字形图标的标签在技术上并不是“有效”的 HTML。是否有明确的规则规定i可以以这种方式使用标签而不影响标记有效性而不影响 SEO?
作为此问题的一部分,我还试图满足有关我的锚文本未描述其目的地的投诉:
<a href="@Url.Action("Accountant", "Service")">
<div class="service-icon">
<div class="icon-book-1 icon-medium-effect icon-effect-2"></div>
</div>
</a>
Run Code Online (Sandbox Code Playgroud)
这会产生所需的视觉效果,但是我无法添加锚文本,否则它显然会显示在屏幕上。通常情况下,图像会在锚点内使用,并且我可以显示alt文本,所以我被困在最好放置这个“描述性文本”的位置。
不要\xe2\x80\x99t 使用i.
该i元素的含义不适用于一般图标:
\n\n\n[\xe2\x80\xa6] 一段以替代语气或语气的文本,或者以其他方式偏离正常散文,以指示不同文本质量的方式,例如分类名称、技术术语、惯用短语另一种语言、音译、思想或西方文本中的船名。
\n
有些人使用(d)作为显示图标(通过CSS)的钩子的原因i可能是:
使用span代替,这是一个无意义的元素。
如果图标是相关内容(对于理解/使用页面很重要),请考虑使用该img元素,它允许您使用该alt属性。
您应该仅将 CSS 用于装饰性图标。如果\xe2\x80\x99s 不可能:
\n\n如果您链接此图标,并且该链接不包含任何内容(无文本,无img,\xe2\x80\xa6),即它仅包含一个空元素,那么您应该在 HTML 中提供一些内容。否则,不支持 CSS 的访问者、屏幕阅读器用户等将无法使用您的链接。如果出于设计原因您不想包含内容,请在视觉上隐藏它。我的相关答案中有更多详细信息。