Feu que les vostres aplicacions d’una sola pàgina funcionin amb lectors de pantalla

Autora: Monica Porter
Data De La Creació: 13 Març 2021
Data D’Actualització: 15 Ser Possible 2024
Anonim
Feu que les vostres aplicacions d’una sola pàgina funcionin amb lectors de pantalla - Creatiu
Feu que les vostres aplicacions d’una sola pàgina funcionin amb lectors de pantalla - Creatiu

Les aplicacions de pàgina única suposen un repte important d’accessibilitat a l’hora de comunicar els canvis de visualització. Sense una actualització de la pàgina, els lectors de pantalla no recullen aquests canvis importants en la interfície d’usuari, cosa que deixa confusos i desconeixents els usuaris amb discapacitat visual.

Una solució és crear un missatge basat en el títol de la pàgina i aprofitar una regió en viu ARIA per anunciar explícitament, mitjançant un missatge útil, que s'ha carregat una nova vista. Primer, creeu una funció que s’anomena quan s’actualitza viewContent. AngularJS proporciona un esdeveniment $ viewContentLoaded amb aquest propòsit. Al codi del controlador, escolteu l’esdeveniment i truqueu a una funció (a CoffeeScript):

app.controller 'PageController', ($ scope, $ location, $ http) -> $ scope. $ a '$ viewContentLoaded', announce_view_loaded

A la funció announce_view_loaded, actualitzeu el títol de la pàgina i anuncieu el missatge. Tot i que els marcs d’una sola pàgina no actualitzen automàticament els títols de les pàgines, mantenir el títol de pàgina sincronitzat amb la visualització actual millora la comprensió de la vista pels usuaris.


Una manera de fer-ho és utilitzar un atribut de dades en algun lloc de la vista per emmagatzemar el títol de la vista:

document.title = $ ('[data-viewtitle]'). data 'viewtitle'

Ara creeu un missatge amb el títol actualitzat de la pàgina i anuncieu-lo:

$ .announce (document.title + ', vista carregada')

$ .announce () és una funció jQuery que utilitza una única regió en viu no visible per anunciar contingut. Aquest enfocament ajuda a simplificar el codi i els esforços de depuració en comparació amb l’ús ad hoc de les regions actives. Tot i això, hi ha algunes pràctiques recomanades per recordar.

En primer lloc, creeu una única regió en directe de ‘locutor’ a la vostra pàgina per anunciar contingut mitjançant aria-live = "educat | assertiu". No utilitzeu cap altra regió activa, incloses les funcions de regió activa (per exemple, role = "alert | temporitzador | registre"). Un exemple de regió en viu:

div aria-live = "polite" id = "announcer"> (s'anunciarà el text afegit o actualitzat aquí) / div>

En segon lloc, esborreu el contingut de la regió en directe poc després d’actualitzar-lo. Això evita que els usuaris topin amb missatges antics.


Finalment, com amb qualsevol tècnica d’accessibilitat, utilitzeu amb criteri $ .announce (). Només s’ha d’utilitzar per comunicar actualitzacions significatives de la interfície d’usuari.

Paraules: Patrick Fox

Patrick Fox és director de tecnologia d’interfície d’usuari web a Razorfish a Austin. Aquest article va aparèixer originalment al número 271 de la revista net.

T'ha agradat això? Llegiu-los!

  • La guia del dissenyador d’accessibilitat digital
  • Els millors tipus de lletra de script gratuïts
  • Selecció gratuïta de fonts de grafits
Últims Missatges
Una guia senzilla per desprotegir les cel·les a Excel
Llegeix Més

Una guia senzilla per desprotegir les cel·les a Excel

La protecció del full de càlcul no é una caracterítica de eguretat a Excel. En realitat, no pretén evitar que la gent accedeixi a dade en un full protegit. Com que Microoft Ex...
Com descarregar gratuïtament Boot Camp i instal·lar Windows 10 al Mac
Llegeix Més

Com descarregar gratuïtament Boot Camp i instal·lar Windows 10 al Mac

Tothom ap que el portàtil i el ordinador de obretaula d’Apple funcionen amb el eu propi itema operatiu. quin MacO. Però er un del iteme operatiu mé popular i fàcil d’utilitzar. Win...
3 millors eliminadors de contrasenyes VBA el 2020
Llegeix Més

3 millors eliminadors de contrasenyes VBA el 2020

"Em podeu uggerir un bon trencador de contraenye VBA? He perdut la contraenya del meu projecte VBA ". Com que forma part de M Office, no é fàcil trencar la contraenya d’un document...