0

我正在使用 Windows 讲述人,并且像 2.3.96 这样的版本号正在阅读,日期为“1996 年 3 月 2 日”。如何处理屏幕阅读器的版本号?我看到一些建议使用标签并拼出点的答案,例如:aria-label="2 dot 3 dot 96"。有一个更好的方法吗?

4

2 回答 2

2

在 stackoverflow 和其他地方已经有几个类似的问题,关于数字和其他没有像页面作者期望的那样发音的东西。相同的答案适用于解释为日期的版本号:您最好什么都不做,并且在没有任何特殊内容的情况下编写它。

问题是数字的发音取决于很多层:

  • 浏览器及其公开可访问性树的方式。
  • 操作系统、屏幕阅读器及其设置。例如,Jaws 提供了许多选项,可以改变数字和日期的解释和说出方式。
  • 使用的声音。相同的屏幕阅读器,在相同的操作系统上,使用相同的浏览器,但使用不同的声音,确实可以非常不同地阅读相同的文本。

您可以尝试几件事,例如将其分隔为不同的<span>,添加或删除空格,通过 aria-label 编写“点”等。

但是,这样做很可能会改善某些用户的发音,而降低其他大多数用户的发音。操作系统、浏览器、屏幕阅读器和语音的组合太大,无法测试所有内容。

所以最好是保持务实,不要做任何特别的事情。保留您的版本号,因为它通常在任何地方完成。屏幕阅读器用户通常习惯于这种发音怪癖,并且可以在必要时调整选项和设置字典。

于 2020-04-10T18:07:46.350 回答
1

简答

使用<p aria-label="Version 2 point 3 point 96">Version 2.3.96</p>,这将在大多数流行的屏幕阅读器中正确解析。确保没有<spans>从文本中拆分版本号,使用aria-label作为矫枉过正/备份。

长答案

通常我会建议永远不要干扰屏幕阅读器的发音方式,正如@QuentinC 所建议的那样。

但是在这种情况下,我会说你确实想尝试解决这个问题,因为听到读取的日期应该有版本号可能会非常混乱(是软件的编写日期,是公司的日期形成了吗?谁知道呢!)。

这是屏幕阅读器中的解析问题,与大多数人不喜欢阅读方式的问题截然不同,请仅针对此示例遵循以下建议。

修复一个,改变你的标记。

您没有添加标记,但以下解释基于我的测试。

只需在版本号前添加“版本”,此问题实际上会自行解决(至少在我的测试中的 JAW、NVDA 和 VoiceOver 中)。

我的猜测是您的版本号格式类似于以下内容:

<p>Version <span>2.3.96</span></p><p>2.3.96</p>没有“版本”一词。

通过删除<span>第一个示例中的 JAWS、NVDA 和 VoiceOver 在我的测试中正确读取以下内容:

<p>Version 2.3.96</p>

一旦在<span>版本号周围添加 ,数字的上下文就会丢失(<span>元素内的文本会自行评估),因此屏幕阅读器将尝试在没有任何上下文的情况下自行解析它,并确定它是一个日期。

当然使用aria-label会解决它吗?

aria-label可能不适用于没有表示它们是活动元素的静态元素<div><span>role,因此它很可能对您不起作用。

出于这个原因,我不建议尝试aria-label单独解决此问题,但是为确实考虑它的屏幕阅读器添加它是一个不会受到伤害的步骤。

这是我唯一一次建议干扰屏幕阅读器的讲话方式,请不要将此作为解决其他发音问题的步骤,因为这是解析问题而不是发音问题。

考虑到这一点,我建议您使用以下内容:

<span aria-label="Version 2 point 4 point 99">Version 2.4.99</span>

周围有<span>,<p>或其他内容块。

于 2020-04-10T19:16:42.183 回答