【问题标题】:Screen Readers not reading numbers as individual digits屏幕阅读器不将数字读取为单个数字
【发布时间】:2020-04-02 05:51:57
【问题描述】:

我试图找到答案,但没有运气。通过网络提供的解决方案并不令人满意。 Javascript、HTML 或 CSS 中是否有任何方法可以让屏幕阅读器单独读取数字?

如果我之前输入一个零,它会很好读。

<span>Account #: 0123</span> // Reading correct as 'Zero', 'One', 'Two', 'Three'

<span>Account #: 123</span> // Reading wrong as 'One hundred twenty three'

【问题讨论】:

  • 它是系统屏幕阅读器吗?
  • 是的,约翰,它是 NVDA。但也可能是其他人。
  • 直接与系统屏幕阅读器通信肯定更难。不能一个hacky的解决方案是在数字之间插入空格,然后用css“删除”这些空格
  • @flowtron,那里没有解决。

标签: javascript css screen-readers


【解决方案1】:

TL;DR:请不要做任何事情。

如果你绝对想强制读取一位数,你可以在你的跨度上使用aria-label,但实际上,如果没有绝对和不可避免的需要,请不要这样做。
屏幕阅读器的主要特点是它们向您的眼睛传达了与您的显示器相同的信息。这里的关键概念是相同,也就是说,在 99.(9)% 的情况下,做一些与你在显示器上看到的不必要不同的事情是不好的。我说“不必要”是因为有时传达额外信息会很好:例如,将 aria-pressed 添加到切换按钮以标记它是按下还是未按下(通过适当的 CSS 可以很容易地在视觉上看到)。
如果您认为您的数字太难以感知并且需要分开,请首先尝试用空格将它们分开,并查看它是否具有视觉吸引力。我的感觉是,看到Account number: 0 1 2 3 而不是普通的0123,你会有些恼火。如果是这样,那么相信我,盲人用户也会被激怒。如果你觉得没问题,那么就选择这样的解决方案,适当地设置样式,使用不间断的空格,但在这种情况下不要为屏幕阅读器做任何特殊的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多