我有一个包含两个项目的 Visual Studio 2019 解决方案:一个包含登录页面的类库(通用 Windows)和一个简单导航到所述登录页面的空白应用程序(通用 Windows)。
我的要求之一是整体解决方案必须通过可访问性测试。测试包括让讲述人(必须是讲述人)阅读屏幕上的所有文本。
我的问题是讲述人仅在页面加载时读取具有焦点的 TextBox 的文本。我希望讲述人也能阅读 Image 元素和 TextBlock 元素中的文本。这是我在页面中使用的 XAML 的精简版本:
<Page>
<RelativePanel>
<Image
x:Name="Logo"
AutomationProperties.Name="Logo"/>
<TextBlock
x:Name="WelcomeTo"
x:Uid="WelcomeTo"
Text="Welcome to" />
<TextBlock
x:Name="ServiceName"
x:Uid="ServiceName"
Text="Service Name" />
<TextBox
x:Name="UserId"
x:Uid="UserId"
PlaceholderText="User ID"/>
<TextBox
x:Name="Password"
x:Uid="Password"
PlaceholderText="Password"/>
<Button
x:Name="SignIn"
x:Uid="SignIn"
Content="Sign In"/>
<TextBlock
x:Name="Footer"
x:Uid="Footer"
Text="Footer Text" />
</RelativePanel>
</Page>
作为健全性测试,我删除了两个 TextBox 元素以查看焦点是否是问题所在。在那种情况下,旁白没有说出屏幕上的任何文字。我还尝试更改几个 AutomationProperties 字段但无济于事(即 AccessibilityView="Control"、LiveSetting="Assertive" 等)。我还使用 Inspect 工具来验证所有 TextBox 是否都出现在 Control 视图中。
我错过了什么吗?
非常感谢任何帮助或建议。谢谢!