为什么我应该在网页里使用语言属性呢?
lang
(有时是 xml:lang
)属性指定页面内容的自然语言。它是 html
标签的一个属性,用于设定页面上所有文字的语言。倘若页面上的部分文字使用不同语言,你可以给环绕文字的元素的语言属性赋一个不同的值。 关于如何使用语言属性,请看 HTML 中声明语言。
明确你内容的语言可以让你自动化许多事情,从修改页面外观与行为,到提取信息,到改变应用的工作方式。一些语言应用在整个文档的层面运行,一些在适当标记过的文档片段上运行。
最好现在就给你的内容加上语言信息,这样新式开发崛起时就能够享到好处。创建内容时就实行很容易,后来再改进就难了。
我们在这儿,列出一些语言信息现下的用处,不过,随着标准跟浏览器的进化,未来可能会有更多其他的语言信息的应用。
语言属性允许你根据语言调整内容样式。更多用法请看使用 lang 属性样式化。
比方说,字体或行距可能需要变化以适应不同字母系统,样式生成的引号在不同语言下可能会不一样,粗体可能需要照语言独有的方式表达,等等。
下面的例子告诉你,如何给页面中嵌入的阿拉伯文设定一个特定字体。
body {
font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
}
:lang(ar) {
font-family: "Traditional Arabic", "Al Bayan", serif;}
另一个与语言相关的行为的例子是断字。断字规则与语言关系密切。CSS hyphens
属性的描述(在写这篇的时候该属性开始为浏览器接纳))说“正确的自动断字需要一个所要断的文本语言相应的断字字典。因此,如果作者声明过文本的语言(比如通过 HTML lang
或 XML xml:lang
),也有了相应的断字字典,则再加上 UA 就可以自动断字了。“
另外的受语言影响的排版与布局特性包括断行、对齐与大小写转换,随着标准的发展,会有更多的特性加入其中。
用户代理能够(也确实)使用语言信息选择与语言相适的字体,这可以提升页面的整体用户体验。
比如说,一个 Unicode 编码的页面,不管是简体中文、繁体中文、日文还是韩文的文本,可能共享一个表意文字的代码点,但是讲演者希望,字形会根据语言有细节调整。如果内容作者没有明确指定样式,有些浏览器会自动根据内容的语言应用适当的字体。下面的图片说明显示在 Firefox 或 Internet Explorer 这样的浏览器里只改变语言属性的值的效果。
虽然主流搜索引擎一般都使用自动语言检测来鉴定资源的语言,但页面内部的标记可以基于用户的语言偏好改进搜索结果的质量。
翻译工具可以使用语言属性来辨识页面,或者某一段特定语言的文本,然后自动调整工作流,或者保护文本,不被译者在翻译工具中更改。
语言信息有助于语音合成器和盲文翻译器生成可用的结果。这类软件需要知道它们是否可以从文本中生成结果,又或他们是否需要切换到另一个不同的语言模式。
语言标签是 W3C Web 可访问性指南推荐的,某些国家的政府政策也强制要求,比如 UK - 残疾歧视法(UK)。
给内容添加语言信息标签还允许特定语言的处理。
比如说,一个脚本或 XSLT 样式表可以用来做许多事情,包括:
请记住,在你创建信息的时候,你不总是知道后来的人们将如何处理你的信息。
最近几年,随着技术的发展,语言标签的好处不断凸显,它的好处还将随着我们的前进不断增加。在许多案例中,刚开始开发你的内容时,在你来看,这类用法可能并不重要,但随着时间的过去,价值可能会增长。但我们目前面对着一个闭环问题。没看到语言信息应用益处的人们在他们的内容中没有提供语言信息。语言相关的应用就发布得很慢,直到这个信息被广泛应用到内容上。这个环可以被打破,只要内容作者理所当然地声明语言信息。越多的内容被打上标签,并且标签正确,这类应用就会变得更加有用并且流行。添加语言信息通常很容易,并且没有坏处。
刚上手? Web 上的语言
教程, HTML 中使用语言
相关链接,编写 HTML & CSS