标签: voiceover

iOS 6 MapKit VoiceOver在引脚之前读取POI

在VoiceOver下测试时,我的代码在iOS 5下运行良好.我的代码将集合MKPinAnnotationViewsMKMapView.我在iOS 6中的问题是,在到达我添加的引脚之前,画外音会读取街道名称和其他POI(可能很多).有没有办法重新排序这些?我似乎无法找到Apple关于如何为iOS 6的地图添加引脚的任何建议.

谢谢!

accessibility mapkit ios voiceover ios6-maps

5
推荐指数
1
解决办法
227
查看次数

如何添加到 iOS VoiceOver 转子以获得自定义视图?

最近,我一直在努力使我的应用程序与 VoiceOver 一起运行良好。一般来说,它简单明了,但我想模仿系统应用程序的一些行为,而且我很难找到 API 来进行设置。

特别是,我有兴趣向 VoiceOver“转子”添加几个选项,并在用户增加和减少值时响应它们。然而,尽管像 Apple 的 Maps 应用程序这样的应用程序向转子添加了项目并且能够做出响应,但我不知道如何为我的应用程序这样做。

有没有人成功地做到这一点?如果是这样,如何?

accessibility objective-c ios voiceover

5
推荐指数
1
解决办法
2895
查看次数

在iOS上使用VoiceOver时,如何获取当前关注的元素?

我有一个带有单元格的表格,用户可以滑动以将其标记为"已完成".我试图通过实现accessbilityScroll方法使用VoiceOver来访问它.

这工作正常,但我无法弄清楚当用户滚动时哪个单元格具有焦点.

我只找到有关如何改变焦点的信息.

accessibility objective-c ios voiceover

5
推荐指数
1
解决办法
5115
查看次数

禁用/隐藏辅助功能元素

我试图从 VoiceOver 隐藏我的应用程序中的几个元素,以便屏幕阅读器不会大声朗读它们。在 iOS 上,我设置isAccessibilityElementNO,但这对 OSX 没有影响。从 VoiceOver 隐藏元素的正确方法是什么?

例如,我在视图中包含了一系列标签,如果它们被 VoiceOver 单独朗读,则这些标签毫无意义。我想accessibilityLabel在容器视图上设置来描述嵌套在其中的所有标签。但是如果我这样做,里面的标签仍然会被 VoiceOver 读出。

macos voiceover

5
推荐指数
2
解决办法
2419
查看次数

UITextField:右视图可访问性(voiceOver)

我在UITextField的右视图中添加了两个UIButton,但是voiceOver看不到它们(它“仅读取”包含的视图)。我已经将右视图的accessibilityElementsHidden设置为“否”。我不明白我在做什么错...

编辑:我子类化UITextField,可以与此相关吗?

accessibility uitextfield ios voiceover

5
推荐指数
1
解决办法
338
查看次数

iOS 8.4:滚动视图会在视图出现后不久重置 contentOffset 并启用 Voice Over

启用 Voice Over 后,滚动视图会在视图出现后一秒重置它们的预设 contentOffset。它发生在 iOS 8.4 设备上,9.0 无法重现。看起来一些内部UIScrollViewAccessibility代码setContent:在聚焦时强制滚动视图为零。没有找到任何方法来逃避这一点。

有什么想法吗?

相关代码示例说明了该错误。只需创建一个带有集合视图的视图,创建一个重用 id 为“Cell”的单元格并在其上放置一个标签。

@interface ViewController () <UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout>
@property (nonatomic, weak) IBOutlet UICollectionView *collectionView;
@end
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    self.collectionView.backgroundColor = [UIColor clearColor];
}
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.collectionView reloadData];
    //set there 4 seconds and bug will disappear
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:5 inSection:0] atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:NO];
    });
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    NSLog(@"Why you scroll second time?"); …
Run Code Online (Sandbox Code Playgroud)

accessibility scrollview ios voiceover contentoffset

5
推荐指数
1
解决办法
1127
查看次数

是否可以将可访问性操作分配给UILabel?

在当前的用户界面中,某些标签旁边有一个帮助提示按钮,单击该按钮可解释标签所引用内容的详细信息。这样,VoiceOver会将这两个项目标识为单独的可访问性项目。

但是,当使用可访问性时,我们希望可以在标签本身中完成所有操作。这样,当标签聚焦时,用户将在此处“帐户值20美元(accessibilityLabel),连按两次以获取帮助(accessibilityHint)”。

但是,与按钮不同,标签没有与之关联的动作,因此我不确定如何连线实际触发可访问性手势以表明我想做某事。

除了将所有标签转换为按钮之外,还有什么方法可以监听标签上的可访问性“操作”方法?

我当前的解决方法是仅使“帮助提示”按钮可访问,然后将所有相关信息移至它们的可访问性属性,但这看起来像是代码异味,因为开发人员在更新代码时很容易错过它。

accessibility uilabel ios voiceover swift

5
推荐指数
1
解决办法
1474
查看次数

如何为 tableview 上的 webview 内容启用 VoiceOver

通常,VoiceOver正确读取加载的网页内容,WKWebView并且可以读取按钮和链接。

但是,?当我说WKWebViewUITableViewCell,并显示在UITableVIewVoiceOver无法识别它。

根据苹果的tableview文档,为了让每个内容都分别UITableViewCell被识别VoiceOver,需要将isAccessibilityElementcell设置为false isAccessibilityElement,view设置为true。

但如果isAccesibilityElementofWKWebView设置为 true,视图本身是聚焦的,我们无法识别内部网页内容。

此外,VoiceOver在加载 Web 内容后第一次启用时,它执行了可以识别 Web 内容的奇怪行为。

怀疑是VoiceOver内容识别时序的问题,我试了一下运行

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil)
Run Code Online (Sandbox Code Playgroud)

或者

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil)
Run Code Online (Sandbox Code Playgroud)

加载网页内容后,却没有得到好的结果。

是否有处理内容的一个好办法wkwebviewtableViewVoiceOver

accessibility ios voiceover uiaccessibility swift

5
推荐指数
1
解决办法
2883
查看次数

ios VoiceOver 焦点不会超出导航栏

VoiceOver 焦点不会超出导航项目。我向右滑动,但焦点被困在导航项的最后一个元素上。可能它应该移动到 ViewController 视图的第一个元素。我设置了accessibilityElements并使每个元素isAccessibilityElement = true。如果我尝试点击 ViewController 的任何元素,则会将焦点困在状态栏上。

navigationbar ios voiceover uiaccessibility swift

5
推荐指数
1
解决办法
1006
查看次数

VoiceOver 大写的小词被读为缩写

我有以下标题

<h1>ADD MONEY</h1>
Run Code Online (Sandbox Code Playgroud)

它被 VoiceOver 读为

加钱

而如果我将文本更改为小写,它将正确读取为“加钱”。你有什么建议吗?我已经尝试过使用aria-labelledby没有运气!

html accessibility screen-readers voiceover wai-aria

5
推荐指数
1
解决办法
1741
查看次数