第七天:指定你的语言
你当然知道你用的是哪种语言,所以请告诉你的读者──以及她们所用的软体。
谁因此获益?
- Jackie 从中获益了。因为她的荧幕朗读软体 (JAWS) 必须先知道你所使用的语言,朗读时才能准确地发音。如果你没有指定, JAWS 就会试着猜测你所使用的语言,而它可能猜错;尤其当你在网页里引述源码,或混杂着其他不属于语言的内容时。
- 即使你写的就是英文, Google 也从中获益了,当你使用的不是英语时更是如此。根据 Google Zeitgeist 的资料显示,50% 的 Google 使用者用英语之外的语言搜寻,而且许多使用者在 Google preferences 设定只搜寻特定的语言。Google 自动侦测语系的演算法比其他的都好,但是为什么要让 Google 的工作更加困难呢?
怎么做
首先你得找出正确的双字元语系码 (language code) 。英文的语系码是“ en
”、法文的语系码是“ fr
”、德文是“ de
”、中文则是“ zh
”。如果你用的是其他语言,请到这里找找。语系码并没有大小写的分别。
现在把语系码放在 <html>
标签之前,实际的方法会依你所使用的 HTML 版本而有所不同。请先确定你的 DOCTYPE
,然后依照以下的步骤:
如果你用的是任一版本的
HTML 4
,请修改你的<html>
标签(如果你用的不是英文,就换上你自己的语系码):<html lang="en">
如果你用的是任一版本的
XHTML 1.0
,请修改你的<html>
标签(两个地方都要用你的语系码):<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
如果你用的是任一版本的
XHTML 1.1
,请修改你的<html>
标签(当然,用你自己的语系码):<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
就跟 DOCTYPE
一样,你也应该在每个页面里指定你所使用的语言。
另外也请注意:如果同一个页面里使用了一种以上的语言,你也可以在任何元件里指定使用的语言。比方说,如果你的网站 (HTML 4) 主要使用德语,但是你引用了一段英语的文章,那么可以像这样标注:
<html lang="de"> ... <blockquote lang="en"> ... </blockquote>
延伸阅读
- 语系码列表
- HTML 标准里的
lang
属性。 - Jim Thatcher on
lang
attribute support in screen readers. 他描述着他们的语系自动判断演算法相当诡异;他之所以会知道这件事,是因为他设计了 Home Page Reader 的演算法。其他荧幕朗读软体自从他写下了这个评论之后纷纷开始支援lang
属性,不过他们的自动判断演算法仍然很诡异。所以你更该要讲明你所用的语言了。