我不理解开场<html>
标记的HTML5 specifications for the lang
and xml:lang
attributes。向上滚动一点,我知道xmlns
是一个“护身符”(没有效果),但是lang
和xml:lang
呢?他们应该被使用吗?如果是这样,他们应该设置什么?
答案 0 :(得分:36)
我见过和听过的一切都表明你应该坚持
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
(或者你真正想要的任何字符集)。如果您想要与该页面关联的语言,可以使用<html>
标记上的“lang”属性。
由于HTML5 不是 XML,实际上,我个人会觉得使用任何xml:
命名空间都很奇怪。
答案 1 :(得分:17)
在HTML中(与XHTML相反),xml:lang根本不是XML命名空间中的属性,它是null命名空间中名为xml:lang
的属性。即冒号根本没有魔法属性,它只是属性名称中的另一个角色,就像任何其他角色一样。
回答您最初关于en-US-x-hixie
的问题:
en-US-x-hixie
是en-US
(即美国英语)加上私人使用子标签-x-hixie
,意为美国英语的变体,由HTML5的编辑Ian Hickson编写。
私人使用子标签在RFC中定义:5646,BCP 47 http://www.ietf.org/rfc/bcp/bcp47.txt
第2.2.7. Private Use Subtags
部分
答案 2 :(得分:0)
对于使用屏幕阅读器的用户来说,lang属性在html文档上有很大的不同。 因此,考虑到你肯定会想要使用它。 这段视频是最好的论据:https://youtu.be/0uzxu9dQnuU&#34; lang属性对JAWS语音的影响&#34;。它显示了屏幕阅读器如何发出带有西班牙语,法语或德语发音的英语文本(这很难理解),因为每次都将lang attr设置为这些语言。
同时检查:https://www.w3.org/International/questions/qa-lang-why.en提到的一些好理由是: