在html元素上使用语言属性____20160520


说明

该技巧的目的是标识文档的默认语言,通过在html元素中提供lang或xml:lang属性。
因为以下原因,标识文档的语言很重要:
1)它允许盲人翻译软件来代替变音字符的控制码,并插入必要的代码来防止二级盲文收缩的错误产生;
2)支持多语言的语音合成将会定向适配网页指定语言的发音和语言,使用正确的发音读出文本。
3)标记语言可以得益于未来的技术法阵,例如,不能在自主翻译语言的用户可以使用机器翻译不熟悉的语言。
4)标记语言可以帮助用户代理提供字典解释。

html4.01使用html元素的lang属性。XHTML作为text/html使用html元素的lang属性和xml:lang属性,为了满足XTHML的需求,并且向后兼容HTML。XHTML使用html元素的xml:lang属性服务应用或html+xml。lang属性和xml:lang属性只能有一个值。

注1:HTML只提供使用lang属性,XHTML1.0允许两个属性,而且XHTML1.1只允许xml:lang属性。

注2:lang和xml:lang属性允许的值在资源文件中列出。语言标签使用优先编码来标明语言,可选子集编码(使用连字符区别)来指明语言的变种。例如,英语的优先编码为“en”,英国英语和美国英语可以使用"en-GB"和"en-US"来区分。在该技巧中,使用优先编码是很重要的。子集编码的使用是可选的,但是在某些情景下是有帮助的。


样例

样例1:该样例定义一个html文档的法语内容。



样例2:

该样例定义了一个内容类型text/html为法语的XHTML1.0文档。lang属性和xml:lang属性都被指定来满足xhtml的需求,和提供html的向后兼容。



样例3:该XHTML1.0文档只使用xml:lang属性;



样例4:使用语言属性来标识人类语言的改变

该技巧的目的是清楚的标明一个网页中语言的变化,通过使用lang或者xml:lang属性。该样例使用xml:lang属性定义一个德文引用。



无障碍效果

各读屏、各浏览器的支持效果

测试人:

争渡、IE11:
永德、IE11:
NVDA、IE11:
永德、chrome:
NVDA、chrome:
NVDA、Firefox:
voiceover、chrmoe:
voiceover、Safari: