跳至主要內容
Niquelao 無障礙網頁與西班牙文前端開發:WCAG 標準、無障礙小工具與 Firefox 擴充功能,以真實程式碼解說。

本站部分連結為聯盟連結:若您透過這些連結購買,我們可能賺取佣金,而您無需支付任何額外費用。這絕不影響我們的推薦內容。詳情請參閱我們的聯盟揭露聲明。 聯盟行銷聲明.

Niquelao » acc_calendar:JavaScript 無障礙日曆(非必要但實用)

» acc_calendar: Calendari accessible en javascript (innecessari però útil) Niquelao Com dius que t’ha quedat? 7 de July, 2007 per Rumoroso —> Accessibilitat i javascript? acc_calendar: Calendari accessible en javascript (innecessari però útil) Actualitzat l’1 de Juny de 2008 , per Rumoroso En els camps de formulari en què s’ha d’introduir una data, per tal de millorar l’experiència d’usuari i, alhora, augmentar el control en el format de les dades, es pot incloure un calendari mitjançant javascript.

Ho sé, paraula maleïda , però 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 obstructiu. 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 requereixin 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.) Incloent-lo als nostres documents Abans de res, cal indicar que l’script es pot obtenir directament descarregant l’exemple complet . La inclusió del calendari al nostre document és tan senzill 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 “ (si l’idioma del document és l’espanyol).

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, i que el format per a l’any siguin 4 dígits: var formato = ‘d/mm/yyyy’; Com ja es va esmentar, per aconseguir mostrar el calendari al costat d’un camp de text, aquest haurà de portar la classe “fecha” si l’idioma declarat per al document és l’espanyol (“date” si és l’anglès, etc.).

Aquests noms de classe es poden modificar, afegir-ne de nous per a altres idiomes, etc., directament a l’script. 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 Aplicar filtre per a dates disponibles: disp I si carrego dinàmicament els input amb AJAX? L’script té la propietat que si en qualsevol moment s’introdueixen nous camps de text de forma asíncrona amb AJAX, n’hi haurà prou que després d’aquesta càrrega es cridi la funció cargaLinks() perquè als inputs se’ls associïn els enllaços per a l’obertura del calendari Primer exemple Data futura, en format d/mm/yyyy , d’enguany ( class=“fecha post” ) Data futura, en format d/mm/yyyy, d’enguany sense incloure avui ( class=“fecha post todnact” ) Data de naixement, en format d/mm/yyyy, fins a 100 anys ( class=“fecha prev rang100” ) data dels propers 20 anys, en format d/mm/yyyy, sense incloure avui ( class=“fecha post rang20 todnact” ) Data dels últims 15 anys, en format d/mm/yyyy ( class=“fecha prev rang15” ) Data 10 anys enrere i endavant, en format d/mm/yyyy ( class=“fecha rang10” ) Nova Millora (abril 2007) De vegades podríem desitjar que la data s’introduís en tres camps de text, un per a cada dada que la compon.

Related: con plan gratuito para empezar hoy mismo.

S’ha afegit la possibilitat de fer-ho. Per a això seguirem controlant-ho tot mitjançant l’ús de classes assignades als input . Perquè constitueixin un grup, els tres camps de text hauran d’afegir un codi que els identifiqui com a tal.

Això, que sembla una cosa estranya, no ho és tant. En realitat, el que cal fer és afegir a la paraula fecha que emprem com a classe en els tres, una lletra o un número. Així, per exemple, els podríem aplicar als tres la classe “fechaA” i immediatament, a més d’associar-se l’enllaç per a l’obertura del calendari, passarien a comportar-se com un grup. Més endavant s’inclouen dos exemples que ho mostren clarament.

Cadascun dels camps haurà de portar una classe en funció de la dada que se li associï: Per al camp dia la classe “ day “ Per al camp mes la classe “ month “ Per al camp any la classe “ year “ Hi ha total llibertat per a l’ordre en què es posin, col·locant les classes per a la configuració del calendari (nombre d’anys, previs, posteriors, etc.) al primer dels camps que s’utilitzi. A l’exemple següent es podrà apreciar la manera de fer-ho: Segon exemple Data dels propers 10 anys en format dia, mes, any: Dia / Mes / Any Consideració important és informar sempre l’usuari de quin és el camp per a cada cosa.

Worth a look: — Accesibilidad gestionada: automatización combinada con revisión humana.

A l’exemple s’informa al text previ i, a més, les etiquetes dels input ho inclouen. Data dels últims 15 anys en format any, mes, dia: Any / Mes / Dia Consideració important és informar sempre l’usuari de quin és el camp per a cada cosa.

A l’exemple s’informa al text previ i, a més, les etiquetes dels input ho inclouen. Actualització (abril de 2007) S’ha retocat l’script per reduir els estils que s’apliquen des d’aquest.

Ara, l’enllaç generat té la imatge per contingut (abans aquesta es carregava des del full d’estils). L’enllaç es genera immediatament després de l’input (fora del label si està inclòs en ell) i posseeix el següent marcatge: Calendario En el cas que sigui l’enllaç per a la càrrega de la data en tres camps de text, la classe de l’enllaç passa a ser “ enl_cal_group , i aquest se situa abans del primer d’ells. Actualització (7 de juliol de 2007) De

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