Html 什么';s lang属性和<;meta http equiv=";“内容语言”;内容=”;“美国”&燃气轮机;标签?
我想知道使用“lang”属性的意义是什么,它与使用meta“Content Language”标记有什么不同 考虑以下代码: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”属性有关。这是正确的吗?是否有我不知道
<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属性,问题就会解决是的。虽然两个答案都很有用,但我认为这个答案是最简洁的,所以我会用绿色的复选标记来奖励这个答案。多亏了杰里德夫和大卫·多沃德!他们的意思并不相同,昆汀的答案解释了区别