【发布时间】:2015-10-14 19:01:10
【问题描述】:
我正在努力确保我正在开发的 iOS 应用是可访问的,并正在尝试实施 VoiceOver 以确保这一点。
我找不到任何帮助的一件奇怪的事情是当 Touch ID 视图显示时(在我的情况下用于登录应用程序)。 VoiceOver 将 ID 发音为一个单词,而不是 I.D.
我尝试为 NSString 和 LAContext 对象实现可访问性属性,但似乎都没有改变 VoiceOver 读出的内容。代码如下:sn-ps:
LAContext *context = [[LAContext alloc] init];
[context setIsAccessibilityElement:YES];
[context setAccessibilityLabel:@"TEST 2"];
NSError *error = nil;
NSString *label = @"Please authenticate your ID using the Touch ID";
[label setIsAccessibilityElement:YES];
[label setAccessibilityTraits:UIAccessibilityTraitStaticText];
[label setAccessibilityLabel:@"TEST"];
showingTouchID = TRUE;
if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:label
reply:^(BOOL success, NSError *error) {
......
无论上下文是否具有可访问性属性,VoiceOver 的输出始终是标签文本。
非常感谢所有帮助:)
【问题讨论】:
标签: ios objective-c voiceover uiaccessibility touch-id