讲述人在扫描模式下读取隐藏元素
Posted
技术标签:
【中文标题】讲述人在扫描模式下读取隐藏元素【英文标题】:Narrator reads hidden elements in scan mode 【发布时间】:2018-10-12 00:17:54 【问题描述】:我有 WPF 代码,其中叙述者读取隐藏的切换按钮。它显示“展开/折叠按钮”。我什至将它设置为折叠。并将 focusable 属性设置为 false。这些都不起作用。有没有我可以使用的属性?
【问题讨论】:
自从我遇到这种情况已经有一段时间了,但经历了类似的情况,我最终只是将功能从 UI 中移出,但我看到人们在this article 上喜欢 #4,因为 wpf 没有t 像 UWP 一样具有 AccessibilityView=Raw。 作为测试,我能够自定义 AutomationPeer 并覆盖 IsControlElementCore() 方法以返回 false。这将从讲述人隐藏元素。但是在我的应用程序中,我需要隐藏的切换按钮是使用 ListBox 模板生成的。我使用 Setter 将特定条件的可见性设置为 Collapsed。因此,如果我自定义我的 Control ,它将隐藏叙述者的所有切换按钮。有解决办法吗? 通过使用列表框模板生成,您可能在谈论 ListBoxItem 本身吗?还是仅在项目中的单独控件?如果没有代码审查,这是一个很难回答的问题,我很快就会下线。 【参考方案1】:如果按钮折叠,叙述者不应阅读内容。不幸的是,.NET Framework 中的一个错误阻止了正确的行为。您可以通过覆盖其自动化对等方中的 IsControlElementCore() 方法来修复它。
如何做到这一点的详细信息: https://thinkrethink.net/2019/02/11/wpf-narrator-reads-collapsed-content
【讨论】:
【参考方案2】:您可以使用 aria-hidden 并将其设置为 true 以从 narrator 的扫描模式中隐藏元素。
【讨论】:
以上是关于讲述人在扫描模式下读取隐藏元素的主要内容,如果未能解决你的问题,请参考以下文章