SwiftUI Zugänglichkeitssprache Notiz

SwiftUI Zugänglichkeitssprache

"Beim Erstellen einer Sprachlern-App mit SwiftUI kann es vorkommen, dass VoiceOver Text nicht korrekt ausspricht, wenn er sich in einer anderen Sprache als der Gerätestandort befindet. Um dies zu beheben, müssen Sie die von VoiceOver verwendete Sprache für die Barrierefreiheit ändern. In UIKit können Sie die Eigenschaft accessibilityLanguage für Text-Labels festlegen, aber dies ist in SwiftUI nicht verfügbar. Eine vorgeschlagene Lösung besteht darin, AttributedString mit dem Attribut accessibilitySpeechLanguage zu verwenden, aber das funktioniert nicht. Eine andere Lösung besteht darin, die Umgebung für das Gebietsschema für jede Ansicht mithilfe des environment-Modifikators zu ändern. Dies funktioniert jedoch nur, wenn Sie den verbatim-Initialisierer für die Text-Ansicht verwenden, da der Text standardmäßig als lokalisierter Zeichenketten-Schlüssel behandelt wird. Diese Lösung funktioniert für Text-Ansichten, erfordert aber eine längere Form für Ansichten wie Label. Sie können das Gebietsschema auf das Label oder die Kind-Textansicht anwenden, aber wenn Sie ein Label mit einem Symbol verwenden, wird das Gebietsschema nur dann wirksam, wenn es auf den Button angewendet wird. Das bedeutet, dass VoiceOver "Button" im geänderten Gebietsschema ausspricht, der Haupttext aber korrekt ausgesprochen wird. Insgesamt ist die Änderung der Umgebung für das Gebietsschema für jede Ansicht die Lösung, um die von VoiceOver in SwiftUI verwendete Sprache für die Barrierefreiheit zu ändern."