首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >屏幕阅读器不读韩文和俄文

屏幕阅读器不读韩文和俄文
EN

Stack Overflow用户
提问于 2021-01-15 07:44:15
回答 1查看 716关注 0票数 0

我正在做一个角度应用程序,它已经实现本地化,它有一个下拉,帮助用户选择语言,NVDA屏幕阅读器只阅读英语,西班牙语(埃斯帕诺).但不读韩文或俄文,用当地语言写成,请告知

NVDA识别、阅读英语、西班牙语,而不添加咏叹号标签,即使添加了对韩语和俄语不起作用的标签

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-19 17:50:54

您遇到的问题有两个方面,第一个是HTML无法识别语言的变化,第二个问题是可能不熟悉屏幕阅读器的使用。

添加lang属性

要解决识别特定部分的语言的第一个问题是直接的,我们使用HTML属性。

您可能已经在整个文档中使用了这一点,但是您可以在任何分段/流内容元素(如<div><p>等)中使用它来向屏幕阅读器和辅助技术发送该语言已经更改的信号。

在某些屏幕阅读器中,这将自动切换到该语言包(如果安装在客户端计算机上)。

有一个您可以使用的这里的ISO语言代码列表

列表中lang属性的示例HTML

代码语言:javascript
复制
<ul>
  <li>
      <a lang='en'>English</a>
  </li>
  <li>
      <a lang='ko'>한국어</a>
  </li>
  <li>
      <a lang='ru'>русский</a>
  </li>
</ul>

撇开--请注意,只有在导航发生并且应该有一个有效的href属性(而不是href="#")时,才应该使用锚点(<a>),这可能作为<select>更好。

屏幕读取器使用

即使有了上面的标记,如果客户端屏幕阅读器不支持给定的语言,您可能仍然会遇到问题。

在一些屏幕阅读器中,可以通过在操作系统上安装相关的语言包来解决这个问题。

对于Windows,它是“设置”->时间和语言“->”语言“->”添加语言

在其他屏幕阅读器上,需要更改的是实际的合成器。

在您的例子中,NVDA需要使用"eSpeak NG“合成器来正确识别不同的语言。(其他合成器可能会工作,但我对它们不熟悉,默认的"Windows语音API版本5“合成器不会自动切换语言(如果安装了语言包,而不是文档片段,则整个文档都会自动切换))

若要将合成器“5”更改为"eSpeak NG“,请右键单击工具栏中的NVDA图标并转到"Preferences”->合成器……“->更改”合成器“下拉并按"ok”键。

如果您更新合成器并更新您的HTML以使用lang属性(而不是您在示例中不断添加的link属性),屏幕阅读器将正确识别这些语言。

我的建议

尽管以上都是一个有效的解决您的问题,我会建议,如果您的页面语言是英语,那么所有的选项是英语。

然后,如果某人选择了另一种语言(韩语),那么您就可以在该语言(韩语)中显示所有选项。

虽然这看起来可能更难访问,但大多数浏览器提供了一个“自动转换”功能,如果菜单全部是一种语言的话,它将正确地翻译菜单(确保声明正确的页面语言(<html lang="en">),因为这很重要)。

这也意味着屏幕阅读器用户不需要知道如何改变他们的合成器等等。

最后,它使您不必将lang属性添加到选项列表中,从而使标记更加清晰。

,这是我个人的建议,不是官方指南

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65732238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档