【发布时间】:2021-10-01 08:33:53
【问题描述】:
我有一个简单的 TabbedView,底部有三个标签图标,在 iOS 中显示得很好。
但是,我对它为有视力问题的人生成的 VoiceOver 文本并不满意。上面写着:
- “标签栏页面 1 之一”
- “标签栏第 2 页,共三页”
- “标签栏第 3 页三之三”
我想让它更友好,我想说:
- “测试 1”
- “测试 2”
- “测试 3”
我尝试使用标准的AutomationProperties.Name 属性来实现这一点,我在应用程序的其他任何地方都使用了它,但是对于 TabbedPage,它完全被忽略了:
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mypages="clr-namespace:radio;assembly=radio"
x:Class="radio.MainPage">
<NavigationPage Title="Page 1" IconImageSource="icon_1.png" AutomationProperties.Name="Test 1" >
<x:Arguments>
<mypages:PageArchive />
</x:Arguments>
</NavigationPage>
<mypages:PagePlayer Title="Page 2" IconImageSource="icon_2.png" AutomationProperties.Name="Test 2" />
<mypages:PageAboutXaml Title="Page 3" IconImageSource="icon_3.png" AutomationProperties.Name="Test 3"/>
</TabbedPage>
有什么想法可能是错的吗?
【问题讨论】:
-
我认为这没有错。这就是它的工作原理。根据Automation properties。某些元素的读取方式与其他元素不同,这也取决于用于此的软件:/
-
对于所有其他实体,我能够自定义 VoiceOver 文本(使其对用户更友好)。在 TabbedPage 中,问题是当涉及到外语时,原来的内置文本没有意义,听起来像“Tab bed Page 2 One 正斜杠三” - 听起来真的很尴尬。我希望能够覆盖它。
标签: ios xamarin.forms accessibility