lang属性和<meta http-equiv ="Content-Language"content ="en-US">标记之间有什么区别?

mar*_*ike 19 html markup http-headers lang

我想知道使用"lang"属性有什么意义,以及它与使用元"Content-Language"标签有何不同?

请考虑以下代码:

<html lang="en">
    <head>
        <meta http-equiv="Content-Language" content="en-US">
    </head>...
Run Code Online (Sandbox Code Playgroud)

我的假设是浏览器正在读取元标记的值,但DOM关注的是"lang"属性.它是否正确?我不知道有什么细微差别吗?

Que*_*tin 14

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

Content-Language HTTP标头指定目标受众的语言.这是不一样的,因为该文件实际上编写语言,例如法语语言课程的一部分可以由用法语写的页面,但内容的语言是EN,因为它的目的是为英语的人学习法语.

规格:

Content-Language entity-header字段描述了所包含实体的目标受众的自然语言.请注意,这可能与entity-body中使用的所有语言不同.

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

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


Cir*_*四事件 7

HTML5更新:meta http-equiv="Content-Language" 已过时,lang标记可用于所有属性.