Niquelao » 網誌存檔 » JavaScript 無障礙日曆(非必要但實用)
» Arxiu del weblog » Calendari accessible en javascript (innecessari però útil) Niquelao - Accessibilitat Calendari accessible en javascript (innecessari però útil) 11 de febrer de 2007 per Rumoroso En els camps de formulari on s’ha d’introduir una data, per tal de millorar l’experiència d’usuari i alhora augmentar el control sobre el format de les dades, es pot incloure un calendari mitjançant javascript. Ho sé, paraula maleïda, tot i que si es fa amb cura i control, no ha de tenir necessàriament implicacions negatives quant a estàndards i accessibilitat.
Objectius En principi he establert dos objectius principals, que més que objectius han estat pautes de treball a l’hora de construir-lo: Que sigui accessible i no intrusiu. Evidentment, en absència de suport per a javascript no s’ofereix l’opció de desplegar el calendari, però si hi ha suport… per què no fer que el contingut generat sigui accessible i utilitzable? Que sigui fàcil d’implementar i utilitzar. He buscat una manera que els programadors que vulguin implementar-lo a les seves pàgines web no necessitin introduir codi addicional.
Igual que en CSS s’utilitzen diversos tipus de selectors (d’elements, id, classes…) per associar estils a les diferents parts dels nostres documents, per què no utilitzar el mateix per associar comportaments? A més, com a objectius secundaris hi ha: optimitzar, generalitzar, internacionalitzar… (sent realista, vaig haver d’eliminar els objectius de lligar i el de guanyar diners.) L’exemple Per comprovar-ne el funcionament, podeu accedir a un exemple i descarregar-lo. Incloent-lo als nostres documents La inclusió del calendari al nostre document és tan senzilla com incloure l’element script corresponent a l’head: El calendari es carregarà per a qualsevol camp de text que porti inclosa la classe “fecha”.
El format de la data s’introdueix a la primera línia de l’script. Així, si per exemple es desitja que la data segueixi l’ordre dia/mes/any, no incloent un 0 davant del dia quan estigui format per un dígit, i incloent-lo al mes quan sigui necessari: var formato = ‘d/mm/y’; Per aconseguir mostrar el calendari al costat d’un camp de text, aquest haurà de portar la classe “fecha”. A més, tots els possibles paràmetres s’introdueixen com a classes.
La llista completa és la següent: Carregar calendari (requerit): fecha Dates prèvies a avui: prev Dates posteriors a avui: post Rang d’anys: rangX (sent X el nombre d’anys) No s’inclou el dia actual: todnact Avantatges Entre els avantatges que se li poden atribuir tenim: Fàcil d’usar i implementar. No és intrusiu.
El codi i el contingut que es genera és accessible (marcatge, organització, contingut…) i és utilitzable mitjançant l’ús d’ajudes tècniques (lector de pantalla…). En aquest punt s’ha tingut en compte en quin lloc recau el focus tant en mostrar-se com durant el funcionament i en desaparèixer. Així, quan es mostra, el focus recau directament sobre el selector d’anys, seguint un ordre lògic en tabular des d’ell, i quan es tanca el calendari (mitjançant l’enllaç de tancament o després d’haver seleccionat una data) el focus recau sobre el camp de text al qual s’havia associat.
Related: — con plan gratuito para empezar hoy mismo.
Es facilita la navegació per ell independentment del dispositiu. Es pot navegar utilitzant qualsevol dels dispositius amb què puguem navegar per la web. Els seus paràmetres són fàcilment configurables i la seva crida molt simple (mitjançant l’ús de noms de classe).
L’idioma el pren directament del document pare, podent afegir traduccions noves al codi. En el cas de no estar declarat l’idioma al document (cosa que no hauria de passar), el castellà serà el que s’utilitzi per defecte. Actualment, a més del castellà inclou l’anglès. Addicionalment s’ha fet que reconegui si és anglès americà, no perquè canviï el contingut, sinó per canviar la disposició dels dies de la setmana (el diumenge es col·loca primer).
Els estils aplicats al calendari s’inclouen mitjançant una CSS enllaçada per mitjà de l’script, amb la qual cosa en absència de suport per a aquest, s’optimitza la descàrrega del document en no cridar-se a aquest full d’estils. S’han inclòs classes de manera que es puguin aplicar estils sobre qualsevol de les cel·les de la taula (dies actius, dies no actius, dia actual), així com estils específics per als dissabtes o diumenges. Codi generat A continuació incloc part del codi generat per l’script.
Worth a look: — Accesibilidad gestionada: automatización combinada con revisión humana.
Com es pot observar (i com ja he dit) s’inclouen noms de classe i id per poder controlar la maquetació mitjançant el full d’estils.
Categoria: Accessibilitat, Javascript —> 2 comentaris juan 16 de març de 2007 està excel·lent, però em sorgeix un error de vegades en seleccionar la data o passar els anys, i deixa de funcionar l’IE i en Firefox també. saps què és? Rumoroso 21 d’agost de 2008 Comprova si no envia el contingut del camp o si en realitat no està enviant la variable.
L’script no interfereix en l’enviament del formulari, amb la qual cosa el problema podria venir d’un altre lloc. Una salutació Pots fer un seguiment dels comentaris gràcies al feed RSS 2.0 . També podries deixar un comentari , o enviar un trackback des del teu lloc. Article anterior: Enhorabona TAW Article següent: acc_calendar v1.1 Deixa el teu comentari Els camps Nom i Email són obligatoris Afegeix-nos a…
Tags que destaquem en general accessibilitat bert bos blockquote bug cañas citas cite comportament coneixement CSS escuas estàndards fieldset Firefox format formulari fonts hidden ie IE 7 informació javascript legend llista niquelando obligatori opera platja q squash vacances w3c WCAG xhtml Aquesta obra està sota una llicència de Creative Commons .
P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.
¿Cumplir WCAG sin tocar el código?
Superposición de IA que promete cumplimiento WCAG en 48 horas