Ho scritto un sito che utilizza jQuery per visualizzare un popup modale. Copre essenzialmente l'intera area visibile dello schermo con una sovrapposizione, quindi mostra un DIV che contiene il popup effettivo sopra l'overlay. Uno dei requisiti per questo progetto ha a che fare con l'accessibilità.Come ottenere uno screen reader per interrompere la lettura e leggere il contenuto diverso
Quando la pagina viene caricata, lo screen reader inizia a leggere dalla parte superiore della pagina. Quando un utente fa clic su un particolare collegamento, viene visualizzata una finestra di dialogo modale. La mia domanda è: come posso interrompere la lettura dello screen reader della parte principale del sito e dirgli di iniziare a leggere il testo del dialogo?
mio contenitore modale è avvolto in un div come questo:
<div id="modalcontainer" tabindex="0" class="popup" role="dialog" aria-labelledby="dialog-label" >
Il jQuery che spara il modal assomiglia a questo:
$("#modalLink").click(function (e) {
e.preventDefault();
$("#modalcontainer").center();
$("#modalcontainer").show();
$("#closeBtnLink").focus();
$("#wrapper").attr('aria-disabled', 'true');
});
Il "closeBtnLink" è il pulsante di chiusura all'interno del modal dialogo. Avrei pensato di porre l'accento su questo suggerire allo screen reader di iniziare a leggere da quell'elemento.
L'elemento "wrapper" è un SIBLING della finestra di dialogo modale. Per un suggerimento da un altro utente SO per ragioni diverse, ho impostato "aria-disabled = true" sull'elemento wrapper che contiene l'intera pagina. La finestra di dialogo modale esiste come fratello al di fuori di questo contenitore.
Il mio obiettivo principale qui è ottenere lo screen reader per leggere il contenuto del mio elemento DIV modale quando fa clic su un link specifico. Qualsiasi aiuto sarebbe apprezzato.
mi piacerebbe impostare la messa a fuoco per il contenuto, non è lo stretto legame. C'è un titolo nella finestra di dialogo? – steveax
C'è, ma per qualche motivo uno dei requisiti è quello di mettere a fuoco il link di chiusura. Questo cliente è ESTREMAMENTE esigente riguardo alle loro esigenze e se è lì dentro, non c'è nulla che io possa fare per cambiare idea. Importante multinazionale, da quando le loro decisioni sono mai state giuste? :) – Scott
Non esiste un modo coerente, leggere: http://www.sitepoint.com/ajax-screenreaders-work/ – Polity