Frage

Als web-Entwickler, eine Reihe von Projekten ich arbeiten, fallen unter die Regierung Regenschirme und sind daher vorbehaltlich der 508-Zugänglichkeit Gesetze, und manchmal W3C-Barrierefreiheit Richtlinien.Inwieweit kann JavaScript verwendet werden, während immer noch, diese Anforderungen zu erfüllen?

Entlang dieser Linien, inwieweit JavaScript, speziell AJAX und Verwendung von Paketen wie jQuery zu tun, Dinge wie display-modale Dialoge, popups, etc.unterstützt durch moderne accessibility software wie JAWS, Orca, etc?In der Vergangenheit die Regel ging so etwas wie "Wenn es nicht funktioniert in Lynx, es funktioniert nicht für ein Bildschirmleseprogramm." Ist dies immer noch wahr, oder gab es weitere Fortschritte in diesen Bereichen?

EDIT:Der Konsens scheint zu sein, dass javascript ist in Ordnung, solange es nicht-javascript-fallbacks, aber es scheint immer noch unsicher über die Unterstützung für AJAX in der screen-reader-software.Hat jemand Erfahrung mit diesem, das wäre sehr hilfreich.

War es hilfreich?

Lösung

Wenn die Zugänglichkeit ist Ihr Hauptanliegen ist, beginnen immer Sie eine website mit standards-compliant (wählen Sie einen Dokument-Typ-Definition und halten Sie es) HTML.Wenn es ist eine web-Anwendung (Formular, usw.), stellen Sie sicher, dass die Formen der Arbeit mit nur HTTP GET und POST.Wenn Sie einen kompletten website/Anwendung können Sie bits von CSS-und JavaScript-solange die site noch funktioniert, mit einem oder beiden ab.

Das wichtigste Konzept ist hier Progressive Enhancement.Sie hinzufügen, zusätzliche Glocken und Pfeifen mit CSS/JavaScript, aber Ihre Website/Anwendung einwandfrei funktionieren, ohne entweder.

Ein großartiges Werkzeug für die Prüfung 508, WAI, CSS ausgeschaltet, JavaScript-off-versuchen Sie es mit dem Web Developer plugin für Firefox.

Andere Tipps

Ich denke, die Antwort ist wirklich, wie Sie die Architekten Dinge.JQuery hat die Fähigkeit, unauffällig und daher erreichbar.Der trick besteht darin, Redundanz, um Ihre AJAX-Aufrufe so Browsern ohne JavaScript können noch nutzen Sie Ihre service.In anderen Worten, wo immer Sie haben JavaScript Antworten, Dialoge, etc., die Sie brauchen, um eine degradiert entspricht.

Wenn Sie die Zugänglichkeit im Auge und Sie sind richtig testen für beide Anwendungsfälle (JavaScript vs.Ohne JavaScript) sollten Sie in der Lage sein, Anwendungen zu schreiben, die, die gerecht auf beide Zielgruppen.

Beispiel ($(document).bereit Aufruf weggelassen, der für Klarheit und Kürze:

<script>
  $("#hello").click(function(){
    alert("Hi");
  });
</script>
<a href="/say_hello.htm" id="hello">Say Hello</a>

Ein triviales Beispiel, aber im Grunde wird dies nur bewerten, die auf JavaScript-Ereignis, wenn JavaScript unterstützt.Sonst, es wird wie ein normaler link und gehen say_hello.htm - Ihre Aufgabe als Entwickler ist zu machen Sie sicher, dass beide Ergebnisse behandelt werden, für angemessen.

Hoffe, das hilft!

Progressive enhancement ist sicherlich ein Weg, aber Unauffälligkeit ist nicht der Schluss JavaScript Barrierefreiheit als Bildschirm-Lesegeräte nutzen meist Browser, die als Grundlage für Ihre Arbeit.Da diese Browser unterstützen JavaScript-Skripts auf der Seite weiterhin ausgeführt.Dies ist ein besonderes problem bei AJAX als ein Klick auf einen Teil der Seite können ändern einen anderen Teil der Seite, die der screen-reader nicht bewusst.

Als AJAX-reift jedoch Methoden zugänglich zu machen sind die aufstrebenden.Blick in die WAI-ARIA für moderne Verfahren zur Herstellung von AJAX zugänglich ist, und Google AxsJAX für eine gute Möglichkeit, es umzusetzen.


Finden

Sie könnten auch einen Blick auf FlashAid, obwohl es weit von einer perfekten Lösung.(Aber, wenn Sie progressive enhancement und nur verwendet, AJAX, wenn der Blitz war vorhanden und der Benutzer nicht mit der accessibility-API, haben Sie vielleicht eine vernünftige Lösung...für Windows.)

Langfristig WAI-ARIA ist die Lösung.Es ist etwas unterstützt in JAWS 10 (beta) und Firevox, aber es ist sicherlich nicht für alle reicht der heutigen Nutzer.

JQuery hat die Fähigkeit, unauffällig und daher erreichbar.Der trick besteht darin, Redundanz, um Ihre AJAX-Aufrufe so Browsern ohne JavaScript können noch nutzen Sie Ihre service.In anderen Worten, wo immer Sie haben JavaScript Antworten, Dialoge, etc., die Sie brauchen, um eine degradiert entspricht.

Ein Weg, dies zu tun, verwenden Sie code haben, der "einfachen" Seite aufrufen einer "Funktion" (oder was auch immer Sie verwenden für die server-seitige Logik), die aufgerufen werden können durch selbst, der Rückgabe als JSON oder XML.

Zum Beispiel:/static/meinformular.asp (in der server-Seite, "umfasst" die gleiche Logik wie /ajax/meinformular.asp) so würden Sie mit asp als django-Vorlagen.

Natürlich mit einem full-featured Glocken und whistles Rahmen, Sie könnte viel einfacher (man denke an die eine html-und xml 'template' für die gleiche Ansicht in django), aber die gleiche Idee applyes.

Nachdem dies erledigt ist, Durchlaufen alle Anker auf Dokument bereit mit jQuery hinzufügen und onclick-Ereignisse mithilfe der Anker eigenen link, remplacing /static/ajax/ könnte dein Leben einfacher machen.

Kann jemand denken, Gründe dafür zu sein, zu sehr belastet?Würde gerne wissen, ob es irgendwelche gravierenden Fehler auf dieser 'design-Idee'.

Ich denke, die akzeptierte Antwort, während feine für seine Zeit, ist nun veraltet.(Wörtlich ein Jahrzehnt alt zum Zeitpunkt des Schreibens dieser Antwort.WCAG 2.1 abgeschlossen war vor ein paar Wochen...)

Die W3C-WAI-Authoring Design Patterns Practices Dokument enthält verschiedene Beispiele von common widgets, die erfordern javaScript, um zu kommunizieren, die richtige Semantik, Staaten und Rollen, um assistive Technologien.

AJAX zugänglich gemacht werden können, solange Sie vorsichtig sind, geben Screenreader relevante semantische Hinweise über das, was die in-page-update sein wird, bevor der Benutzer wieder aktiviert werden.Möglicherweise müssen Sie auch Benachrichtigen, der screenreader über das, was tatsächlich nachträglich geändert werden, z.B.eine aria-live-region announce "20 neue Elemente wurden geladen" oder was auch immer.Erreicht wird dies mit javaScript.

Wenn Ihre Zugänglichkeit wissen hält an "progressive enhancement", und Sie sehen die akzeptierte Antwort oben als Begründung für diese position, dann können Sie auch in der Notwendigkeit einer Aktualisierung.Die Dinge bewegen sich schnell in diesen Tagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top