【问题标题】:How can I get a screenreader to read a double/triple... digit number correctly?如何让屏幕阅读器正确读取双/三...数字?
【发布时间】:2016-04-18 20:16:29
【问题描述】:

我正在将一些辅助功能代码写入我的应用程序。问题是,当我在 div 中打印一个数字(例如:21)供屏幕阅读器阅读时:

<div id="screenReaderBox" aria-show=true tabindex=0> I have 21 cookies</div>

屏幕阅读器以下列方式读取 div:“我有 两个一 cookie”而不是“我有 二十一个饼干。”

如何修改屏幕阅读器的 div 以正确获取 html 内容?有什么变通的解决方案吗?

我试过 parseInt();结果一样

【问题讨论】:

  • 这似乎是屏幕阅读器应该做/修复的事情。这是所有屏幕阅读器的正常行为吗?
  • 每个屏幕阅读器能够识别的语法都不同。他们通常擅长破译 HTML 内容,但我不确定它是否能以正确的方式读取数字,我对使用屏幕阅读器很陌生
  • 如果他们不能做到这一点,那么他们对于网络上的大多数内容都是无用的 - 很难想象这是最先进的......
  • 相关/有趣:stackoverflow.com/questions/21832888/… 可能是一个很好的副本,甚至。

标签: html accessibility screen-readers


【解决方案1】:

您可以使用aria-label 来帮助屏幕阅读器:

<div id="screenReaderBox" aria-show=true tabindex=0>
       I have <span aria-label="twenty one">21</span> cookies</div>

但您必须注意,如果您使用盲文显示器(或任何非文本转语音辅助技术),这可能会因大数字(例如 123456789)而适得其反:

我有 123456789 块饼干

在我看来,您的屏幕阅读器在读取数字方面的实现很糟糕(或者是某些配置选项?),您应该忽略这个问题,因为它没有实现正确的数字解释方式。

【讨论】:

  • 问题出在 VoiceOver 上,它适用于 Jaws 和其他 3rd 方屏幕阅读器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
相关资源
最近更新 更多