【问题标题】:TextKit and VoiceOverTextKit 和旁白
【发布时间】:2014-05-05 00:01:25
【问题描述】:

我一直在关注 iOS7 Day-by-Day 多页 TextKit 教程,但遇到了可访问性问题。教程代码在这里:iOS7 Day-by-Day

问题是每个文本视图(每列一个,每个“页面”两个)似乎包含整个字符串,并且启用 VoiceOver 时,每次一列获得焦点时,都会从最从字符串的开头到最后,而不是读取列中实际可见的文本。

textviews/columns 是使用新的 iOS7 方法创建的

UITextView *textView = [[UITextView alloc] initWithFrame:textViewFrame textContainer:textContainer];

如何让 VoiceOver 只读取每列中的可见文本?

【问题讨论】:

    标签: ios voiceover textkit uiaccessibility


    【解决方案1】:

    听起来您只需要确定哪些文本是可见的,然后将其传递给 VoiceOver。

    为此,您可以使用two possible methods found in this related question 和可见文本的范围you can then create a substring,例如:

    NSString *textToPassToVoiceOver = [[textView.text] rangeOfSubstring:visibleTextRange];
    

    有道理吗?

    【讨论】:

    • 有点。在计算了如何将其放入列和文本容器中之后,必须再次计算文本的可见范围是不是有点奇怪?另外,如何将子字符串传递给 VoiceOver?这是否意味着我必须手动为每个 textview 设置accessibility.label?这一切都感觉像是一种解决方法。为什么不简单地将 textviews 文本属性设置为它所代表的文本容器?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多