屏幕 reader 将 1965 年读作 "one nine six five"

Screen reader reads the year 1965 as "one nine six five"

我的 alt 属性为 alt="Henry Lawrence's X-ray from Brandon General Hospital from May 7, 1965.",但是当屏幕 reader 显示年份时,它显示为“1-9-6-5”,而不是“19” -65".

我考虑过在 alt 文本中拼写 "nineteen-sixty-five",但由于屏幕 reader 像 VoiceOver 一样也显示 alt 文本,这可能不是最好的选择。 我该如何解决这个问题?

为什么不这样替换 alt 值:

 alt="Henry Lawrence's X-ray from Brandon General Hospital from May 7, year: 19 65." 

如果你希望它被这样阅读

或者您可以将其全部写在文本中:

 alt="Henry Lawrence's X-ray from Brandon General Hospital from May seventh, year nineteen  sixty-five." 

这是关于 jAWS readeR 及其读取日期和时间的方式的文档:http://lab.dotjay.co.uk/tests/screen-readers/date-time/

很难在不知道您的目标 reader 的情况下为您提供最佳答案。如果不是针对所有屏幕 readers,我认为前 2 个备选方案是一个很好的解决方法。

最好保持原样。不同的文本转语音引擎会以不同的方式阅读它,因此使用不同 TTS 引擎的其他 JAWS(或其他屏幕 reader)用户可能会正确地听到它的口头表达。由于您无法控制它在不同 TTS 引擎中的表达方式,因此您能做的最好的事情就是给它一个准确的标签。

我特别建议不要将标签更改为语言意义较弱的内容,例如“19 65”。例如,考虑使用盲文显示器的 JAWS 用户——这在盲文显示器上看起来很奇怪。对于看到替代文本的视力正常的用户来说,它也会看起来很奇怪。