使用aria角色属性而不是语义HTML标记来避免默认样式

时间:2018-01-28 20:00:27

标签: html seo wai-aria

我经常遇到使用某个HTML标记在语义上有意义的实例(即:ul列表),但我不希望该标记的默认样式(填充,边距等)。因此,我倾向于使用.unstyled类来对付某些标记的默认样式(ul.unstyleda.unstyled等。)。

为了避免所有这些额外的实用程序类,我提出了仅使用<div>标记和适当的aria role属性的想法。因此,

<ul class="unstyled">
  <li>One</li>
  <li>Two</li>
  <li>Three</li>
</ul>

变为

<div role="list">
  <div role="listitem">One</div>
  <div role="listitem">Two</div>
  <div role="listitem">Three</div>
</div>

但我担心网络抓取工具可能不会考虑aria role属性。虽然谷歌和其他大型搜索引擎会被这种标记混淆听起来很荒谬,但我要求其他人就此发表意见。

这是一个好习惯吗?它是否以任何方式影响SEO排名?

1 个答案:

答案 0 :(得分:0)

简而言之,不,这不是一个好习惯。 HTML标记用于结构概念,而不是用于格式化文本。所有类型的软件都可以/将检查您的代码,根据其结构分离和处理您的内容。您可以将h2设置为比h1更大更大胆,但对于读卡器软件,h1标签仍然是主标题。

如果您的作品中经常使用常用样式,您可以考虑在单独的样式表中编写自己的全局样式,以便重复使用。

这并不意味着你不能用角色指定你自己的元素(就像旧的浏览器我们使用div而不是main,section或aside标签),但是应该总是有一个有效的答案为什么要覆盖一个元素& #39目的。例如,当(按设计)按钮实际上是一个链接时,它应该是&#34; a&#34;使用href属性标记,而不是按钮或span或div或其他任何内容,即使这意味着您需要在样式表中写入更多行。所以,只是&#34;懒惰&#34;风格 - 戴着编码器的帽子(而不是项目经理),从来都不是一个好习惯。