如何使Voice0ver正确读取日期

问题描述:

注意:使用Chrome Mac上使用VoiceOver的如何使Voice0ver正确读取日期

如果日期是“2016年9月16日”,什么VoiceOver会读出是“九·一六TH两个零一六” 。有没有什么办法可以把它看成“9月16日两千零六年”。 code pen link

<div tabindex="0" aria-label="September 16th 2016">16</div> 

一种解决方案可能要改变aria-label属性保留“九·一十六届二OO十六条”的文字,但有可以正确读取任何图书馆吗?

+2

VoiceOver用户通常不使用Chrome,他们使用Safari。这就是说,你认为不正确的东西可能对VO用户来说很好,改变它可能会使用户更加困难。找到一些VO用户并首先获得他们的反馈。 – aardrian

我建议你不要试图改变行为。

您假设VoiceOver用户将为此而苦恼。 VoiceOver用户更有可能从他们访问的所有其他网站熟悉这一点,并宣布这样的日期。

如果有的话,考虑摆脱序数指示器(“th”,“rd”,“nd”等)。也许允许它以可视方式显示,但使用aria-hidden将其隐藏在屏幕阅读器中。

此外,VoiceOver用户通常不使用Chrome,他们使用Safari。

我还建议你找一些VoiceOver用户并获得他们的反馈。

SR没有图书馆,为了服从你,你应该是语义的,你看到的是SR宣布的内容,你可以使用带有全文“9月16日两千零六年”的咏叹调标签,它是完全的正确使用A11Y标准。 Tabindex不是a11y的最佳实践。

请使用aria-label并按照您想要的方式朗读,或者请注意,这是VoiceOver(VO)首选项(设置)。

例如。如果您希望您的“2016年9月16日”按预期阅读,请执行以下操作。

  1. 开始的VoiceOver
  2. 保持VO+V(控制+选项+ V)
  3. 这给你一个冗长转子。按向右箭头,直到你达到“数字”
  4. 将其更改为“单词”要经过面板

现在再次尝试读你的文字。它应该按预期阅读。

有时,这是一个屏幕阅读器的首选项。