2011-01-20 15 views
6

Attualmente stiamo testando l'implementazione di mappe "slippy" (ad esempio, quelle che si spostano con un dito su un dispositivo touchscreen) sulla nostra app Web mobile, utilizzando la libreria JavaScript touchmaplite. Questa mappa è incorporata come un iframe nella nostra pagina web.È possibile rilevare se VoiceOver è attivo in una pagina Web su iPhone?

Quando abbiamo testato questa configurazione su un iPhone con VoiceOver, abbiamo rilevato che VoiceOver si "blocca" sulla mappa e non lo leggerà oltre (o lo scorrerà effettivamente). Questo è un grosso ostacolo per noi, non vogliamo tornare indietro con il supporto dell'accessibilità sul nostro sito.

È possibile contrassegnare un elemento come "ignorato" da VoiceOver o rilevare se VoiceOver è abilitato in qualsiasi altro modo (forse JS) e quindi nascondere/eliminare l'iframe?

Grazie

risposta

1

lo so con Windows, c'è stata qualche discussione su come rilevare se si utilizza un lettore di schermo. È stato menzionato un metodo possibile (ma inaffidabile), che prevedeva l'uso di actionscript all'interno di Flash per verificare se fosse stato utilizzato il livello di accessibilità attiva WMicrosoft. (http://www.paciellogroup.com/blog/?p=61)

Ovviamente questo non è molto utile in quanto si tratta di utenti voice over, che non avranno il supporto Flash sui propri dispositivi, ma lo menziono solo per sapere cosa fanno le altre piattaforme: non ho molta familiarità con le mele, quindi non so se c'è qualcosa di simile a Flash che potresti usare.

Nel tuo caso, potresti utilizzare il testo nascosto, incluso un link, che verrebbe rilevato dagli screen reader, ma non gli utenti vedenti, che farebbero riferimento a una pagina alternativa per gli utenti di screen reader; questa pagina alternativa potrebbe replicare la tua pagina esistente, solo senza avere la mappa incorporata.

In alternativa, hai solo un link nascosto che gli utenti di screen reader possono ignorare la mappa, forse avvisandoli del problema con VoiceOver che si "blocca".

Il testo nascosto può essere ottenuto utilizzando i CSS per posizionare il testo con un margine negativo, ad es.

.hiddenText { 
position: absolute; 
margin-left: -3000px; 
} 

Uso del testo in questo modo significa che non è visibile agli utenti vedenti (a meno che disabilitano CSS), ma è ancora letta da screen reader.

Nessuna delle due soluzioni è ciò che stai cercando davvero, ho paura, ma potrebbe darti qualche idea.

Problemi correlati