Gar*_*ryW 4 objective-c ios voiceover uiaccessibility touch-id
我正在努力确保我正在开发的 iOS 应用程序是可访问的,并且正在尝试实施 VoiceOver 以确保这一点。
我找不到任何帮助的一件奇怪的事情是显示 Touch ID 视图时(在我的情况下用于登录应用程序)。VoiceOver 将 ID 发音为单词而不是 ID
我尝试为 NSString 和 LAContext 对象实现可访问性属性,但似乎都没有改变 VoiceOver 读出的内容。代码片段如下:
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) {
......
Run Code Online (Sandbox Code Playgroud)
带有或不带有可访问性属性的上下文的 VoiceOver 的输出始终是标签文本。
非常感谢所有帮助:)
您绝对不应该仅仅为了使 VoiceOver 正确发音而更改辅助功能标签(即不要尝试“破解”标签发音)。原因是 VoiceOver 没有语音输出;它还具有盲文输出,盲人用户希望在书写时准确地逐个字母地阅读事物(即准确地看到所有空格、大写/小写字母等)。如果您确实写了“ID”而不是“ID” ”,那么虽然 VoiceOver 可能会正确发音(在特定版本的 iOS 中),盲人用户在阅读盲文显示器上的“ID”后可能会认为这就是它的实际书写方式和外观,让我们以非专业的方式说然后他们会在与其他人的书面交流中使用这种错误的拼写。
处理这个问题的正确方法是:
关于这些坏消息我很遗憾。
最后,在这里,在 iOS 8.4.1 和 iOS 9.0.2 上,带有默认美国英语 iOS 语音的 VoiceOver,至少在这个网页上,将“Touch ID”中的“ID”发音为 [ajdi:],而不是 [id]。
| 归档时间: |
|
| 查看次数: |
853 次 |
| 最近记录: |