屏幕阅读器读取禁用按钮的AutomationProperty.Id

时间:2019-03-18 23:37:52

标签: c# wpf button accessibility screen-readers

我添加了一个简单的WPF窗口,其中包含两个按钮。 通过某种逻辑使按钮可见,并具有更改其VisibilityIsEnabled属性的绑定。 现在,我正在使用Windows导航器进行测试,并且看到默认的Windows导航器正在读取有关按钮的信息,即使它们不可见。 当按钮被禁用或不可见时,如何使屏幕阅读器(或Windows默认导航器)无法读取该按钮?

<Button Margin="0,0,80,10" Height="25" HorizontalAlignment="Right" Name="failedButton" 
        VerticalAlignment="Bottom" Width="75" DataContext="{Binding InstallationViewModel}" 
        Command="{Binding Failed}" 
        Visibility="{Binding Failed, 
                             Converter={StaticResource BooleanToVisibilityConverter}}"
        Content="Failed?" />

1 个答案:

答案 0 :(得分:0)

自动化api读取提供自动化对等项的所有内容。因此,如果您不想让ui元素公开给自动化客户端,则需要覆盖OnCreateAutomationPeer并返回null。这意味着,您可以选择是否支持自动化,但不能在运行时进行更改。