如何防止屏幕阅读器/叙述者读取WPF中隐藏的控件?

时间:2012-02-20 23:43:35

标签: wpf xaml automation accessibility screen-readers

我有一个WPF应用程序,它需要支持可访问性。我有一个TextBlock,在某些条件下将其Visibility设置为Collapsed。

Windows 7旁白和NVDA屏幕阅读器都宣布了TextBlock,因此可见性设置为折叠。

我需要做些什么才能防止它被阅读?

3 个答案:

答案 0 :(得分:0)

你试过禁用它们吗? 自从我上次参与WPF辅助功能以来,已经有一段时间了: - (

答案 1 :(得分:0)

来自MSDN

在4.8之前的.NET版本中,预计当 按钮被隐藏或折叠,按钮UI继续暴露 通过UIA树的Control视图,作为Button元素和 子文本元素。因此,屏幕阅读器可以导航至 这些元素,尽管Button没有视觉表示。在 .NET版本4.8,当按钮被隐藏或折叠时,相关联 Button元素和Text元素已从 UIA树。请考虑您的应用是否可行 利用.NET版本4.8中提供的这项改进。

要利用.NET 4.8引入的修复,请重新构建您的应用 定位到4.8或更高版本,或更新应用的配置文件,例如 如果将.NET版本与 改进已安装在运行该应用的设备上,甚至 如果尚未重建您的应用程序以专门针对该版本 .NET。

要详细了解如何配置应用以利用 .NET的特定版本中提供了与可访问性相关的修补程序, 即使您的应用尚未重建为针对该版本的 .NET,请访问Accessibility switches

答案 2 :(得分:-1)

Add the aria-hidden="true" attribute to your element. aria-hidden indicates that the element and all of its descendants are not visible or perceivable to any user as implemented by the author.

You will need to remove this attribute (or set it to false) when your content becomes visible.

AT support was spotty a couple of years ago but it's 100% now, see the table here: http://terrillthompson.com/tests/hiddencontent.html

相关问题