可访问的值,0:00 作为持续时间而不是时间,1/12/2023 作为日期,等等

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

我有一些 html 文本,NVDA 屏幕阅读器(通过语音查看器)显示为以下文本

row 9  Tue 28/11/23
First Hours 6:00
Second Hours 0:00
Third Hours 0:00  column 7

然后像这样大声朗读

row 9  Tue 28 slash 11 slash 23
First Hours six
Second Hours zero o'clock
Third Hours zero o'clock
 column 7

即它认为 6:00 是一个持续时间,0:00 是一个时间(它不是),并且它不识别日期

我找不到任何咏叹调标记来向屏幕阅读器指示这些值的实际含义?

accessibility wai-aria
1个回答
0
投票

最好的解决办法是。 。 。保持原样,什么都不做。

您可能会想使用视觉隐藏+咏叹调隐藏技术,用完整的更正来替换您认为不正确的文本:

<span aria-hidden="true">Text that was incorrectly read</span>
<span class="visually-hidden">Replacement visible only by screen readers</span>

但是,这是一个非常糟糕的主意,特别是对于数字、日期、时间等,原因如下:

  • 对于盲文用户来说,全文阅读“0 分钟,0 秒”比“0:00”要长得多,也更难理解
  • 并不是所有人对所有事物的解读都完全相同,你不应该强加自己的方式。例如,有些人喜欢按原样阅读文本,而不进行任何解释。通过强加自己的方式,你很可能会制造出比解决的问题更多的问题。
  • 屏幕阅读器用户习惯了发音怪癖并且很好理解它们,因此您无需特别关心。再一次,通过强加自己的方式,你很可能会制造出比解决的问题更多的问题。
  • 不同的屏幕阅读器,甚至不同的声音对号码、日期和时间的威胁也不同,所以这可能对你来说是个问题,但对其他人来说不是问题。例如,我对带有 Eloquence 合成器的 Jaws 没有任何问题,它表示“0:00”为“零小时”。
  • 盲人用户并不傻,即使读到的内容与意思不完全相符,他们也能理解。例如,“3:12”读作“3 小时 12”,但原则上从上下文来看,如果它实际上意味着 3 分 12 秒而不是 3 小时 12 分钟,那么它是显而易见的。

一般来说,用另一种替代文本替换某些文本是一个坏主意,并且可能会产生比解决更多的问题。

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