Ich verwende Chrome Vox Screenreader für meine mobile Anwendung. Dieser Leser liest alle Fehler span-Tag, die role="alert"
hat, möchte ich Bildschirmleser sollte nur ersten Fehler lesen (Rolle = 'Alarm'). Zum Beispiel können wir die Registrierungsseite für Google Mail-Konten sehen. Wie kann ich dieses Szenario erreichen?Wie zu stoppen Bildschirmleser zu liest alle Fehler span-Tag, die Rolle = "alert" hat?
Antwort
Wenn Sie Spannen neben jede Eingabe bei Fehler setzen, sollten diese nicht wirklich Rolle = Alert, sondern IDs haben. Dann würden die Eingaben eine Arie haben wollen, beschrieben durch = diese ID. Sie möchten möglicherweise eine Warnmeldung, die besagt, dass es Fehler gab und entweder dort konzentrieren oder auf die erste fehlerbezogene Eingabe konzentrieren, auswählen, etc.
Wenn Sie ein Fehlerfeld am oberen Rand des Formulars möchten und möchten Eine Zusammenfassung kann man dort auf Fehler fokussieren und eine Auflistung mit Ankern machen (Text erklärt Fehler), die auf die Eingaben zeigen. Hierfür ist keine Alert-Rolle erforderlich.
Wenn Sie nur Benutzer warnen möchten, dass Fehler aufgetreten sind, können Sie einen Ausdruck in einem Container mit role = alert und aria-live = assertive eingeben und sich dann auf den ersten Eingabefehler konzentrieren.
danke Nick, ich versuche mit aria-descriptby Attribut. Es funktioniert gut, wie ich es wollte. Aber wenn wir zu einem anderen Eingabesteuerelement in dem Formular navigieren und wieder zu demselben Eingang zurückkehren, der aria-describedby hat, liest es das zweite Mal nicht. – Vishwakant
Ich würde anmerken, dass ChromeVox kein echter Bildschirmleser für echte Endbenutzer ist. Es wurde festgestellt, dass es nicht so gut auf Funktionen für Arie, etc. ist http://webaim.org/discussion/mail_thread?thread=5758 http://webaim.org/projects/screenreadersurvey6/ .3 % der Befragten aus den aktuellen Umfragen von webaim gaben an, dass sie ChromeVox.on Desktop verwenden und es wird nicht für mobile Geräte aufgelistet. Derzeit die wichtigsten Konkurrenten für mobile: VoiceOver 56,7% TalkBack für Android 17.8% Nuance Talks \t 4.5% –
- 1. Wie man einen Bildschirmleser erhält, um zu stoppen, andere Inhalte zu lesen und zu lesen
- 2. WAI ARIA - Bildschirmleser liest mehrere Male
- 3. Wie Sudo zu stoppen Edelsteine zu stoppen. Die ultimative Lösung
- 4. Wie zu stoppen NSTimer.scheduledTimerWithTimeInterval
- 5. Wie Grunt zu stoppen
- 6. Wie Stoff zu stoppen
- 7. Wie zu stoppen MsTest Tests Ausführung beim ersten Fehler?
- 8. Wie foreach% dopar% zu stoppen, ohne die Sitzung zu verkomplizieren
- 9. wie Einfügen in die Datenbank zu stoppen
- 10. Wie hammer.js Ereignispropagierung zu stoppen
- 11. Wie man phpunit sagt, bei einem Fehler zu stoppen
- 12. Wie alle laufenden Threads außer dem aktuellen Thread zu stoppen?
- 13. EditText zu Alert-Dialog hinzufügen.
- 14. Wie zu stoppen/zu schließen SignalR Service
- 15. Wie zu überspringen Rolle in Ansible ausgeführt
- 16. wie gSOAP-Operationen zu stoppen
- 17. Stoppen Datenbank liest halten Web Ui Rendering
- 18. Wie zu stoppen Docker ziehen
- 19. Wie zu stoppen/ungültig NSTimer
- 20. Wie Handler Runnable zu stoppen?
- 21. android, wie gps zu stoppen
- 22. Verstecktes Inhaltsverzeichnis für Bildschirmleser
- 23. Alert-Fehler in schnellen
- 24. Javascript wie Intervallzeit einstellen zu stoppen
- 25. Eclipse-Mars: Wie aktualisieren Fehler zu stoppen Reporting-Datenbank
- 26. Wie Einheitentest für Methode zu erstellen, die Datei liest und Dateipfad als Parameter hat
- 27. Stoppen Sie die Weiterleitung zu Sitzungen/neu?
- 28. NSXMLParser liest nicht alle Elemente
- 29. Wie ein Lauf SparkContext zu stoppen, bevor die neuen
- 30. Wie'enumerateChildNodesWithName ("// *") Enumeration zu stoppen?
suchen sie nach attr selector? https://api.jquery.com/attribute-equals-selector/ id. $ ("[role = 'alert']")? –
sollten Sie Attribut role = 'alert' in der Laufzeit für erforderliche Elemente hinzufügen. –
A11y liest nur das erste role = 'alert' Element, obwohl viele div Elemente existieren. A11y liest nur das letzte role = 'alert' Element, obwohl viele span Elemente existieren. Sie können also versuchen, indem Sie span in div ändern, sodass nur das erste Element gelesen wird. –