J'ai un bouton qui peut basculer d'une étiquette étant montré:iOS VoiceOver attendre sur l'élément de terminer la lecture avant de passer à l'élément suivant
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
button.accessibilityLabel = "You can tap this really long string that i'm testing"
label.accessibilityLabel = "This is a label"
}
@IBAction func buttonTapped(_ sender: UIButton) {
label.isHidden = !label.isHidden
if !label.isHidden {
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, label)
}
}
}
Lorsque vous appuyez sur le bouton, si l'étiquette est montré activer l'étiquette être lu par VoiceOver. Le problème est VoiceOver commence automatiquement à lire accessibilityLabel
du bouton lorsque l'utilisateur appuie sur le bouton. Cela signifie que VoiceOver lit la moitié du accessibilityLabel
du bouton avant de passer à la lecture du accessibilityLabel
du label (par exemple, "Vous pouvez appuyer sur ce bouton ... Ceci est une étiquette").
Est-il possible que je peux savoir quand VoiceOver est fait lecture accessibilityLabel
et seulement puis appel UIAccessibilityPostNotification
du bouton? Ou existe-t-il un moyen de désactiver la lecture du bouton par VoiceOver lorsque l'utilisateur appuie sur le bouton?
Un exemple de projet peut être vu ici: https://github.com/rajohns08/VoiceOverTest