Gibt es eine Möglichkeit, mit der nativen Unicast-Unterstützung von VoiceOver über Unity3d zu kommunizieren? Wir haben eine Anwendung, die zugänglich sein muss, und wir sind nicht sicher, wie wir vorgehen sollen.
Das Erstellen eines eigenen benutzerdefinierten VoiceOver ist nicht möglich, da wir Sprachunterstützung benötigen. Daher müssen wir nativ werden. Unser Bauchgefühl sagt uns, dass wir mit iOS über ein Plugin kommunizieren sollen, aber es scheint, dass die iOS-Hardware Unity-Taps nicht erfassen kann, aber es scheint auch einige unserer Gesten zu überschreiben.
Jeder Vorschlag wäre willkommen.
Es gibt einige Hinweise hier
Im Allgemeinen erstellen Sie keine Barrierefreiheitselemente für Elemente in Ihrer Anwendung, da standardmäßig auf UIKit-Steuerelemente und -Sichten zugegriffen werden kann. Wenn Sie jedoch über eine Ansicht verfügen, die Nichtansichtselemente enthält, z. B. Symbole oder Textbilder, auf die Benutzer mit Behinderungen zugreifen müssen, erstellen Sie Barrierefreiheitselemente, um sie darzustellen. In diesem Fall sollte die umschließende Ansicht das informelle UIAccessibilityContainer-Protokoll implementieren und mithilfe dieser Methode ein Accessibility-Element erstellen, das alle Elemente darstellt, die einer assistiven Anwendung zugänglich gemacht werden sollen.
und hier
Das informelle UIAcessibilityContainer-Protokoll bietet UIView-Unterklassen die Möglichkeit, ausgewählte Komponenten als separate Elemente verfügbar zu machen. Beispielsweise kann eine Ansicht Symbole oder gezeichneten Text enthalten, die für Endbenutzer als separate Elemente angezeigt werden und als separate Elemente fungieren. Da diese Komponenten jedoch nicht als UIView-Instanzen implementiert sind, sind sie für Benutzer mit Behinderungen nicht automatisch zugänglich. Daher sollte eine solche Containeransicht die UIAccessibilityContainer-Methoden implementieren, um Zugänglichkeitsinformationen zu diesen Komponenten für assistive Anwendungen wie VoiceOver bereitzustellen.
Ich bin nicht vertraut mit Unity selbst, aber es scheint möglich zu sein, gehende Ansicht zu hacken, um Barrierefreiheit zu unterstützen - Sie können eine Menge von UIAccessibilityElemets
erstellen, die aktuell sichtbare Elemente auf dem Bildschirm darstellt.
Unity3d unterstützt die .ipa-Dateien nicht, die von VoiceOver verwendet werden, um Hooks bereitzustellen, mit denen die Funktion funktionieren kann. Daher kann die Funktion nicht direkt verwendet werden, um eine Anwendung leichter zugänglich zu machen.
Daher muss eine Methode zur Entwicklung eines auf VoiceOver basierenden Systems innerhalb von Unity verwendet werden, die einige der aktuellen VoiceOver-Konventionen verwenden könnte - d. h. die VoiceOver-Methoden zum Verarbeiten von Seiten und Anwendungen in Unity neu erstellen.
Abgesehen davon bin ich mir nicht sicher, was Sie tun könnten, ohne den "langen Weg" zu gehen, um Ihre eigene Sprachunterstützung mit ähnlichen Zugriffsfunktionen auf VoiceOver zu erstellen.
Leider können Unity und VoiceOver nicht nativ zusammenarbeiten, da Unity sich um das gesamte Rendering kümmert - einschließlich der Benutzeroberfläche. Deshalb kann VoiceOver oder ein anderer Bildschirmleser nicht auf die Benutzeroberfläche zugreifen und sie zugänglich machen. Wirklich Ihre einzige Möglichkeit ist, wie Sie bereits erwähnt haben, den weiten Weg zu gehen und die gleiche Funktionalität innerhalb von Unity zu implementieren. Sie können dies entweder selbst implementieren oder ein Plugin verwenden, das dies für Sie erledigt.
Es gibt ein Plugin, das Screenreader-Funktionen für Unity UI neu erstellt. Es funktioniert wie VoiceOver und TalkBack und verwendet die native VoiceOver-Sprache für die Ausgabe von Text in Sprache. Ссылка
Tags und Links ios accessibility unity3d unity3d-2dtools