WebAIM-网络易访问性

文件和内容语言

识别语言的重要性

只要识别了内容语言,屏幕阅读器就可以“说”各种语言。如果屏幕阅读器不支持或不能说定义的语言,则可能会通知用户内容语言,即使无法正确阅读该内容。

定义文档语言还支持使用谷歌Translate等工具自动翻译内容。

对于A级符合网页内容可及性指引文档语言必须以编程方式定义。为了达到AA级WCAG一致性,还必须标识页面中使用不同于页面其余部分语言的部分语言。这告诉屏幕阅读器切换到该语言(如果可以的话)。

指定页面的“部分语言”仅对文档的主要语言中一般不能理解的其他语言内容是必要的。例如,“Los Angeles”和“piñata”都是西班牙语单词,英语读者可以理解,所以在英语网页上没有必要将它们识别为西班牙语。

正确定义内容语言还允许浏览器在使用时正确显示各种语言的引号元素。下面的例子被定义为德语和法语。浏览器已经生成了适合该语言的本地化引号。

我的电脑是德国的。

法兰西广场。

此外,如果指定了语言,浏览器可以显示:

  • 非拉丁文字的适当字符
  • 本地化日期和时间输入(例如使用MM/DD/YYYY与DD/MM/YYYY或24小时时间与AM/PM时间)
  • 带有适当逗号或句点分隔符的数字
  • 正确的语言拼写检查输入

这个属性

这个属性用于标识网页的语言。此属性必须始终添加到标签。它被赋予一个值来标识页面的自然语言。添加< html lang =“en”>例如,将指定页面为英文。

类似地,属性可以添加到页面中的其他HTML元素中,以指示它们的自然语言。

例如,该段的语言应为日语。

不要使用属性指定要链接或导航到的内容的语言。如果一个英文网页上的链接指向一个西班牙语翻译,显示的文本是“Spanish”属性不被使用,因为“Spanish”是一个英语单词。如果链接显示的是“西班牙人”,然后lang=“es”应在链接上定义。

识别文档语言对于acrobatpdf文件也很重要。文档语言可在acrobatprofessional或其他PDF编辑软件中指定。

选择合适的语言标记

由国际规范定义的8000多种语言代码,涵盖了世界上各种语言、方言、地区等。Internet Assigned Numbers Authority (IANA)负责维护可能和有效值的精选注册表.W3C提供了一个优秀的选择语言标记的指南.您还可以搜索valid属性值使用这个语言子标签查找工具.一定要阅读下面的指导,以确保所使用的值具有最大的可访问性支持。

主要语言

主语言是网络内容的主要语言。几乎所有的主要语言都可以使用双字符代码。lang = "恩"是英语,lang = "德"是德国人,lang = zh型”他是中国人,而且lang=“ar”例如,英语是阿拉伯语。

保留属性值尽可能短。如果双字符主语言代码足以识别内容语言,则使用它。

许多初级语言都有不同的子语言或方言。例如,英国、澳大利亚和印度的英语有不同的变体。汉语有普通话、广东话和许多其他方言,其中一些方言无法相互理解。尽管如此,在网页中指定初级语言通常就足够了。

总之,语言对于绝大多数网页内容都可以用合适的双字符主语言代码进行正确识别。在一些非常罕见在一些情况下,三字符代码可能用于非常不常见的主语言,但仅当两个字符的代码不存在时.尽管一些ISO标准可能会为一些主要语言定义三字符代码(如西班牙语的“spa”),但在IANA注册表中找不到这些代码,并且在屏幕阅读器中对这些代码的支持非常差。

扩展语言

七种主要语言可提供子语言或扩展语言:阿拉伯语(应收账),中文(zh),马来语(女士)、斯瓦希里语(西南),乌兹别克语(是乌斯)孔卡尼()及手语(胡志明市)。例如,广东话和普通话是汉语的扩展语言。可以使用主语言的扩展指定这些扩展语言,例如lang = " zh-yue "粤语vs。lang=“zh cmn”对于普通话,或通过三字符语言识别,例如lang =“悦”粤语及lang = "复合"普通话。

在屏幕阅读器中,对扩展语言的支持非常差。强烈建议只使用主语言(见上面),或者,如果有必要,使用适当的区域子标签(见下面)。

脚本子标签

有时可以使用与语言主脚本不同的脚本或字符来显示内容。例如,汉语是简体中文中的“Chinese”一词。用拉丁字母书写。这是“Hányǔ”。可以将“Hányǔ”一词识别为用拉丁字母书写的中文lang = " zh-Latn ".脚本子标记始终是在主语言和连字符后添加的4个字符。

然而,屏幕阅读器对脚本子标签的支持很差,而且很少需要它们。脚本标识符经常被忽略,导致屏幕阅读器应用主语言,这通常会完全失败。< p lang = " zh-Latn " > Hanyǔ< / p >例如,在英文页面上,由于“zh”主要语言,可能会被视为中文,但拉丁字符不是中文字符,因此内容可能无法阅读(屏幕阅读器需要的是中文字符,而不是拉丁字符)。省略属性将导致正确读取页面定义语言(本例中为英语)中的拉丁字符。

简而言之,通常应该避免脚本子标记。

区域子标签

如果有必要区分不同方言或子语言的内容,例如突出西班牙语和墨西哥语的西班牙语之间的差异的页面,或者如果书面内容与具有明显地区差异的方言一致,那么可以使用地区子标签。例如,lang = " es-ES "将半岛西班牙语识别为在西班牙通常说或读的西班牙语,而不是lang=“es MX”它将西班牙语识别为在墨西哥说或读的西班牙语。

如果屏幕阅读器支持地区差异,例如为半岛西班牙语和墨西哥西班牙语安装了语音,那么屏幕阅读器可以切换到适当的方言。

然而,区域子标签通常被忽略,特别是当屏幕阅读器的默认语言与指定的主语言匹配时。这是因为用户会更喜欢并更好地理解他们的默认方言,而不是同一语言的不同方言。例如,在英国,大量的屏幕阅读器用户在美国网站上通常会听到英式英语,即使页面上有lang =“en - us”,且用户已安装美式英语语音。

只有在需要区分不同方言中可能无法相互理解的内容时,才使用区域子标签。一个同时提供普通话和粤语内容的网站(其中一种语言可能无法被讲粤语的人理解)通常会区分它们lang=“zh CN”lang = " zh-HK "区域子标签比扩展语言代码得到更可靠的支持。因为英语的各种方言是可以相互理解的,而且屏幕阅读器用户将使用lang = "恩"即使对于提供英国、印度、澳大利亚、美国或其他英语版本的网站,通常也足够了。

总结

还有其他的变化属性值是允许的,但上述规则适用于绝大多数网页内容。

  • 保持语言标识符尽可能简短。在大多数情况下,两个字符的语言标识符就足够了,也是最优的。
  • 通常应该避免使用三字符语言标识符、扩展语言子标记和脚本子标记(或者至少在屏幕阅读器中经过良好测试)。
  • 在区分方言非常重要的情况下,可以使用地区子标签。

屏幕阅读器支持

两个字符属性值通常足以支持屏幕阅读器。对三字符和扩展子标签、脚本和区域子标签的支持根据所使用的浏览器和屏幕阅读器以及所支持和安装的语言声音而有所不同。当有疑问时,测试。支持内联语言更改,例如< span >元素也是多种多样的。在可能的情况下,最好定义块级元素上的属性,例如

,< blockquote >或类似。

要阅读定义语言的内容,屏幕阅读器必须支持该语言。所有现代屏幕阅读器都支持多种语言。在某些屏幕阅读器中,用户必须手动安装或配置语言声音或“语言包”。

如果屏幕阅读器遇到属性,该属性指定一种未安装或支持匹配语言声音的语言,它通常将标识内容的语言。例如,屏幕阅读器在显示内容时可能会发出“西班牙语”的发音lang=“es”如果未启用或安装西班牙语语音。

屏幕阅读器通常会尝试读取可发音的内容,即使所定义的语言不受支持。例如,波兰语内容是用拉丁字符编写的,因此屏幕阅读器会以英语默认语音读取(尽管阅读时没有正确的发音、词形变化等——听起来可能像是一门波兰初级课程)。另一方面,汉字不能用英语直接发音,因此屏幕阅读器不会阅读汉字,尽管它可能会宣布“中文”以通知用户有中文内容。