reg*_*ngi 5 accessibility ios voiceover swift
我有UITextView两个不同的超链接。为了让 VoiceOver 打开时有机会在两个链接之间进行选择,我做了:
class MyTextView {
override func awakeFromNib() {
super.awakeFromNib()
let str = "xxxxxx Option 1 yyyy Option 2"
let attrStr = NSMutableAttributedString(str)
let rangeOption1 = (str as NSString).range(of: "Option 1")
let rangeOption2 = (str as NSString).range(of: "Option 2")
attrStr.addAttributes([.link: "option1", range: rangeOption1])
attrStr.addAttributes([.link: "option2", range: rangeOption2])
self.attributedText = attrStr
}
override var isAccessibilityElement: Bool {
get { return true }
set {}
}
override var accessibilityLabel: String? {
get { return "Link Options" }
set {}
}
override var accessibilityCustomActions: [UIAccessibilityCustomAction]? {
get {
return [
UIAccessibilityCustomAction(name: "Choose Option One", target: self, selector: #selector(option1)),
UIAccessibilityCustomAction(name: "Choose Option Two", target: self, selector: #selector(option2))]
}
set {}
}
@objc func option1() { print ("Option 1") }
@objc func option2() { print ("Option 2") }
}
Run Code Online (Sandbox Code Playgroud)
我在第33 分钟的WWDC 视频之后做了这个。我无法管理的是它说向上或向下滑动以选择自定义操作,然后在 textView 聚焦时双击以激活。
现在它说“xxxxxx Option 1 [pause] link [pause] yyyy Option 2 [pause] link [pause]”
一旦 textView 聚焦,如果我向下滑动它,它会告诉我“选择选项一”和“选择选项二”。如果在它说“选择选项 X”之后我双击,则选择了更正选项。
从技术上讲,一切都很好,我只想像视频中那样向用户宣布说明。最坏的情况我只会将它附加到accessibilityLabel,但这很麻烦。
| 归档时间: |
|
| 查看次数: |
1215 次 |
| 最近记录: |