HTML5属性xmlns,lang,xml:lang

问题描述 投票:31回答:3

我不明白开放的HTML5 specifications for the lang and xml:lang attributes标签的<html>。滚动了一下,我明白xmlns是一个“护身符”(没有效果),但langxml:lang怎么样?他们应该被使用吗?如果是这样,他们应该设置什么?

xml html5 xml-namespaces
3个回答
36
投票

我所看到和听到的一切都表明你应该坚持下去

<!DOCTYPE html>
<html>
  <head>
    <meta charset='UTF-8'>

(或者你真正想要的任何字符集)。如果您想要与页面关联的语言,可以使用<html>标记上的“lang”属性。

由于HTML5不是XML,实际上,我个人会觉得使用任何xml:命名空间的东西都很奇怪。


17
投票

文本/ html序列化中的xml:lang就是允许作者编写多语言文档 - 有效XHTML5和有效HTML5的文档。

在HTML(而不是XHTML)中,xml:lang根本不是XML命名空间中的属性,它是null命名空间中名为xml:lang的属性。即冒号根本没有魔法属性,它只是属性名称中的另一个角色,就像任何其他角色一样。


要回答你最初关于en-US-x-hixie的问题:

en-US-x-hixieen-US(即美国英语)加上私人使用子标签-x-hixie,意思是美国英语的变体,由HTML5的编辑Ian Hickson编写。

私有使用子标签在RFC中定义:5646,BCP 47 http://www.ietf.org/rfc/bcp/bcp47.txt Section 2.2.7. Private Use Subtags


0
投票

对于使用屏幕阅读器的用户来说,lang属性在html文档上有很大的不同。因此,考虑到你肯定会想要使用它。这段视频是最好的论据:https://youtu.be/0uzxu9dQnuU“lang属性对JAWS演讲的影响”。它显示了屏幕阅读器如何发出带有西班牙语,法语或德语发音的英语文本(这很难理解),因为每次都将lang attr设置为这些语言。

另外检查:https://www.w3.org/International/questions/qa-lang-why.en提到的一些很好的理由是:

  • 样式(例如,不同语言的不同字体)
  • 拼写和语法检查
  • 翻译工具
  • 搜索结果(页面内部标记可用于根据用户的语言偏好提高质量)
© www.soinside.com 2019 - 2024. All rights reserved.