WPF:如何让屏幕阅读器忽略进度条状态更新?

时间:2011-09-07 19:54:24

标签: c# wpf accessibility screen-readers

最近,我一直试图让内置的Windows 7解说器/屏幕阅读器与我的WPF应用程序兼容。关于此的信息非常少,但我读到的是我可以设置附加属性(AutomationProperties.HelpText,AutomationProperties.AutomationID)。

我遇到的问题是UI包含一个进度条,当屏幕阅读器发生变化时,会定期读取当前进度值。在这种情况下,读取进度是不可取的,但我找不到办法解决这个问题。我想也许我可以通过访问与元素相关联的AutomationPeer来设置它,但这似乎不是这种情况(我可以强制引发一个事件,但我不能让它忽略一个事件)。

有谁知道这样做的方法?

1 个答案:

答案 0 :(得分:2)

这通常由屏幕阅读器本身通过用户设置/选项控制,而不是您可以在应用程序级别执行的操作。 Windows附带的讲述人是一个相当基本的屏幕阅读器;与像Jaws或NVDA这样更像Word的屏幕阅读器相比,它更像是记事本或wordpad级别。讲述者有最少的选项,而其他两个可能有各种选项,用户可以在屏幕阅读器说出特定事件时自定义。

所以,长话短说;你在这里无能为力。确保发送事件,屏幕阅读器可以按照用户指示选择读取或不读取事件。

另外,请记住,讲述人是一个基本的屏幕阅读器,大多数用户实际上会使用像Jaws(价格800美元左右)或NVDA(免费!)这样的东西,所以考虑用这些来测试一下一个真实的屏幕阅读器用户将体验。