【问题标题】:WPF: How to get screen readers to ignore progress bar status updates?WPF:如何让屏幕阅读器忽略进度条状态更新?
【发布时间】:2011-09-07 19:54:24
【问题描述】:

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

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

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

【问题讨论】:

  • 如何强制引发事件?
  • 我认为这取决于您使用的屏幕阅读器,但您应该可以调用 AutomationPeer.RaiseAutomationEvent (msdn.microsoft.com/en-us/library/…)

标签: c# wpf accessibility screen-readers


【解决方案1】:

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

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

另外,请记住,Narrator 是一个基本的屏幕阅读器,大多数用户实际上会使用 Jaws(售价 800 美元左右)或 NVDA(免费!)之类的东西,因此请考虑与这些用户进行测试以更深入地了解什么真实世界的屏幕阅读器用户会体验到。

【讨论】:

  • 好的,我希望有某种方法至少可以“建议”屏幕阅读器忽略某些元素,但我会尝试使用 NVDA 进行测试,以便更好地了解使用更高级的屏幕阅读器。谢谢!
猜你喜欢
  • 2013-06-20
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多