Skip to main content
Niquelao

Some links here are partner links — we may earn a commission if you buy, at no extra cost to you. Details.

Niquelao » Archivo del weblog » Calendario accesible en javascript (innecesario pero útil)

» Archivo del weblog » Calendario accesible en javascript (innecesario pero útil) Niquelao - Accesibilidad Calendario accesible en javascript (innecesario pero útil) 11 de February, 2007 por Rumoroso En los campos de formulario en los que se tiene que introducir una fecha, de cara a mejorar la experiencia de usuario, y a la par que se aumenta el control en el formato de los datos, se puede incluir un calendario mediante javascript. Lo se, palabra maldita , aunque si se hace con cuidado y control, no tiene por qué tener implicaciones negativas en cuanto a estándares y accesibilidad.

Objetivos En principio he establecido dos objetivos principales, que más que objetivos han sido pautas de trabajo a la hora de construirlo: Que sea accesible y no intrusivo. Evidentemente, en ausencia de soporte para javascript no se ofrece la opción de desplegar el calendario, pero, si hay soporte… ¿por qué no hacer que el contenido generado sea accesible y utilizable? Que sea fácil de implementar y utilizar. He buscado una forma tal los programadores que deseen implementarlo en sus páginas web no requieran de introducir código adicional.

Al igual que en CSS se utilizan diversos tipos de selectores (de elementos, id, clases,…) para asociar estilos a las diferentes partes de nuestros documentos, ¿por qué no utilizar lo mismo para asociar comportamientos? Además, como objetivos secundarios están: optimizar, generalizar, internacionalizar,… (siendo realista, tuve que eliminar los objetivos de ligar y el de ganar dinero.) El ejemplo Para comprobar su funcionamiento, podéis acceder a un ejemplo y descargarlo . Incluyéndolo en nuestros documentos La inclusión del calendario en nuestro documento es tan sencillo como incluir el elemento script correspondiente en el head : El calendario se cargará para cualquier campo de texto que lleve incluida la clase “ fecha “.

El formato de la fecha se introduce en la primera línea del script. Así, si por ejemplo se desea que la fecha siga el orden día/mes/año, no incluyendo un 0 delante del día cuando esté formada por un dígito, e incluyéndolo en el mes cuando sea necesario: var formato = ‘d/mm/y’; Para conseguir mostrar el calendario junto a un campo de texto, este deberá llevar la clase “fecha”. Además, todos los posibles parámetros se introducen como clases.

La lista completa es la siguiente: Cargar calendario (requerido): fecha Fechas previas a hoy: prev Fechas posteriores a hoy: post Rango de años: rangX (siendo X el número de años) No se incluye el día actual: todnact Ventajas Entre las ventajas que se le pueden atribuir tenemos: Fácil de usar e implementar. No es intrusivo.

El código y el contenido que se genera es accesible (marcado, organización, contenido,…) y es utilizable mediante el uso de ayudas técnicas (lector de pantalla,…). En este punto se ha tenido en cuenta en qué lugar recae el foco tanto al mostrarse como durante el funcionamiento y al desaparecer. Así, cuando se muestra, el foco recae directamente sobre el selector de años, siguiendo un orden lógico al tabular desde él, y cuando se cierra el calendario (mediante el enlace de cierre o tras haber seleccionado una fecha) el foco recae sobre el campo de texto al que se le había asociado.

Related: con plan gratuito para empezar hoy mismo.

Se facilita la navegación por el mismo independientemente del dispositivo. Se puede navegar utilizando cualquiera de los dispositivos con los que podamos navegar por la web.

Sus parámetros son fácilmente configurables y su llamada muy simple (mediante el uso de nombres de clase). El idioma lo toma directamente del documento padre, pudiendo añadir traducciones nuevas al código. En el caso de no estar declarado el idimoa en el documento (cosa que no debe ocurrir), el español será el que se utilice por defecto. Actualmente, además del español incluye el inglés.

Adicionalmente se ha hecho que reconozca si es inglés americano, no porque vaya a cambiar el contenido, sino para cambiar la disposición de los días de la semana (el domingo se coloca primero). Los estilos aplicados al calendario se incluyen mediante una CSS enlazada por medio del script, con lo que en ausencia de soporte para este, se optimiza la descarga del documento al no llamarse a dicha hoja de estilos. Se han incluido clases de tal manera que se puedan aplicar estilos sobre cualquiera de las celdas de la tabla (días activos, días no activos, día actual), así como estilos específicos para los sábados o domingos.

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

Código generado A continuación incluyo parte del código generado por el script. Como se puede observar (y como ya he dicho) se incluyen nombres de clase e id para poder controlar la maquetación mediante la hoja de estilos.

… … … …
Enero 2007
LunMar
1 2
2425
Conclusión A modo de cierre… ¿qué se podría decir de este calendario?… pues que “ es innecesario… pero útil ” y que “ no tiene implicaciones negativas en términos de accesibilidad “. …por cierto ¿qué día es hoy?

Categoría: Accesibilidad, Javascript —> 2 comentarios juan 16 de March de 2007 esta excelente, pero me surge un error aveces al seleccionar la fecha o pasar los años, y deja de funcionar el IE y en Firefox tambien. sabes que es? Rumoroso 21 de August de 2008 Comprueba si no envía el contenido del campo o si en realidad no está enviando la variable.

El script no interfiere en el envío del formulario, con lo que el problema podría venir de otro lado. Un saludo Puedes hacer un seguimiento de los comentarios gracias al feed RSS 2.0 . También podrías dejar un comentario , o enviar un trackback desde tu sitio. Artículo anterior: Enhorabuena TAW Artículo siguiente: acc_calendar v1.1 Deja tu comentario Los campos Nombre y Email son obligatorios Añádenos a…

Tags que destacamos en general accesibilidad bert bos blockquote bug cañas citas cite comportamiento conocimiento CSS escuas estándares fieldset Firefox formato formulario fuentes hidden ie IE 7 información javascript legend lista niquelando obligatorio opera playa q squash vacaciones w3c WCAG xhtml Esta obra está bajo una licencia 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