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

本文关键字:更新 状态 屏幕 | 更新日期: 2023-09-27 18:07:59

最近,我一直在尝试让内置的Windows 7旁白/屏幕阅读器与我的WPF应用程序兼容。关于这一点的信息很少,但我所读到的是,我可以设置一个附加属性(AutomationProperties)。HelpText AutomationProperties.AutomationID)。

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

有人知道这样做的方法吗?

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

这通常是由屏幕阅读器本身控制的,通过用户设置/选项,而不是你可以在应用程序级别做的事情。Windows自带的"叙述者"是一个相当基本的屏幕阅读器;与Jaws或NVDA等更像Word的屏幕阅读器相比,它更像是一个记事本或写字板级别的阅读器。叙述者只有很少的选项,而另外两个可能有各种各样的选项,当屏幕阅读器说出特定事件时,用户可以使用它们来自定义。

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

另外,请记住,叙述者是一个基本的屏幕阅读器,大多数用户实际上会使用像Jaws(售价800美元左右)或NVDA(免费!)这样的东西,所以考虑用它们来测试,以获得更接近真实世界屏幕阅读器用户的体验。