UIAccessibilityContainerType.landmark的用途是什么?是否影响VoiceOver体验?
UIAccessibilityContainerType.landmark 详解
核心用途
UIAccessibilityContainerType.landmark用于标记界面中具有独立功能或导航意义的地标性区域,比如顶部导航栏、底部工具栏、主要内容区块、侧边栏这类逻辑上独立的界面模块。它的作用是给辅助技术提供语义化标识,让工具能识别这些区域为重要的导航节点。
对 VoiceOver 的实际影响
- 仅设置
accessibilityContainerType = .landmark不会直接让VoiceOver转子出现“Landmarks”选项,转子的选项显示需要满足系统的特定触发条件。 - 正确配置后,VoiceOver会将该区域识别为地标,用户可以通过双指滑动的手势快速在不同地标区域间切换,大幅提升复杂界面的导航效率。
- 必须配合设置清晰的
accessibilityLabel,VoiceOver才会在定位到该地标时播报对应的描述,让用户明确当前区域的功能。
你没看到变化的可能原因
- 未给目标视图设置
accessibilityLabel,导致VoiceOver无法提供明确的地标播报信息; - 设备系统版本低于iOS 13(该枚举是iOS 13正式引入的);
- 测试时未使用正确的VoiceOver导航手势(双指滑动切换区域),仅关注转子选项导致遗漏效果。
内容的提问来源于stack exchange,提问作者Adil Hussain
相关产品推荐
相关产品推荐

