【问题标题】:Accessibility: How to always set the focus on the navigation item's title view辅助功能:如何始终将焦点设置在导航项的标题视图上
【发布时间】:2013-04-09 14:18:33
【问题描述】:

我在我的应用程序中使用 UINavigationController。 当使用 VoiceOver 时,当一个新的 ViewController 被推送时,backButton 具有焦点。

如果视图出现,我宁愿让 titleView 的 accessibilityLabel 成为焦点, 以便首先读取它的accessibilityLabel。

当我第一次创建并推送视图控制器时,使用 UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem);the titleView 似乎很集中。 但是当我从另一个视图控制器(推到第一个视图控制器)回来时,焦点再次在后退按钮上。

【问题讨论】:

  • 这通常是 VoiceOver 对导航控制器的工作方式。您的用户会期待这种行为,您确定要更改它吗?
  • 我可能希望了解当前屏幕实际提供的内容,也许导航“返回”并不是一开始最重要的事情?
  • 你在哪里打电话给UIAccessibilityPostNotification?尝试从viewDidAppear: 调用它。

标签: ios accessibility voiceover uiaccessibility


【解决方案1】:

我应该设置titleView 的accessibilityLabel,而不是navigationItem。 以下作品:

- (void) viewDidLoad
{
   ...
   self.navigationItem.titleView.accessibilityLabel = @"[text-to-speak]";
}
- (void) viewDidAppear
{
  [super viewDidAppear];       
  UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem.titleView);
}

【讨论】:

  • 当您从模态视图返回时是否有效?我不能让它不去后退按钮。第一次显示屏幕时工作正常,但任何后续“出现”总是转到后退按钮。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 2014-03-11
  • 2012-02-07
  • 2021-11-29
相关资源
最近更新 更多