Html 什么';s lang属性和<;meta http equiv=";“内容语言”;内容=”;“美国”&燃气轮机;标签?

Html 什么';s lang属性和<;meta http equiv=";“内容语言”;内容=”;“美国”&燃气轮机;标签?,html,http-headers,markup,lang,Html,Http Headers,Markup,Lang,我想知道使用“lang”属性的意义是什么,它与使用meta“Content Language”标记有什么不同 考虑以下代码: <html lang="en"> <head> <meta http-equiv="Content-Language" content="en-US"> </head>... ... 我的假设是浏览器正在读取meta标记的值,但是DOM与“lang”属性有关。这是正确的吗?是否有我不知道

我想知道使用“lang”属性的意义是什么,它与使用meta“Content Language”标记有什么不同

考虑以下代码:

<html lang="en">
    <head>
        <meta http-equiv="Content-Language" content="en-US">
    </head>...

...

我的假设是浏览器正在读取meta标记的值,但是DOM与“lang”属性有关。这是正确的吗?是否有我不知道的细微差别?

它们的意思是相同的——设置相关内容的语言——但是
lang
属性具有更高的优先级。看见它们处理不同的用例-可以在单个元素上设置
lang
属性
exampla gratis
,而服务器可以全局配置
Content Language
标题以应用于整个文档集

您的示例显示了两种设置
html
元素的语言的等效方法,但是由于
lang
属性优先,因此值将是
“en”
,而不是
“en-US”

lang属性(在html元素上)指定文档的语言(除非用另一个lang属性重写,该属性可以更改文档某个部分的语言)

内容语言HTTP标头指定了目标受众的语言。这与文档实际使用的语言不同。例如,法语课程的一部分可能包括用法语编写的页面,但内容语言将为英语,因为它是为学习法语的英语使用者设计的

发件人:

Content Language entity header字段描述所包含实体的目标受众的自然语言。请注意,这可能并不等同于实体正文中使用的所有语言

Meta HTTP equiv是穷人的HTTP头。它具有真正HTTP头的所有含义,但不太受尊重(和支持)


根据经验,搜索引擎对内容语言更感兴趣,而屏幕阅读器对lang属性更感兴趣。

HTML5更新
meta-http equiv=“Content-Language”
,以及
lang
标记。

奇怪的是,我刚刚发现内容语言的http等价物比适当的http头具有更多的浏览器支持!只有Firefox才能做到这一点:我想我会将其归类为Firefox中的bug。它不应该将内容语言作为指定文档语言。根据HTML4(和5),它应该是。我只能在空白处处理周围找到它的参考,但它确实意味着应该使用内容语言来确定文档语言。这是规范中可能导致问题的不清楚和模糊矛盾的部分之一。尽管很容易避免,但始终使用lang属性,问题就会解决是的。虽然两个答案都很有用,但我认为这个答案是最简洁的,所以我会用绿色的复选标记来奖励这个答案。多亏了杰里德夫和大卫·多沃德!他们的意思并不相同,昆汀的答案解释了区别