这是我创建UITextView的简单代码.
UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds]; textView.editable = NO; textView.text = @"Using iOS 3.0 and later,VoiceOver is available to help users with visual impairments use their iOS-based devices. The UI Accessibility programming interface,introduced in iOS 3.0,helps developers make their applications accessible to VoiceOver users. Briefly,VoiceOver describes an application’s user interface and helps users navigate through the application’s views and controls,using speech and sound. Users familiar with VoiceOver in Mac OS X can leverage their experience to help them quickly come up to speed using VoiceOver on their devices."; [self.view addSubview:textView];
鉴于我不可能在这里做任何错误,我只是想知道这是否是一个预期的行为或者也许有人也面临的错误:
启用语音启用后,我希望整个文本视图轻按“突出显示”,然后将其可访问性标签读取到用户,并在双击之后,将整个文本视图的文本读取.
但是发生的情况是,文本视图的一小部分被突出显示(通常为2行),accessibilityLabel不被读取,而第一行的“突出显示”行和第二行的第一个字母(!一个用户双击,整个文本被读取.
特别是阅读第二个突出显示的第一个字母混淆了我.加上应该不可访问性总是从头开始阅读?
这对我看起来很大,但是苹果一直非常注重可访问性,所以我怀疑我是否应该报告,可能是这样的意思.
另一个问题:是否有一种方法可以实现以下行为(无需分解UITextView)启用配音时:用户点击UITextView – >可访问性标签和整个文本被读取?
解决方法
如果有人在这里有这个问题是答案:
textView.accessibilityTraits = UIAccessibilityTraitStaticText;