ios - 辅助功能:如何始终将焦点设置在导航项的标题 View 上

标签 ios accessibility voiceover uiaccessibility

我在我的应用程序中使用 UINavigationController。 使用 VoiceOver 时,当按下新的 ViewController 时,backButton 具有焦点。

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

使用 UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, self.navigationItem); 当我第一次创建和推送 View Controller 时,titleView 似乎得到了关注。 但是当我从另一个 View Controller (推到第一个 View Controller )返回时,焦点再次位于后退按钮上。

最佳答案

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

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

关于ios - 辅助功能:如何始终将焦点设置在导航项的标题 View 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15904461/

相关文章:

objective-c - Atom/Electron/Web应用程序和可访问性API(macOS和Windows)

ios - UICollectionView 中的画外音 - 缺少一些翻译

ios - 填充2个不同的PickerView

ios - println(currentWeatherDictionary) 函数不工作

iphone - iOS 代码显示白色区域而不是图像系列

accessibility - 为所有图像添加 aria-hidden true

ios - 在 iOS 中离线打开和存储加密文档

css - 仅显示字形字体的首字母(可访问方式)

ios - 使用 UIAccessibilityAction :accessibilityPerformEscape

html - 如何防止屏幕阅读器在不暂停的情况下阅读列表项的全部内容?