我有一个 Visual Studio 2019 解决方案,其中包含两个项目:一个包含登录页面的类库(通用 Windows)和一个仅导航到所述登录页面的空白应用程序(通用 Windows)。
我的要求之一是整体解决方案必须通过可访问性测试。该测试涉及让讲述人(必须是讲述人)阅读屏幕上的所有文本。
我的问题是讲述人仅读取页面加载时具有焦点的文本框的文本。我希望讲述人也能读取 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"等)。我还使用检查工具来验证所有文本框是否出现在控制 View 中。
我错过了什么吗?
非常感谢任何帮助或建议。谢谢!
最佳答案
Narrator does not read the text in a as expected. Only in the selected TextBox
如果您想阅读TextBlock
的文本,请打开“讲述人”扫描模式。然后使用方向键读取您在页面上选择的TextBlock
。
打开讲述人:Ctrl + Win + Enter
打开扫描模式:CapsLock + 空格键
关于c# - 讲述人未按预期读取 TextBlock 中的文本。仅在选定的文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56300706/