强制屏幕阅读器将数字读取为单个数字

问题描述 投票:1回答:2

我正在使用画外音,并且尝试使它读取数字作为单个数字,例如,如果我输入2000,画外音将读出“ 2000”。我希望所需的行为读出“两个零零零零”。

我当前的输入元素看起来像这样

<input class="some-class" id="some-id" name="some-name"
 type="text">

我已经尝试将type属性设置为type="number"type="tel"并添加一个等于style="speak:spell-out"的样式属性,但是其中的一个都不起作用。

当我用value="2 0 0 0"这样的空格分隔数字时,它可以工作,但是,当然,不能指望用户这样做。

我知道可能有一种使用javascript的方法,但是由于业务需求,该解决方案不能在浏览器中包含javascript。

有什么建议吗?

html accessibility screen-readers
2个回答
4
投票

您不应该尝试强加特定的发音或数字分组。如果分组具有特别的重要性或意义,请添加空格。

采用基本原理,即屏幕阅读器对数字的读取不应与显示的数字有所不同。如果必须以特定方式分隔数字,请添加空格,点,破折号或其他分隔字符。相反,如果没有空格,则没有必要完全逐位读取数字。这很简单。

您不应强迫屏幕阅读器以您自己的方式阅读内容。其他人可能与您的愿景不同。关于数字,有些人更喜欢逐个数字地阅读,而另一些人则更喜欢按两个,三个或四个来分组,因为它们易于阅读,书写和记忆。他们的屏幕阅读器通常进行相应配置。

如果给定的分组很重要,则必须用空格或其他字符分隔分组。如果没有分隔,则暗含表示分组没有特别的重要性。

请注意,如果用户愿意,屏幕阅读器始终可以逐位读取数字。通常不是默认值。通常仅对非常大的数字(十亿)或在混合数字和字母时才逐位读取数字。

另外考虑:

  • 不同的屏幕阅读器用户具有不同的首选项,并且可访问性来讲,违背首选项或通用默认设置通常不是一个好主意
  • [有几种屏幕阅读器,以及多种语言的多种不同声音;在读取数字时,所有这些元素的行为方式可能都略有不同,并且进行任何小的更改以进行调整可能会带来更多的问题而不是解决。
  • 屏幕阅读器用户习惯于发音古怪,他们可以使用个人词典对其进行修复
  • 如今,屏幕阅读器在决定是否需要读取孔中的数字,成组或逐位读取方面还不错。

因此,请避免确定特定的分组或发音。这是一个坏主意,并且从技术上来讲都是危险的。


0
投票

我知道可能有一种使用javascript的方法,但是由于业务需求,该解决方案不能在浏览器中包含javascript。

您尝试了HTML和CSS,但无法使用Javascript。屏幕阅读器使用辅助功能树。他们不使用CSS,也没有指令告诉他们拼写文字。他们可能会在阅读缩写词时选择拼写一些缩写词。这是屏幕阅读器的选择。

屏幕阅读器用户习惯于听到数字时会感到奇怪,如果他们希望按字符对字符进行逐字读取,他们有适当的捷径愿意拼写它们。

© www.soinside.com 2019 - 2024. All rights reserved.