Langage d'accessibilité SwiftU... Note

Langage d'accessibilité SwiftUI

Lorsque vous créez une application d'apprentissage des langues avec SwiftUI, VoiceOver peut ne pas prononcer correctement le texte s'il est dans une langue différente de la langue définie pour l'appareil. Pour corriger cela, vous devez modifier la langue d'accessibilité utilisée par VoiceOver. En UIKit, vous pouvez définir la propriété accessibilityLanguage sur les labels de texte, mais ceci n'est pas disponible en SwiftUI. Une solution suggérée est d'utiliser AttributedString avec l'attribut accessibilitySpeechLanguage, mais cela ne fonctionne pas. Une autre solution consiste à modifier l'environnement de localisation pour chaque vue à l'aide du modificateur environment. Cependant, cela ne fonctionne que si vous utilisez l'initialisateur verbatim pour la vue Text, car il traite le texte comme une clé de chaîne localisée par défaut. Cette solution fonctionne pour les vues Text, mais nécessite une forme plus longue pour les vues comme Label. Vous pouvez appliquer la localisation au label ou à la vue texte enfant, mais si vous utilisez un Label avec une icône, la localisation ne prend effet que lorsqu'elle est appliquée au Button. Cela signifie que VoiceOver prononcera "bouton" dans la langue modifiée, mais le texte principal sera prononcé correctement. Globalement, modifier l'environnement de localisation pour chaque vue est la solution pour changer la langue d'accessibilité utilisée par VoiceOver dans SwiftUI.