在我的iOS应用程序中,我使用UILabels作为标题;为了便于访问,我将它们的accessibilityTraits
设置为.header
。我以为可以通过将每个文件的attributedText
设置为一个属性化字符串(该字符串的整个范围都应用了.accessibilityTextHeadingLevel
)来使文件头和子文件头的层次结构更加清晰,但这似乎不会在可访问性体验方面产生任何差异。.accessibilityTextHeadingLevel
应该有什么效果?我看到了关于如何设置它的文档,但没有说明它实际 * 做 * 什么。
1条答案
按热度按时间mzillmmw1#
我看到了关于如何设置它的文档,但没有说明它实际做什么。
不幸的是,你是对的......关于它的用途还没有明确的解释。
然而,声明该属性仅用于符合UITextInput协议的视图,例如UITextView。
.accessibilityTextHeadingLevel应该具有什么效果?
该键背后的基本原理可以是提供与例如网页中的结构相同的结构。
我不确定这是否相关,但它看起来像另一个工具,可能是有趣的使用语音,即使我不相信它的效率。
要注意此属性的效果,请尝试以下代码,以便在文本视图中选择标题行时监听 “heading level x”。
这个属性的不明确目标的论据是它没有在WWDC系列中引入:用一个简单的例子简单地提到它就足够了。
最后,我希望这个回报是令人满意的回答您的第一个问题,并允许您继续实现您的应用程序中的画外音。
我针对此问题编写了开发人员技术支持事件 (DTSI #796394403),Apple回答说:
1.目前还没有办法快速访问每个具有此属性的元素 (例如转子项目)。
1.从技术上讲,UIAccessibilityTextAttributeHeadingLevel引用的
h
值类似于HTML标记h1
、h2
的值。最后,我得出结论:
UITextField
使用此属性没有意义,只有UITextView
可能与指出某些元素的重要性有关 (只有这两个对象符合UITextInput
协议)。.accessibilityTextHeadingLevel
的效果仅依赖于在特定条件下指定文本的标题级别,这是由于必须遵守的协议。