我一直在玩我的Mac上的VoiceOver和Text to speech功能。我注意到数字和标点符号的发音方式存在一些差异。例如句子"年份是1978年",当我突出显示它并使用文本到语音时,它被完全读出。然而,有了画外音,它会读到"这一年是一个九七八"。
如何告诉屏幕阅读器我想以某种方式发音?我可以为这种行为添加ARIA属性吗?
不仅是日期和年份,还有价格和标点符号(可能还有很多其他东西!)。
答案 0 :(得分:0)
我认为您无法使用当前可用的API控制语音输出。
我假设您在引用ARIA属性时谈论的是HTML页面。 WAI ARIA没有控制屏幕阅读的属性。我相信W3C正在推出文本到语音合成标记语言(SSML),以便更好地控制语音输出。
如果您的问题与原生Mac OS应用程序屏幕有关,则可以查看Apple's Speech Synthesis APIs。
Apple VoiceOver以及Microsoft Windows Narrator是非常基本的屏幕阅读器,内置很少或没有智能.Apple的文本到语音转换不多,但它仍落后于商业屏幕阅读器,如JAWS。但好处是视力受损的用户通常拥有良好的屏幕阅读器,可以恰当地阅读您的内容。
答案 1 :(得分:0)
通用语音合成器允许其客户端配置是将数字读取为单词还是拼写(全局默认设置和每个特定情况设置)。例如。 Apple的语音合成API使用NSSpeechNumberModeProperty
属性传播这种可能性。然后,VoiceOver用户可以在VoiceOver Utility>中仅设置全局(或最佳每个应用程序)默认值。详细程度>文字> “读取数字为:”。
现在,如果您想影响屏幕阅读器在网络内容中发音的方式,那么就有CSS Speech Module。它定义了speak-as
属性,其值可以为normal
或digits
。
然而,特定版本的特定屏幕阅读器和特定版本特定操作系统的特定浏览器上的特定版本的组合是否会尊重此类CSS值是您必须自己尝试的事情。 OS X上的辅助功能API当前无法在返回的字符串中指定数字的发音,因此如果它适用于WebKit,则必须对这些公共辅助功能API使用某些私有扩展。我刚试过OS X 10.9.3,但这不起作用。
如果我不得不猜测,你会很幸运地找到一个屏幕阅读器/浏览器/操作系统的组合,这将在现在实施。但这只是猜测。