是否可以更改屏幕的整体语言 reader?

Is it possible to change the overall language of a screen reader?

我正在重构一个 Web 应用程序,以便屏幕 reader 可以访问它。我正在开发的 Web 应用程序使用的是荷兰语。 aria-labels 也是荷兰语的,并且表现如我所料。不过,当在页面中切换时,屏幕 reader 显示:'Navigation, list with 4 items'。是否有可能将其(默认阅读 EN 中的元素)更改为荷兰语?

我将 HTML 语言属性设置为荷兰语 <html lang="nl">

但是屏幕reader(荷兰语/Google 的荷兰语)将元素读为 'navigation, list with 4 items'。

是否有可能将此默认行为更改为全部荷兰语?我正在使用 ChromeVox 插件作为屏幕 reader。这是屏幕 reader 的特定问题,还是可以在代码中解决?

感谢您的帮助!

ChromeVox 正在以您操作系统的语言朗读元素描述(和计数)。

我希望它在我的英语系统上说 "Navigation, list with 4 items" 然后用您指定的语言说出标签(假设您有语言包 and/or 屏幕 reader自己宣布的好工作)。

Is there any possibility to change this default behaviour to go all Dutch?

是,将您的操作系统语言更改为荷兰语。

ChromeVox 不是常用的屏幕 reader。它主要用于测试,并不能很好地表示(我将称之为)真实屏幕 reader 的操作方式。我建议您也尝试 NVDA、VoiceOver、JAWS、Narrator 等,使用荷兰语语言包,更改您的系统语言,然后试一试。

Is this a screen reader specific problem, or can it be solved in the code?

单靠代码无法满足您的要求。

参考资料

排序后,您可以通过在 <html> 元素上使用 lang 属性得到以下一些结果:

  • iOS 上的 VoiceOver 使用该属性自动切换语音。
  • VoiceOver 可以在指定时使用不同的口音说出特定语言。
  • 省略 lang 属性可能需要用户手动切换到正确的语言以获得正确的发音。
  • JAWS 使用它来加载正确的语音引擎/音韵词典 — 对具有多种语言的网站非常方便。
  • NVDA (Windows) 使用它的方式与 VoiceOver 和 JAWS 相同。
  • 在用于形成 ePub 或 Apple iBooks 文档的 HTML 中使用时,它会影响 VoiceOver 阅读书籍的方式。

我在这里收集了一些其他信息:http://adrianroselli.com/2015/01/on-use-of-lang-attribute.html

我还有几个视频展示了没有语言包的屏幕 reader 如何尝试发音它认为是不同语言的内容:http://adrianroselli.com/2017/03/slides-from-roledrinks-at-csun.html