【发布时间】:2020-10-22 13:50:46
【问题描述】:
我有一种方法可以使用属性字符串(带下划线的范围)将超链接插入到 UILabel 文本的一部分中。所以一个标签可能没有,一个或多个链接。标签上有一个轻击手势,我可以在该手势上确定用户正在触摸文本的哪个部分并触发相应的操作。这部分已经过测试并且工作正常。
当谈到无障碍语音时,它的效果不是很好。唯一可行的方案是使用以下方法设置要访问的整个标签:
LabelMessage.IsAccessibilityElement = true;
LabelMessage.AccessibilityTraits = UIAccessibilityTrait.Link;
我的困难在于让用户能够通过画外音点击该标签内的链接。 Voice over 不知道该标签内有链接。所以它将整个标签读取为一个。我希望画外音来阅读标签,但是当用户单击具有链接的部分文本时,画外音只会突出显示文本的该部分,然后双击将执行操作。我什至不知道这是可以实现的。非常感谢您对此事的任何见解。
【问题讨论】:
-
你好,你的意思是VoiceOver只能读取
UIlable的文字而不能调用点击事件吗? -
也许,这个讨论会有所帮助:stackoverflow.com/questions/39522364/… 你可以看看它。此外,UIAccessibilityCustomAction 可以对可访问对象执行自定义操作。
-
@JuniorJiang-MSFT 这是正确的。我会看看你发送的那个链接,似乎解决了我的问题
-
好吧,如果可以的话,稍后告诉我。
-
@JuniorJiang-MSFT 我什么都做不了。我不得不暂时摆脱这个错误,因为解决它需要很长时间。但我仍在寻找解决此问题的方法。我试图按照这些问题的提示进行操作,但到目前为止似乎没有任何效果;(
标签: ios xamarin uilabel accessibility voiceover