下面显示的2行之间有什么区别?:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">
<meta http-equiv="content-language" content="en-GB" />
如果我没有meta标签,会有什么后果?
meta元素会影响屏幕阅读器而顶级屏幕阅读器不会吗?我对他们到底做了什么感到有点困惑。
提前感谢您提供任何帮助
祝你好运
跳过。
答案 0 :(得分:6)
深入了解辅助功能Identifying your language page建议尽可能多地添加处理尽可能多的屏幕阅读器,具体取决于您的文档类型:
如果您使用的是HTML 4的任何变体, 将您的标记更改为此(使用 你自己的语言代码,如果没有 英国):
<html lang="en">
如果您使用的是XHTML的任何变体 1.0,将您的标记更改为此标记(在两者中使用您的语言代码 地方):
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
如果您使用的是XHTML 1.1,请更改您的 标记到此(再次插入您的 自己的语言代码):
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
同一篇文章也引用ISO 639.2来确定xml:lang的值应该是什么,尽管XML规范引用了一个单独的文档RFC4646 Best Current Practice - Tags For Identifying Languages,它似乎表明了你的“ GB“有效。
谷歌的Web Authoring Statistics(2005)有以下说法:
接下来是Content-Language值 (用于http-equiv属性)。 几乎同样多的人使用它 在html上指定lang属性 元件。目前在HTML5规范中 http-equiv属性只是 允许一例设置 字符编码,不能 真的被丢弃了,如上图所示 演示。然而, http-equiv =“内容 - 语言”是 至少有一个浏览器支持,和 正如我们在这里看到的,它被广泛使用 - 也许不应该删除http-equiv 毕竟。
此外,thread on webproworld讨论了使用http-equiv = content-language和name = language来描述文档语言之间的区别,并暗示两者都是必要的。
最后,请参阅W3C上的HTML Techniques for Web Content Accessibility Guidelines 1.0文档,获取更多建议,特别是Identifying the Primary Language。
总之,屏幕阅读器看起来比内容语言元信息更多地关注lang属性,但我见过的大多数建议都建议使用元数据。特别是谷歌的统计数据似乎是相关的,所以也许你应该留下两个。
答案 1 :(得分:1)
我相信<meta>
版本的一个优点是您可以指定多种语言,例如<meta http-equiv="Content-Language" content="en-GB, fr" />
。请查看this以更深入地了解该主题。
答案 2 :(得分:1)
Content-Language
is non-conforming in XHTML5。
虽然它允许您指定多种语言,但您不应该这样做(它对任何人都没有帮助)。您应该在特定元素上使用xml:lang
属性,例如
<p xml:lang="en">Hello <span xml:lang="de">Welt!</span></p>
W3C I18N FAQ也明显反对<meta>
:
HTTP标头或元元素信息在此处不相关。通过扩展,您应该使用
lang
标记中的xml:lang
和/或html
属性来指定整个内容的文字处理语言。
答案 3 :(得分:0)
据我所知, meta http-equiv 仅需要(如果有的话) HTML文档(不是XHTML),因为XHTML允许使用指定语言 的 XML:郎强>
所以,没有区别,第二行只是多余的。
答案 4 :(得分:0)
HTTP / 1.0 RFC 1945表示Content-Language标题字段代表“目标受众的语言”。
Content-Language实体标题 字段描述自然 目标受众的语言 对于封闭的实体。注意 这可能不等于所有 实体中使用的语言。
HTML4和XHTML1.x将元http-equiv标记视为嵌入在html文档中的相同信息,而不是HTTP标头。
另一方面,xml:lang和html lang属性标识文档的语言,或者包含在属性所在元素中的片段。
因此,假设您有一个主要使用法语的文档,目的是为法语和英语教学,内容语言将是en-GB,en-US(比如说),而xml:lang属性将是FR-FR。
然而,HTML 5改变了这一点,并且元http-equiv =“content-language”被认为是不符合标准的HTML,但仍定义了文档范围的默认语言,并且只支持单个语言实际上与html元素上的xml:lang完全相同。我不能说我理解这一改变背后的原因,但Daniel Glazman和Ian Hickson在http://lists.w3.org/Archives/Public/public-html/2008Nov/0083.html开始讨论这个问题