如何让 Xamarin 中的 VoiceOver 不读出视图类型?

How can I make VoiceOver in Xamarin not read out the type of view?

所以 - 我有一个用作按钮的图像。

someKindOfButton = new Image
{
   Source = //...
   // stuff like height and width and stuff
};
TapGestureRecognizer tappedImage = new TapGestureRecognizer();
tappedImage.Tapped += TappedTheImage; // a method to change the value the image is bound to

我正在将这张图片添加到我的无障碍树中

someKindOfButton.SetAutomationProperties("Page.Image.someKindOfButton", "click this nice button")

但是当我关注这个漂亮的按钮时,它会显示“单击这个漂亮的按钮 - 图像”。

我现在不确定为什么会这样,以及如何让它不显示为“图像”。这也不是一个单一的问题,我还在其他我不想要的地方读取了一些其他小部件,比如“页面标题名称 - 填充”。有些地方我希望它那样,有些地方我不希望它那样。

我是否提供了足够的信息来生成解决方案?我对辅助功能和 xamarin 比较陌生,并且正在处理一个现有项目 - 所以如果需要更多详细信息,请发表评论,以便我提供。

更新:最好的解决方案是改用按钮并将图像分配给它。虽然它会发出 'button' 的发音,但不会造成混淆。

VoiceOver 需要告知控件的类型,以便用户可以了解他可以执行的操作。例如,如果您导航到 table,知道它是 table 很重要,因为它具有其他控件不支持的非常具体的命令。在某种程度上,这与没有视力问题的人的经历相似 - 他知道那是 table,你无法向他隐瞒这个事实。

据我所知这是不可能的,我认为这是有充分理由的。