xhtml文档 - Lang选项问题

时间:2009-04-18 19:38:07

标签: xml xhtml accessibility screen-readers

下面显示的2行之间有什么区别?:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">

<meta http-equiv="content-language" content="en-GB" />

如果我没有meta标签,会有什么后果?

meta元素会影响屏幕阅读器而顶级屏幕阅读器不会吗?我对他们到底做了什么感到有点困惑。

提前感谢您提供任何帮助

祝你好运

跳过。

5 个答案:

答案 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开始讨论这个问题