Заставьте VoiceOver сказать «Проведите пальцем вверх или вниз, чтобы выбрать пользовательское действие, затем дважды нажмите, чтобы активировать». - PullRequest
0 голосов
/ 01 марта 2019

У меня есть 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") }
}

Я сделал это после этого WWDC видео от мин. 33. Я не могу управлятьчто он говорит Проведите пальцем вверх или вниз, чтобы выбрать пользовательское действие, затем дважды нажмите, чтобы активировать , когда текстовое представление сфокусировано.

Прямо сейчас это говорит "xxxxxx Вариант 1 [пауза]ссылка [пауза] гггг Вариант 2 [пауза] ссылка [пауза] "

После того, как текстовое представление сфокусировано, если я проведу по нему вниз, оно сообщит мне« Выберите первый вариант »и« Выберите второй вариант »».Если после того, как он скажет «Выбрать опцию X», я дважды коснусь, будет выбрана опция исправления.

Технически все хорошо, я просто хочу сообщить пользователю инструкции, как это делается в видео.В худшем случае я просто добавлю это к accessibilityLabel, но это глупо.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019
  • Когда установлена ​​ accessibilityCustomActions , ОС объявляет «Доступные действия. Проведите пальцем вверх или вниз, чтобы выбрать пользовательское действие, затем дважды нажмите, чтобы активировать»
  • . Вы можете установить accessibilityHint для предоставления настраиваемого сообщения.
0 голосов
/ 01 марта 2019

Я могу ошибаться, но действия не могут быть прочитаны, как вы упомянули , только настраиваемые значения могут.

Я следил за содержанием этого видео благодаря этому подробномурезюме и я услышал:

  • "Регулируемый, проведите пальцем вверх или вниз одним пальцем, чтобы отрегулировать значение " для регулируемого элемента: video .
  • «Действия доступны» только при выборе элемента с пользовательскими действиями: video .

«Доступные действия» считываются только с действиями , так как вы реализовали, у вас не может быть ничего другого изначально.

Если я ошибаюсь, пожалуйста, дайте мне знать, сколько времени в видео WWDC выслышали, что вы упомянули, пожалуйста?

Теперь, если вам нужна дополнительная информация с чертой .adjustable, включая иллюстрации и фрагменты кода (ObjC + Swift) , я предлагаю вам взглянутьна этот сайт .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...