项目场景:
VoiceOver是iOS系统中一项重要的辅助功能,尤其是对绝大部分视力障碍人士格外重要。在iOS开发过程中,通过双指向右滑动屏幕,VoiceOver的默认阅读顺序是从左到右,从上到下,依次遍历所有屏幕上的控件按钮等可交互组件并阅读它们的信息内容。但是当我们的主视图是UIScrollView或者UITableView时,由于其可能会包含很多内容,所以有时我们会要求VoiceOver优先遍历所有可交互控件,再去阅读存在于UIScrollView或者UITableView中的内容。此时,我们就可以通过修改AccessibilityElements以调整VoiceOver阅读顺序。
问题描述
例如在下面的视图中:

VoiceOver的阅读顺序为:
NavigationBar中的按钮UITableView中的所有单元- 底部的三个按钮
但在实际应用中,由于UITableView中的单元可能会几十甚至上百个,因此我们应该优先阅读位于底部的按钮,最后才是UITableView中的单元。
解决方案:
通过改变UIViewController的AccessibilityElements,从而调整VoiceOver的阅读顺序:
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.accessibilityElements = @[self.navigationItem, self.button, self.tableView];
}
@end










