辅助功能:使具有属性文本的UILabel作为辅助功能容器



>我有一个自定义视图。我捕获视图的屏幕截图并在NSTextAttachment中使用图像作为:

UIImage *image = view.image;
NSTextAttachment *attachment = [NSTextAttachment new];
attachment.image = image;

然后,我使用此附件创建一个可变的属性字符串,如下所示:

NSAttributedString *attrStr = [NSAttributedString attributedStringWithAttachment:attachment];

此代码为所有视图循环,并通过将所有 attrStr 追加为来创建最后一个属性字符串:

[mutableString beginEditing];
[mutableString appendAttributedString:attrStr];
[mutableString endEditing];

然后,将其设置为 UILabel 属性文本。

问题:我希望画外音遍历属性文本中的单个图像。这样每个图像都通过画外音聚焦。

谢谢!!

循环访问单个图像(例如集合视图(的最佳方式依赖于将每个元素定义为包装器中的UIAccessibilityElement,其特征属性为adjustable

要了解如何实现,我建议您查看WWDC 2018 - Deliver an exceptional accessibility experience视频,其内容在此处进行了完美总结,并且可以下载其提供的示例。

使用UIAccessibilityContainer协议也可能是一个有趣的调查轨道。

最后,我认为您不能按原样在属性文本中迭代图像,但是创建一种由之前定义的 VoiceOver 完全理解的可访问结构将允许实现您的目标。

最新更新