Jos*_*ker 2 html accessibility screen-readers
我正在使用旁白,我试图让它将数字作为单个数字读取,例如,如果我输入了 2000,旁白会读出“2000”。我希望所需的行为读出“两个零零零”。
我当前的输入元素看起来像这样
<input class="some-class" id="some-id" name="some-name"
type="text">
Run Code Online (Sandbox Code Playgroud)
我曾尝试将 type 属性设置为type="number",type="tel"并添加一个等于 的样式属性style="speak:spell-out",但它们都不起作用。
当我用空格分隔数字时,就像value="2 0 0 0"它的工作一样,但是当然,您不能指望用户这样做。
我知道可能有一种方法可以使用 javascript 来做到这一点,但由于业务需求,该解决方案不能在浏览器中包含 javascript。
有什么建议?
您不应该尝试强制使用特定的发音或数字分组。如果分组具有特殊的重要性或意义,则添加空格。
遵循屏幕阅读器读取数字与显示数字不应该不同的基本原则。如果必须以特定方式分隔数字,请添加空格、点、破折号或其他分隔字符。相反,如果没有空格,则没有特殊需要绝对地逐位读取数字。这很简单。
您不应该强迫屏幕阅读器以您自己查看的方式阅读某些内容。其他人可能与您的愿景不同。关于数字,有些人更喜欢逐个数字地阅读,但其他人更喜欢将数字按两个、三个或四个分组,以便于阅读、写作和记忆。他们的屏幕阅读器通常会相应地进行配置。
如果给定的分组很重要,则必须用空格或其他字符分隔组。如果没有分隔,则隐含地意味着分组没有特别的重要性。
请注意,如果用户愿意,屏幕阅读器总是可以逐位读取数字。它通常不是默认值。逐位读取数字通常仅适用于非常大的数字(十亿),或混合数字和字母时。
另外考虑:
因此,避免决定特定的分组或发音。这是一个坏主意,无论如何在技术上是危险的。