语言切换导航的正确语义是什么?

时间:2013-01-26 21:44:37

标签: html5 semantic-web semantic-markup nav microdata

我正在编写一个多语言网站,我有以下导航:

 <nav id="language">
    <ul>
      <li><a href="/en/" hreflang="en">en</a></li>
      <li><a href="/de/" hreflang="de">de</a></li>
      <li>fr</li>
    </ul>
    </nav>

我可以改进语义吗?使用微数据或标签属性,例如

3 个答案:

答案 0 :(得分:9)

abbr个元素

您应该添加abbr,并使用相应的语言提供完整的语言名称:

<nav id="language">
  <ul>
    <li><a href="/en/" hreflang="en"><abbr lang="en" title="English">en</abbr></a></li>
    <li><a href="/de/" hreflang="de"><abbr lang="de" title="Deutsch">de</abbr></a></li>
    <li><abbr lang="fr" title="Français">fr</abbr></li>
  </ul>
</nav>
{h}> titlea属性

您可以向title添加a属性,内容如下:“切换到此页面的英文翻译”

前往nav

您可以将此nav部分标题为“此页面的翻译”(英文页面)。

如果您不希望它在页面上显示,请直观地隐藏它,以便仍然可以读取屏幕阅读器用户(例如使用clip方法)。

(如果您提供此类标题,则可能不再需要title上的a属性。)

另外:link元素(在head

对于漫游器,您可以将翻译与您网页的link中的head元素相关联:

<link rel="alternate" href="/de/" hreflang="de" />
<link rel="alternate" href="/en/" hreflang="en" />

答案 1 :(得分:2)

我认为将en更改为Change site language to English可能会改善语义。在没有上下文的情况下,en非常神秘。

答案 2 :(得分:2)

您应该在链接上添加langhreflang属性,并使用IETF language tag(bcp47)作为目标值,例如,维基百科关于 water 的文章中的链接到其他语言的同一项目:

<a lang="de" hreflang="de" title="Wasser" href="//de.wikipedia.org/wiki/Wasser">Deutsch</a>

注意:lang属性不是特定于链接的。它指定标签内容的语言(维基百科也将其放在<html> - 标签和<h1>标头标签上。),而hreflang指定页面的语言你链接到。

相关问题