iOS辅助功能 - 如何为UINavigationBar的标题设置辅助功能标签?
苹果的声音错误地发布了我的观点之一的标题,这是在UINavigation Controller中。iOS辅助功能 - 如何为UINavigationBar的标题设置辅助功能标签?
在应用程序的其他部分,我添加了一个自定义辅助功能标签来帮助它正确地发布公司名称。我如何设置UINavigationBar的辅助功能标签?
我不能添加辅助功能的标签,但我发现了一个解决办法:
我更换有无障碍一个UILabel的navigationItem的标题查看建立。
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.text = @"myTitle";
[titleLabel setAccessibilityLabel:@"myCustomAccessiblityLabel"];
[titleLabel setFont:[UIFont boldSystemFontOfSize:20.0]];
[titleLabel setBackgroundColor:[UIColor clearColor]];
[titleLabel setTextColor:[UIColor whiteColor]];
[titleLabel sizeToFit];
self.navigationItem.titleView = titleLabel;
我不确定为什么设置辅助功能标签不起作用,但上面的代码适用于我的需要。
由于UINavigationBar
继承自UIView
,您应该可以设置其accessibilityLabel
属性。试试:yourUINavigationBar.accessibilityLabel = @"title";
。
此外,您可能需要确保确保它被标记为可访问元素与yourUINavigationBar.isAccessibilityElement = YES;
(而不是另一种观点认为它也被标记为可访问性元素中)。 (我猜这最后一点可能是问题所在,因为看起来您已经了解了辅助功能标签,您可以在模拟器中使用辅助功能检查器,通过查看元素周围的框来查看是否属于这种情况点击它,看它是否是周围的东西比导航栏更大)
这对我来说并不适用,我很害怕。我设置了isAccessibilityElement = YES,并且该标题不在另一个被标记为可访问性元素的视图内。 – 2012-07-24 02:12:20
@RobertWagstaff对不起!我承认我从来没有遇到过这个问题,但是在我看来,也许你需要为'UINavigationItem'对象的'titleView'属性来做这件事。 (顺便说一句,这似乎类似于我在过去的可访问性'UIBarButtonItem'的问题,它不像“正常”UIView相关的东西那样。) – Turix 2012-07-24 02:33:49
仍然没有运气,我试过了: self.navigationItem。 title = @“myTitle”; [self.navigationItem.titleView setIsAccessibilityElement:YES]; [self.navigationItem.titleView setAccessibilityLabel:@“AccessibilityTitle”]; loadView – 2012-07-24 03:10:21
感谢您发布您的解决方法! UINavigationBar的问题可能值得向Apple提出。他们在解决与可访问性相关的错误报告(包括上面提到的UIBarButtonItem问题)方面相当不错。 – Turix 2012-07-24 03:32:51
好主意的人! – Husam 2017-11-15 11:38:26