辅助对焦

问题描述:

配备无障碍辅助对焦

虽然VoiceOver会读出在应用程序中元素的顺序工作,反正是有元素之间的焦点转移? 我尝试使用“nextResponder”,但它不工作。

+1

**赏金!! YEAH !!! **我想知道(如果可能的话),我怎样才能告诉配音从* UIToolbar中的最后一个UIToolBarButton跳转到主视图中的第一个对象,这样用户就可以*遍历所有的无限控制屏幕...可能吗? – nacho4d 2012-04-19 11:27:04

+0

**编辑:** UIToolbar中的最后一个按钮是整个屏幕中的最后一个控件,所以按下VO + rightArrow什么也不做(通常按下VO + arrowRight会*跳转*到下一个控件,但由于这是最后一个控件停止)。在这种情况下,我想告诉VoiceOver *跳转*到第一个对象,以便用户可以通过scree中的所有控件无限循环。我希望现在能更好地解释:) – nacho4d 2012-04-19 14:39:26

这是在黑暗中拍摄的照片,但是您是否试图根据想要更改订单的方式更改accessibilityLabel或accessibilityHint?如果您可以诱使VoiceOver相信文本已经改变,我会期望它能够适当地改变焦点。

时间将是困难的部分,因为它没有出现在VoiceOver抓取您的视图时有任何委托回调,所以您可能必须估计在尝试更新辅助提示/值之前要通过的时间。

我最后的想法是将UIView标记为UIAccessibilityTraitUpdatesFrequently可访问性特征。如果不使用隐藏的Apple库,这可能是最接近的。

随着iOS 6后,您可以将焦点设置到一个特定的元素与UIAccessibilityLayoutChangedNotification,传递元素

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, firstBottom); 

,但如果你想彻底改变“选项卡顺序”我不知道一种办法。

+0

据我所见,UIAccessibilityLayoutChangedNotification可以从iOS 3中获得。iOS 6中有哪些变化? – 2013-04-04 06:54:17

+0

在iOS 6之前,没有任何文件表明你可以传递任何特定的值。而且,我很确定传递一个值没有做任何有用的事情。 – 2013-04-04 13:52:07

+0

哦,目前的文档并没有反映这一点。 – 2013-04-04 14:00:00

查看this post了解如何处理语音转换元素的特殊排序。我刚刚在我正在开发的应用程序中使用这种方法。

我试过UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,elementName);改变对不同元素的关注。行为是焦点转移到新元素,但Voice Over会首先宣布页面标题,然后宣布新元素的可访问标签值。