lunes 20 de febrero de 2012

De los estándares, normas, recomendaciones y otras "tonterías"

En mi anterior entrada, Cada vez que llamas a una característica propietaria "CSS3", un gatito muere, me han dejado unos comentarios interesantes.

Por un lado tenemos, a Álvaro y Rogelio, que comentan como justificación de por qué emplear características propietarias que, si el cliente te las pide, al final tragas. Bueno, todo depende de las "tragaderas" que uno tenga. Un día vi en un restaurante alicantino como salió el cocinero a hablar con unos clientes extranjeros cuando se enteró de que habían pedido ketchup para la paella que había cocinado con mucho cariño. Les dijo que si iban a hacer eso, prefería que se levantasen y se fuesen del restaurante inmediatamente sin pagar nada.

Claro, no se puede comparar el dinero que va a dejar una mesa en un restaurante normalito con el dinero que puede dejar un desarrollo web. Y claro, el dinero es del cliente, y si el cliente lo quiere usar mal, no vamos a ser nosotros los que le detengamos. Pero hay cosas que no se deben hacer: parte de la labor del desarrollador web (o mucho mejor, del agente comercial que trate con el cliente) es asesorar y convencer al cliente de lo que es bueno o malo. Por ejemplo, ¿es bueno hacer un sitio web para que sea compatible con Internet Explorer 6? He oído muchas veces la misma historia en boca de profesionales y alumnos que hacen sitios web: he hecho el sitio web compatible con Internet Explorer 6 porque así lo quería el cliente o el jefe... por ejemplo, porque es el navegador que él usa. Pues el cliente o el jefe se tiene que enterar de que el sitio web no se hace para él, sino para el resto del mundo, y el resto del mundo (incluido Microsoft) pasa de Internet Explorer 6 desde hace tiempo (The Internet Explorer 6 Countdown). En última instancia, si aún así el cliente o el jefe quiere que sea compatible con Internet Explorer 6, lo que se debe hacer es cobrarle una cantidad adicional por el trabajo extra que supondrá lograrlo. Entonces quizás se lo piense dos veces.

Por otro lado, en otros comentarios, Rogelio pregunta por qué se tarda tanto en crear los estándares y Félix cita el artículo Every Time You Make a Good Business Decision, a Puppy Gets Cloned que ha aparecido como respuesta a la "masacre de los gatitos". En este artículo, aunque se comparten muchas ideas aparecidas en el primer artículo, también se defiende el uso de las características propietarias como impulsor de desarrollo web y defiende que los estándares web no se deben tomar como una religión. Esperar a que exista un estándar puede ser pernicioso, pero el uso de no estándares puede ser mucho más pernicioso.

Por ejemplo, en España hemos tenido que sufrir durante muchos años que no hubiese una comunicación directa de la red española ferroviaria con la red de los países vecinos porque el ancho de vía español es superior al europeo. Afortunadamente, las líneas de alta velocidad (AVE) emplean el ancho de vía europeo y poco a poco se va solucionando la situación, después de más de 150 años de existencia del ferrocarril en España.

En todo el mundo hemos tenido que sufrir durante muchos años la ausencia de un estándar en los cargadores de móvil. El impacto ecológico que ha tenido la ausencia de un estándar (millones y millones de cargadores desechados), el impacto en los bolsillos de millones de usuarios que se han tenido que comprar un cargador nuevo porque ninguno de los que tenían en casa les servía, o el inconveniente de no encontrar un cargador adecuado y no poder recargar la batería del móvil, no se puede valor pero seguro que tiene muchos ceros. Afortunadamente, desde el año pasado los fabricantes de móviles emplean un mismo conector de tipo microUSB.

Desgraciadamente, en todo el mundo tenemos que seguir sufriendo la falta de un estándar en los enchufes eléctricos, en el voltaje y en la frecuencia de la electricidad. Algo tan "sencillo", no se ha podido solucionar después de más de 100 años de uso de la electricidad en lo hogares y tenemos que sufrirlo y pagarlo, tanto los usuarios finales como los fabricantes de productos eléctricos.

En la Web hay millones y millones de usuarios. El uso de tecnologías no estandarizadas es un error de cara a los usuarios finales y, para el desarrollador, lo más normal es que suponga un mayor esfuerzo inicial y mayores problemas de mantenimiento futuros.

Esto no significa un NO rotundo a lo no estándar: se puede emplear, pero con cuidado, teniendo en cuenta, por ejemplo, el concepto de mejora progresiva (progressive enhancement).

Mañana escribiré sobre el W3C y veremos su proceso de estandarización (o normalización).

viernes 17 de febrero de 2012

Cada vez que llamas a una característica propietaria "CSS3", un gatito muere

¿Y quién no sufre cuando un gatito muere?

Hace unos días escribí la entrada El dominio de Google y Apple, peor que con Microsoft, en la que comentaba que se debe evitar utilizar las propiedades de CSS específicas de un vendedor, las que comienzan con un prefijo como -webkit- o -moz-. Acabo de leer el artículo Every Time You Call a Propietary Feature "CSS3", a Kitten Dies (publicado en A List Apart, referencia en el desarrollo web y en defender el uso de los estándares), que incide sobre el mismo tema.

A continuación, la traducción de algunos de los párrafos más interesantes del artículo:
Anuncio de servicio público: Cada vez llamas a una característica propietaria "CSS3", un gatito muere. Cualquier característica -webkit- que no exista en una especificación (ni siquiera en el borrador del editor) no es de CSS3. Sí, normalmente son evangelizadas como tales, pero no son parte de CSS, absolutamente. Esta distinción no es excesivamente puntillosa. Es importante porque anima a ciertos vendedores(*ejem* Apple *ejem*) a eludir el proceso de estandarización, les anima a poner en práctica todo lo que venga con WebKit, y a continuación a evangelizarla a los desarrolladores como la mejor cosa desde el pan en rebanadas. Los juguetes nuevos y relucientes nos deslumbran y empezamos a promocionarlos, contribuiyendo a la cámara de resonancia.
En nuestro afán por utilizar la última novedad, a menudo nos olvidamos de cuánta gente luchó en la última década para que nosotros podamos escribir código sin bifurcaciones y trucos y esperar que sea interoperable. Si has estado en este campo más de unos pocos años, seguramente recordarás que no siempre fue así. La razón por la que ahora tenemos esta comodidad es gracias a los estándares web, duramente ganada en la guerra de los navegadores (Browser Wars). 
[...] 
Las características propietarias que no han pasado a través del proceso de normalización, por lo general sufren de un diseño pobre, aun cuando la idea general sea buena. Por ejemplo, los gradientes en CSS fueron una gran idea, pero -webkit-gradient() era un gran lío susceptible de numerosos errores. Los tipos de letra web son una gran idea, pero requerir el uso de los ficheros .eot no lo fue. El proceso de normalización no sólo ayuda a lograr la interoperabilidad, sino que también ayuda a mejorar el diseño de cada función, debido a la mayor cantidad y diversidad de opiniones. 
Así que, ¿cuáles son esas características infames? En CSS, algunas de las más populares son:
  • -webkit-box-reflect
  • -webkit-text-stroke
  • -webkit-mask
  • -webkit-background-clip: text;
  • -webkit-text-size-adjust
  • -webkit-tap-highlight-color
  • -webkit-text-fill-color
No todas las características que lleven el prefijo del vendedor tienen que ser propietarias. Algunas de ellas son sólo las implementaciones experimentales de características incluidas en los borradores de las especificaciones. 
[...] 
La regla de oro es fácil: evita por completo las características propietarias. No las uses, no las evangelices, y sin duda alguna, no dependas de ellas.
Para finalizar, en el artículo The Future of CSS: Experimental CSS Properties, podemos encontrar una lista de características propietarias QUE NO DEBEMOS UTILIZAR (aunque en ese artículo nos inviten a ello). Además, en la mayoría de los casos, su utilidad es bien escasa.

jueves 16 de febrero de 2012

Segundo encuentro sobre accesibilidad de las TICs en Madrid

El próximo martes 21/02/2012 se celebrará en Madrid el segundo encuentro sobre accesibilidad de las TICs, que es gratuito y al cual está invitado todo el mundo al que le interese este tema.

Por ahora, los temas que están anunciados que se van a tratar son:
  1. Errores comunes: descripciones largas de imágenes, por Félix Zapata.
  2. La CNMV en busca del AA, por Jesus Miguel Gimeno.
  3. B.A.D: la demostración del antes y después de la WAI, por Alan Chuter
  4. Como organizar los eventos futuros: Temáticas, formatos (charlas cortas, ponencias largas, mesas redondas, quedar para tomar cañas...)
  5. Otros temas pendientes: ¿Te animas a compartir con nosotros tus conocimientos de algún tema relacionado con la accesibilidad? ¿Contarnos algo que te fastidia en un sitio Web inaccesible? Lo puedes proponer en el foro del grupo o por correo a los organizadores.

martes 14 de febrero de 2012

Curso "Accesibilidad web en base a las pautas WCAG 2.0"

TECNALIA organiza el curso Accesibilidad web en base a las pautas WCAG 2.0 en sus instalaciones del Parque Tecnológico de Bizkaia del 5 al 8 de marzo de 2012. El curso es gratuito y posee el siguiente contenido:


Accesibilidad web

  • Accesibilidad: qué es, a quiénes afecta, ventajas
  • Marco legislativo actual
  • W3C y WAI

WCAG 2.0: Web Content Accessibility Guidelines

  • Diferencias entre WCAG 1.0 y WCAG 2.0
  • Proporcionar alternativas para los contenidos no textuales
  • Multimedia accesible
  • Crear contenidos que puedan presentarse de diferentes formas
  • Hacer el contenido más fácil de ver y oír
  • Operabilidad mediante el teclado
  • Proporcionar tiempo suficiente
  • Evitar los ataques
  • Proporcionar ayudas a la navegación
  • Hace comprensible el contenido
  • Hacer contenidos predecibles
  • Evitar y corregir errores
  • Maximizar la compatibilidad 

Casos prácticos

  • Casos prácticos de procedimientos para aplicar las WCAG 2.0
  • Visualización de webs accesibles, buenas prácticas 

Metodología de evaluación 

  • Revisiones automáticas: herramientas y recursos
  • Revisiones manuales: técnicas heurísticas


lunes 13 de febrero de 2012

Versión accesible del sitio web de la Sexta

El sitio web de la programación de televisión de la Sexta ofrece una versión accesible. En esta imagen podemos ver el aspecto de la versión "normal":


Justo al lado de los botones que permiten seleccionar el canal (la Sexta, la Sexta2 o la Sexta3), hay un enlace para acceder a la versión accesible:


Al acceder a dicha versión accesible aparece lo siguiente:


Me he quedado un poco horrorizado al ver esta página, porque se han cometido los dos típicos errores de alguien que quiere hacer un sitio web accesible, pero no tiene mucha idea:

  • Versión accesible: versión alternativa, un segundo sitio web accesible simplificado.
  • Versión accesible: versión fea, sin hojas de estilo.

Si exploramos el código de ambas páginas, veremos que la segunda, la supuestamente accesible, es un subconjunto de la anterior. La mayoría de las estructuras de contenido escritas en HTML, los identificadores o los nombres de las clases de CSS son los mismos. En realidad, la versión accesible no los necesita para nada, porque no se enlaza ningún CSS, pero los tiene.

A la vista del código HTML, me imagino que la gente de Genera, que son los que figuran como creadores del sitio web, debieron pensar y hacer algo como "quita el CSS, elimina el código JavaScript, borra algo de contenido para simplificar la página web y ya tenemos versión accesible, listos".

Pero se pasaron de listos, porque algo tan simple como un correcto uso de los encabezados (estructura de encabezados según HeadingsMap):


o el uso de enlaces significativos y que no repitan el mismo texto (lista de enlaces según Fangs):


o escribir un texto alternativo correcto y no cosas como:
  • cosas_que_hacer_en_denver_cuando_estas_muerto
  • directos_a_tu_corazon
  • el_principe_de_las_mareas 
seguramente, consideraron que no era importante. Por no decir que, una vez en la versión accesible, los enlaces que contiene la página nos llevan otra vez a la versión normal (que se supone que es no accesible). Y no sigo porque tengo mejores cosas que hacer.

Espero que el desarrollo de esta supuesta versión accesible no haya supuesto un sobrecoste en el desarrollo del sitio web, porque habría sido una verdadera tomadura de pelo.

domingo 12 de febrero de 2012

¿WCAG 1.0, WCAG 2.0, Norma UNE 139803 o qué?

El otro día me dejaron el siguiente comentario:
Tremendo lio tengo... muchos cursos ya estan orientados a WCAG 2.0, pero claro si te presentas a algún proyecto "avanza" te requieren las WCAG 1.0, por ley también...
La duda es razonable: ¿qué debo aplicar? ¿WCAG 1.0? ¿WCAG 2.0? ¿Norma UNE 139803?

Desde mi punto de vista, la respuesta es clara: si hay una ley que nos obligue a algo, lo que diga la ley, ya que eso es lo que nos van a exigir, aunque sea incorrecto (normalmente, es inútil discutir con un funcionario o político este tipo de cosas). Por tanto, en España, y hasta que no haya una nueva ley, lo que hay que aplicar es la Norma UNE 139803. Otro cosa es que no estemos "bajo el imperio de la ley": en ese caso, entre WCAG 1.0 y WCAG 2.0, mejor WCAG 2.0. Así, por lo menos nos olvidaremos de los puntos de control desfasados que comienzan con "Hasta que las aplicaciones de usuario permitan...".

Sin embargo, sí que tiene mucho sentido discutir si WCAG 1.0, WCAG 2.0 o la Norma UNE 139803 son el mejor camino o lo único que debemos de tener en cuenta para lograr la accesibilidad web.

Sobre este tema ya escribí hace un tiempo:


Cualquiera que desarrolle sitios web con el requisito de la accesibilidad, se habrá encontrado con situaciones en las que cumplir las pautas de accesibilidad existentes no sea la mejor elección. Y sin embargo, hay que hacerlo si se quiere lograr la conformidad y "demostrar" que el sitio web es accesible.

Sobre este tema hay dos buenos artículos que recomiendo:

  • Beyond Conformance: The Role of Accessibility Evaluation Methods, de Giorgio Brajnik, publicado en el congreso WISE 2008.
  • Evaluating Web Site Accessibility: Validating the WAI Guidelines through Usability Testing with Disabled Users, de Dagfinn Rømen y Dag Svanæs, publicado en NordiCHI 2008.
Mi consejo: las pautas y normas son un buen punto de inicio, pero no son lo único. Muchas veces, hay que aplicar el sentido común. Y en caso de duda, lo mejor es simular la posible situación conflictiva (por ejemplo, desactivar las imágenes de una página) o, mucho mejor, consultar a un usuario final que se pueda ver afectado.

viernes 10 de febrero de 2012

El dominio de Apple y Google, peor que con Microsoft

No lo digo yo, lo dice la noticia W3C co-chair: Apple, Google power causing Open Web crisis, que salió ayer publicada en CNET. El resumen de la noticia dice:
The dominance of Apple and Google mobile browsers is leading to a situation that's even worse for Web programming than the former dominance of Internet Explorer, a standards group leader warned today.
Traducido al castellano:
El dominio de Apple y Google en el mercado de los navegadores para móviles está llevando a una situación que es aún peor para la programación web que con el antiguo dominio de Internet Explorer, un líder del grupo de estandarización advirtió hoy.
El problema que se explica en este artículo es que muchos programadores web se están centrando en los navegadores de Apple y Google, ambos basados en WebKit, y por contra, se están olvidando de los navegadores Firefox, Internet Explorer y Opera. Esto está ocurriendo porque los navegadores de Apple (Safari) y de Google (Chrome) son los mayoritarios entre los dispositivos móviles (teléfonos), que es el segmento de dispositivos con conexión a Internet que más está creciendo en los últimos años.

Muchos programadores web emplean propiedades de CSS específicas para estos dos navegadores. Estas propiedades, que comienzan con el prefijo -webkit, puede ser que ya estén estandarizadas o que estén camino de serlo y, por tanto, que sean compatibles con otros navegadores. Pero al anteponer el prefijo específico del vendedor, sólo funcionan en el navegador especificado.

Esto es un completo error, y se debe evitar utilizar las propiedades de CSS específicas de un vendedor. Pero si por alguna razón es imprescindible su uso, entonces lo más conveniente es emplear la propiedad sin el prefijo (para que el CSS sea compatible con las futuras versiones de los navegadores) y con el prefijo de los navegadores más populares, para que sea compatible con los navegadores actuales.

Por ejemplo, si se quiere emplear la nueva propiedad transform de CSS3, lo correcto es:

div
{
  transform: rotate(7deg);
  -ms-transform: rotate(7deg); /* IE 9 */
  -moz-transform: rotate(7deg); /* Firefox */
  -webkit-transform: rotate(7deg); /* Safari y Chrome */
  -o-transform: rotate(7deg); /* Opera */
}

Si no se hace así, algunos grupos de usuarios podrán sufrir problemas en el uso. Ni más ni menos que un problema de accesibilidad web, en esta ocasión producido por una discriminación tecnológica.

jueves 9 de febrero de 2012

Curso "Accesibilidad Web WCAG 2.0"

La Fundación CTIC organiza una nueva edición de su curso Accesibilidad Web WCAG 2.0. El curso comienza el 1 de marzo de 2012 y finaliza el 4 de mayo de 2012.

Los contenidos del curso son:
  • MÓDULO 0: Introducción
    • Introducción a la accesibilidad web
    • Introducción a las WCAG 2.0
  • MÓDULO 1: Principio 1 - Perceptible
    • Alternativas textuales
    • Accesibilidad en contenido multimedia
    • Adaptabilidad del contenido
    • Contenido fácilmente perceptible
  • MÓDULO 2: Principio 2 – Operable
    • Contenido accesible mediante teclado
    • Tiempo suficiente para realizar tareas
    • Contenido libre de trastornos
    • Facilidad de navegación
  • MÓDULO 3: Principio 3 - Comprensible
    • Legibilidad del contenido
    • Contenido predecible
    • Entrada de datos asistida
  • MÓDULO 4: Principio 4 - Robusto
    • Compatibilidad con navegadores y ayudas técnicas
  • MÓDULO 5: Evaluación de la accesibilidad
    • Proceso de evaluación de la accesibilidad
    • Herramientas de evaluación automática (TAW)
    • Herramientas de evaluación manual
    • Monitorización

miércoles 8 de febrero de 2012

Accesibilidad de las redes sociales

El próximo jueves 16/2/2012, se va a celebrar una jornada técnica sobre Redes Sociales y Discapacidad: oportunidades y retos en la Fundación ONCE en Madrid. Para aquellas personas que no puedan asistir al acto, el desarrollo del mismo se emitirá por Internet a través del portal Discapnet y de la página de Discapnet en Facebook.

Desgraciadamente, este tipo de actos son necesarios porque la mayoría de las redes sociales actuales no son tan sociales como se podría pensar, ya que discriminan a algunos grupos de usuarios al no ser accesibles. Por ejemplo, hace tiempo publiqué un vídeo en el que mostraba que en Twitter, algo tan simple como el captcha sonoro que se emplea como alternativa al captcha visual, no es accesible para un usuario español porque está en inglés.

A mediados del año 2010, Daniel Torres Burriel escribió un artículo sobre la Web 2.0 y su falta de accesibilidad. El año pasado me hice eco de una encuesta sobre la accesibilidad de las redes sociales (he buscado los resultados, pero no los encuentros) y también comenté algunos consejos para mejorar la accesibilidad de las redes sociales.

Ahora acabo de leer el artículo Social networks and accessibility: A rather sad picture, de diciembre de 2011. En este artículo se comenta la accesibilidad de las principales redes sociales:

  • Twitter: marcado incorrecto, problemas cuando se maneja exclusivamente con el teclado.
  • Facebook: falta de estructura.
  • Google Plus: problemas con lectores de pantalla y cuando se maneja exclusivamente con el teclado.
  • Yammer: red social a nivel empresarial, problemas cuando se maneja exclusivamente con el teclado.
  • identi.ca: basada en código abierto (open source), es la única realmente accesible en esta lista.

martes 7 de febrero de 2012

El apoyo de Bill Clinton al WAI

El WAI (Web Accessibility Initiative) del W3C se formó oficialmente en abril de 1997. Antes de que se metiese en líos, Bill Clinton, presidente de los Estados Unidos, mostró su apoyo al WAI:
Congratulations on the launch of the Web Accessibility Initiative - an effort to ensure that people with disabilities have access to the Internet's World Wide Web.

New information and communications technologies can improve the quality of life for people with disabilities, but only if such technologies are designed from the beginning so that everyone can use them. Given the explosive growth in the use of the World Wide Web for publishing, electronic commerce, lifelong learning and the delivery of government services, it is vital that the Web be accessible to everyone. The Web Accessibility Initiative will develop the tools, technology, and guidelines to make it possible to display information in ways that are available to all users.

I commend the World Wide Web Consortium, industry sponsors, and the Yuri Rubinski Foundation for launching this important project. I am pleased that the Department of Education will provide funding for the Web Accessibility Initiative, and that the National Science Foundation is considering expanding its support for research and development in this area. My administration is committed to working with these and other organizations to ensure that this innovative project is a success.
Que traducido al castellano es, más o menos:
Felicidades por el lanzamiento de la Iniciativa para la Accesibilidad Web - un esfuerzo para asegurar que las personas con discapacidad tengan acceso a la World Wide Web de Internet.

Las nuevas tecnologías de comunicación pueden mejorar la calidad de vida de las personas con discapacidad, pero sólo si esas tecnologías se han diseñado desde el principio para que todos puedan usarlas. Dado el crecimiento explosivo en el uso de la World Wide Web para la publicación, el comercio electrónico, el aprendizaje permanente y la prestación de servicios públicos, es vital que la Web sea accesible para todos. La Iniciativa para la Accesibilidad Web desarrollará las herramientas, la tecnología y las directrices que harán posible la visualización de la información de maneras que estén disponibles para todos los usuarios.

Felicito al World Wide Web Consortium, a los patrocinadores de la industria, y a la Fundación Yuri Rubinski por el lanzamiento de este importante proyecto. Me complace que el Departamento de Educación proporcionará fondos para la Iniciativa para la Accesibilidad Web, y que la National Science Foundation está considerando ampliar su apoyo a la investigación y el desarrollo en esta área. Mi administración está comprometida a trabajar con estas y otras organizaciones para asegurar que este innovador proyecto es un éxito.
Curioso, ¿no?

Más información: WAI History.