Ich habe eine Site geschrieben, die jQuery verwendet, um ein modales Popup anzuzeigen. Es deckt im Wesentlichen den gesamten sichtbaren Bereich des Bildschirms mit einem Overlay ab und zeigt dann ein DIV, das das eigentliche Popup über dem Overlay enthält. Eine der Voraussetzungen für dieses Projekt ist Barrierefreiheit.Wie man einen Bildschirmleser erhält, um zu stoppen, andere Inhalte zu lesen und zu lesen
Wenn die Seite geladen wird, liest der Bildschirmleser vom oberen Rand der Seite. Wenn ein Benutzer auf einen bestimmten Link klickt, zeigen wir einen modalen Dialog an. Meine Frage ist: Wie unterbreche ich das Lesen des Hauptteils der Seite durch den Bildschirmleser und sage ihm, dass er anfangen soll, den Dialogtext zu lesen?
Mein modal Behälter in einem div wie folgt gewickelt:
<div id="modalcontainer" tabindex="0" class="popup" role="dialog" aria-labelledby="dialog-label" >
Die jQuery, die die modalen das sieht aus wie feuert:
$("#modalLink").click(function (e) {
e.preventDefault();
$("#modalcontainer").center();
$("#modalcontainer").show();
$("#closeBtnLink").focus();
$("#wrapper").attr('aria-disabled', 'true');
});
Die "closeBtnLink" ist die Schließen-Schaltfläche in der modal Dialog. Ich hätte gedacht, dass das Einstellen des Fokus darauf den Bildschirmleser anweisen würde, von diesem Element zu lesen.
Das "Wrapper" -Element ist ein SIBLING des modalen Dialogs. Nach einem Vorschlag von einem anderen SO-Benutzer aus verschiedenen Gründen, setze ich "aria-disabled = true" auf das Wrapper-Element, das die gesamte Seite enthält. Der modale Dialog existiert als ein Geschwister außerhalb dieses Containers.
Mein Hauptziel hier ist, den Bildschirmleser zu bekommen, den Inhalt meines modalen DIV-Elements zu lesen, wenn sie auf einen bestimmten Link klicken. Jede Hilfe wäre willkommen.
würde ich den Fokus auf den Inhalt gesetzt, nicht die enge Verbindung. Gibt es eine Überschrift im Dialog? – steveax
Es gibt, aber aus irgendeinem Grund eine der Anforderungen ist es, den Fokus auf die enge Verbindung zu setzen. Dieser Kunde ist EXTREM wählerisch über ihre Anforderungen und wenn es da drin ist, gibt es nichts, was ich tun könnte, um ihre Meinung zu ändern. Major multinationale Unternehmen, seit wann sind ihre Entscheidungen richtig? :) – Scott
Es gibt keinen einheitlichen Weg, lesen Sie bitte: http://www.sitepoint.com/ajax-screenreaders-work/ – Polity