我正在编写一个多语言网站,我有以下导航:
<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>
我可以改进语义吗?使用微数据或标签属性,例如
答案 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}> title
的a
属性
您可以向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)
您应该在链接上添加lang
和hreflang
属性,并使用IETF language tag(bcp47)作为目标值,例如,维基百科关于 water 的文章中的链接到其他语言的同一项目:
<a lang="de" hreflang="de" title="Wasser" href="//de.wikipedia.org/wiki/Wasser">Deutsch</a>
注意:lang
属性不是特定于链接的。它指定标签内容的语言(维基百科也将其放在<html>
- 标签和<h1>
标头标签上。),而hreflang
指定页面的语言你链接到。