Ist die Barrierefreiheit für Android WebView aktiviert? Kann jemand sagen, wie man ein WebView zugänglich macht?Barrierefreiheit und Android WebView
Antwort
Die Android webview Zugänglichkeit über Javascript-Injektion in Honeycomb aktiviert ist und oben (als pointed out by alanv). Der Benutzer muss es durch aktivieren:
- Einschalten Accessibility-Modus ‚Tippen & Entdecken‘ in 4.0+ einschließlich.
- Aktivieren der erweiterten Web-Zugänglichkeit oder auf älteren Geräten "Inject Web Scripts".
Dies funktioniert durch Injektion von Javascript in jede geladene Seiten über <script>
Tags. Beachten Sie, dass Sie vorsichtig sein müssen, da nicht alle Inhalte mit diesem Javascript gut wiedergegeben werden und die Injektion in einigen Randfällen fehlschlägt.
Sie können die WebView-Klasse erweitern, um Accessibility-API-Methoden zu implementieren.
http://developer.android.com/guide/topics/ui/accessibility/apps.html#custom-views
Nein, die WebView
nicht zugänglich aus dem integrierten Talkback-Service ist, zumindest ab Android Version 4.0. Stattdessen sind blinde Benutzer instructed to use so etwas wie Mobile Accessibility for Android, die eine Schnittstelle für gesprochene Browsing bietet. Ich würde vorschlagen, Ihre Inhalte für andere Prozesse verfügbar zu machen, sodass blinde Nutzer den Inhalt in ihrem Browser ihrer Wahl sehen können. Ich tat dies, indem ich eine Absicht begann, um den Inhalt zu sehen:
Alternativ können Sie die Inhaltsbeschreibung des WebView einstellen. Beachten Sie, dass dies nur in Android 4.0-Versionen funktioniert. Ich habe festgestellt, dass 4.0 Geräte entweder say WebView oder gar nichts behalten.
Ich stieß auch auf dieses Problem auf 4.0 Geräten. Ich legte ein TextView auf dem WebView, wodurch der TextView Hintergrund und Text transparent gemacht. Der Textinhalt der TextView wird auf den Inhalt von WebView gesetzt, wobei alle HTML-Tags entfernt werden.
Eine höchst unelegant Lösung, ich weiß, aber hey, es funktioniert ....
Ich weiß, wie Zugriff auf Webansicht Inhalt von Accessibility API, wenn AccessibilityNodeInfo.getText() ist Null oder "null", AccessibilityNodeInfo.getContentDescription() aufrufen.
einfacher Code:
private String getTextOrDescription(AccessibilityNodeInfo info) {
String text = String.valueOf(info.getText());
if (isEmptyOrNullString(text)) {
text = String.valueOf(info.getContentDescription());
}
return text;
}
private boolean isEmptyOrNullString(String text) {
if (TextUtils.isEmpty(text) || text.equalsIgnoreCase("null")) {
return true;
}
return false;
}
getContentDescription() kann den Web-Ansicht Inhalt bekommen.
Entschuldigung für mein schlechtes Englisch.
- 1. Android Preference-Tag Barrierefreiheit
- 2. Benutzerdefinierte Elemente und Barrierefreiheit
- 3. Android: Webview und Aktivität
- 4. Android: WebView-Kompatibilität (Chromium und WebKit WebView)
- 5. WebView und Galerie in android
- 6. Fling Geste, Webview und Android
- 7. Android Scroll und Webview Scroll
- 8. Android WebView- und CSS-Medienabfragen
- 9. Android webview
- 10. Android WebView
- 11. Mobile Entwicklung Barrierefreiheit
- 12. Android Hybrid App + Volley, Cookies und WebView
- 13. Android Webview Radio Button und Kontrollkästchen-Stile
- 14. Android 4.2.1, WebView und Javascript Schnittstelle bricht
- 15. CORS Problem mit Tomcat und Android Webview
- 16. Xamarin Android WebView KeyUp und KeyDown Ereignisse
- 17. Android Webview und Facebook Login funktioniert nicht
- 18. Speichern von WebView und Wiederherstellen in ANDROID
- 19. Fling Geste und Webview in Android
- 20. android webview: Wie man javaScript Warnungstiteltext in android webview ändert?
- 21. Android: PhoneGap vs Webview
- 22. Android webview nur zoomen
- 23. Webview Applikation für Android
- 24. Android Webview Javascript Popups
- 25. Firebase in android webview
- 26. Android WebView removeCookie
- 27. Android WebView deaktivieren WebRTC
- 28. Javascript in Android WebView
- 29. Android WebView Handle onReceivedClientCertRequest
- 30. Android Textauswahl In Webview
WebView ist in Honeycomb und höher über die Tastatur erreichbar, indem Sie Einstellungen> Eingabehilfen> Webskripte einfügen aktivieren. In Jelly Bean und höher ist WebView über die Tastatur zugänglich (und die Touch-Funktion kann bei JS aktiviert werden), indem Sie Einstellungen> Zugänglichkeit> Webzugänglichkeit verbessern aktivieren. – alanv