我有一份 XHTML 1.0 过渡文档。大部分内容都是英文的,因此这就是我在顶部的内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
有些元素采用不同的语言,例如
<a href="#" lang="es">Español</a>
我是否也需要向此类元素添加
xml:lang="es"
,从而复制语言信息?
如果您要发送具有
text/html
MIME 类型的文件,则应该这样做,因为您正在尝试同时使用 HTML 和 XHTML。 (不过,浏览器只会查看 lang
。)
另一方面,如果您使用正确的 MIME 类型 (
application/xhtml+xml
),则只需要 xml:lang=""
,如果(正确地)指出您正在使用 HTML,并且带有 HTML 文档类型,则只需要 lang=""
。
<html>
元素应提供 lang
和/或 xml:lang
属性,以便标识文档的默认语言。
它使屏幕阅读器等辅助技术能够通过适应语言的发音和口音来提供舒适的阅读体验。它还可以帮助盲文翻译软件,例如告诉它切换重音字符的控制代码。
快速修复向“”元素添加“lang”和/或“xml:lang”属性。
参考:https://www.w3.org/International/questions/qa-html-language-declarations
错误的 HTML 示例:
<!DOCTYPE html>
<html>
<head>
<title>An English Page</title>
<meta content="text/html; charset=utf-8" />
</head>
<body>
...
</body>
</html>
良好的 HTML 示例 A:
<!DOCTYPE html>
<html lang="en">
<head>
<title>An English Page</title>
<meta content="text/html; charset=utf-8" />
</head>
<body>
...
</body>
</html>
良好的 HTML 示例 B:
<!DOCTYPE html>
<html lang="en" xml:lang="en">
<head>
<title>An English Page</title>
<meta content="text/html; charset=utf-8" />
</head>
<body>
...
</body>
</html>