MaestrosdelWeb en contra de la accesibilidad

Realmente no creo que Maestros del Web esté en contra de la accesibilidad, aunque sus acciones atentan contra esta estoy seguro que es porque no se han puesto a considerar. En Maestros del Web se enteraron de una iniciativa en Noruega para impulsar a la gente a dejar de usar IE6 y lo han tomado como novedad para implementarla ellos mismos y sugerir a otros desarrolladores a hacer lo mismo.

Bueno, la iniciativa me parece mala. Para empezar, cosas así llevan años ¿no se han fijado en como se ve el sitio de Stuff and Nonsense en IE6? Lleva así como dos años. ¿Tampoco se acuerdan de cuando 37Signals anunció que dejarían de desarrollar para IE6?

Puse un comentario en la nota de ellos, pero en lo que se acomiden a aprobarlo lo repito aquí:

Pues estoy totalmente en desacuerdo. Bueno, estoy de acuerdo en que IE6 ya ha cumplido y es un navegador anticuado que no puede mantener el paso de la tecnología actual; pero estoy en desacuerdo en que poner trabas a los usuarios de tal navegador sea buena práctica, ni de creación de sitios, ni de accesibilidad ni nada.

Tengamos en cuenta que el principio de la accesibilidad es crear sitios que puedan ser utilizados por cualquier navegador, incluyendo IE6. También tengamos en cuenta que para alcanzar los objetivos de un sitio no es necesario que este se vea exactamente igual en todos los navegadores. Tanto crear una versión “compatible con IE6″ como construir estos artilugio para decirle al usuario que actualice son una pérdida de tiempo y falta de respeto al usuario (¿cómo sabes qué el usuario está en posibilidades de actualizar?)

Un desarrollador inteligente construirá un sitio que se adapte gradualmente a las capacidades del navegador y no presupondrá la capacidad del usuario. El navegador puede estar en un celular, ser de sólo texto, ser antiguo, etc. El desarrollador no puede suponer que todos usan lo más moderno o el mismo dispositivo para consultar el sitio.

En esencia lo que Maestros del Web propone es detectar el navegador del usuario y mostrarle un mensaje molesto para que se actualice. En esencia parece algo inofensivo y hasta benéfico, pero en realidad va en contra de todas las disposiciones de accesiblidad y buen diseño de un sitio. Peor aún, esto le puede dar excusa a los desarrolladores para no implementar técnicas de mejoramiento progresivo, dejando de lado no sólo a IE6, sino a otros navegadores y dispositivos que no pueden interpretar CSS3 o la más reciente implementación de Javascript. ¿No nos quejábamos cuándo veíamos “Este sitio se ve mejor en IE6”?

“Pero, Roberto,” preguntarán, “¿pero no acabas de señalar ejemplos de eso viniendo de Andy Clarke y 37Signals? Ellos son grandes desarrolladores, seguramente lo harán por algo.” Y tienen razón, lo hacen por algo. Por ejemplo, 37signals no puede implementar nueva funcionalidad en sus aplicaciones en IE6, todo lo nuevo necesita IE7 para funcionar; pero eso no quiere decir que IE6 no pueda usar la funcionalidad anterior. Y Andy Clarke mismo deja clara su posición en otro sitio:

When I talk about designs not looking exactly the same in all browsers I am not talking about making bad designs for people using older or abandoned software. I would never accept that. Andy Clarke, Five CSS design browser differences I can live with

Por cierto, chequen el sitio de la liga de la cita anterior. Es buenísimo.

Hay muchas razones y circunstancias por las cuales es posible que un usuario no quiera o no pueda actualizar su navegador, y no es nuestro papel decirle “tienes que usar tal o cual”, sino proveer la mejor experiencia posible dependiendo de la capacidad de cada navegador; es decir, construir una estructura que permita mejorar gradualmente el sitio de acuerdo a lo que el navegador puede hacer.

Para un ejemplo concreto vean la entrada en Boagworld sobre como implementar mejoramiento progresivo. El tema también se ha tratado en A List Apart y varios otros lugares.

Por supuesto que es más difícil planear e implementar una estrategia de mejoramiento progresivo, al igual que es más difícil la planeación de un sitio hecho con capas y no tablas. Pero al igual que las capas, una vez que se entiende y domina el mejoramiento progresivo las ventajas son bastante evidentes.

Compañeros diseñadores y desarrolladores, gente de Maestros del Web, entiendo que el odio hacia IE6 es comprensible y merecido, y la ira contra él justa, sus ofensas múltiples; pero en nuestro afán por deshacernos de él no debemos afectar al usuario ni pasar a afectar a otros usuarios de otros navegadores. Pensemos mejor en mejorar nuestro dominio de las artes webólicas y procurar la mejor experiencia posible para todo usuario. Además, si creen que actualizar navegadores arregla algo, es que no han visto la sorpresa que trae IE8 o no se han puesto bien a verificar las diferencias entre Safari, Opera y Firefox.

  • No hemos tomado esta decisión basado en los noruegos, sino que venimos mostrando dicha leyenda para usuarios de IE hace mucho más tiempo.

    Por otro lado, en ningún momento penalizamos al usuario con un sitio que se muestra incorrectamente, ni nada por el estilo. Simplemente se incluye una leyenda recordándoles que hay mejores opciones, pero si se quieren quedar con ie6, pues también nos aseguraremos que puedan hacerlo.

  • No solo se trata de lo bien que respeta los estándares, sino de otras cuestiones como el rendimiento en general, extensiones y la seguridad. En todas IE6 anda bastante mal… si no puedes cambiarte de navegador, tampoco es un mensaje tan exageradamente molesto.

    Por cierto, te diste cuenta que mdw también se valió de algunos css hacks para que el diseño se viera decentemente en IE6 ? no?

  • Es cierto, MdW tiene muy buena accesibilidad, incluso en dispositivos móviles han cumplido más allá del deber asegurándose que se pueda usar bien. Por eso es que también más me cuestiono ¿qué caso tiene el cartel si de todos modos sabes que tienes que asegurarte que se siga viendo bien? ¿no es molestar al visitante? No se trata que sea más o menos molesto, sino que no debería resultar molesto visitar nuestros sitios.

    Ten en cuenta que aunque el uso de IE6 caiga al 0.5% (el nivel que tiene IE5 actualmente y al cual llegará eventualmente, con cartel o sin él) aún así tendremos que asegurarnos que nuestro sitio pueda usarse bien en ese navegador. No igual a los navegadores actuales, pero bien. ¿vas a seguir mostrando el cartel en ése entonces?

  • Joan

    No al IE 6! Bien por cvander y los desarrolladores que creen en los estándares web. Para algo están, ¿no?
    El trabajo lo tiene que hacer Microsoft y no los desarrolladores que hacen las cosas BIEN.
    Vamos para adelante o somos cangrejos?
    Muerte al IE!

  • Bueno, para empezar, los llamados estándares no son tales, sino que son guías y recomendaciones; mejores prácticas, digamos. En segundo lugar, el desarrollador que hace las cosas BIEN se asegura que su código se vea BIEN en cualquier navegador y dispositivo. PUNTO. No hay mas. Si nuestro código se rompe es nuestra culpa, no de MS, o de Mozilla, o de Opera (oh, sí, estos navegadores sí pueden llegar a romper tu código aunque hayas seguido las guías del W3C)

    Esto no quiere decir que ame a IE6, pero éste caerá por su propio peso. No puedo esperar a que su participación de mercado caiga lo suficiente como para poder dedicarle una plantilla básica. Pero esto no se va a acelerar poniendo el cartel, al contrario, puede causar molestia entre los usuarios, cosa que se debe evitar lo más posible.

  • Joan

    Está claro que los otros navegadores pueden romper el código, pero solucionar los posibles “fallos” entre los navegadores que siguen los estándares es, de calle, mucho más fácil que con el IE6.
    Yo veo muy bien la propuesta y no veo ningún problema a que los usuarios se enteren, ya que al final de la corrida el beneficio es para ellos y sobre todo para tener un “buen internet”.

    • Evaligan

      No de hecho es mucho más difícil. Gracias a los condicionales de IE es posible que IE6 ignore ciertas cosas que todos los navegadores leerán y por el contrario haga otras que los demás navegadores no harán. Es de hecho más sencillo hacer a IE6 compatible con HTML5 y CSS3, que hacer a FireFox 2 compatible con esos estándares (al usar javascript para arreglar los bugs de FF2 se crean bugs en los navegadores nuevos como el FF 25), con IE no pasa eso gracias a los condicionales. Por otro lado todos critican a IE6 irracionalmente, pero ese navegador fue el mejor en su tiempo cuando salio. Es más incompatible con el CSS 2.1 que Opera 8 el IE6, Igualmente Netscape 7-9 era más incompatible que IE6 en cuanto al CSS y nadie se la pasa atacando a esos navegadores. Busquen el Google Holy Grial Layout, CSS, agarren todos los layouts, los cuales funcionaran bien en IE6 y navegadores modernos, pero traten de visualizarlos ahora en Opera 7-8 y en Nestscape. 6-9. y verán que eran peores navegadores que IE6. Además irónicamente hay cosas que IE6 puede hacer hoy en día que no puedo hacer actualmente con Google Chrome versión 31 ni con FireFox 25, ni con Opera 18.. Debido a que ninguno es compatible con Active X, y en muchas empresas aun se usa eso.

      Particularmente estoy en contra de la gente IDIOTs (vean el vídeo en youtube, trata de la obsolescencia programada).

      La verdad no entiendo a muchos webmasters. Negar el acceso a IE6 ¿por qué? si con unas cuantas lineas de código extra se solucionaba eso.

      A menos que el sitio haga un uso exhaustivo de canvas,e imágenes svc y otras tecnologías nuevas que no soportan aun al 100% todos los navegadores modernos incluyendo a Chrome, Opera y FireFox, no le veo objeto el bloquear a IE6

      Solo por poner bordes redondeados? text-shadows? box-shadows? transparencia rgba?.y algo de diseño responsivo con media queries?

      Pues todo eso aun lo puede hacer IE6 con ayuda de algunos trucos, gracias al javascript.

  • Mmmm… no siempre es más fácil. Lo de los comentarios condicionales en IE hacen muy sencillo el implementar hojas de estilos nuevas; además que los errores están tan bien documentados que ya sabes por donde van a saltar (el 90% de las veces son los márgenes, o el hasLayout, o el z-index). De hecho casi siempre dedico más líneas de código a -webkit y -moz que a arreglar desperfectos de IE6 (y de IE7 casi nunca)

    El problema no es que se enteren, la mayoría ya están enterados. Los que no es porque no les interesa. Y de los que están enterados los que pueden y quieren ya se actualizaron. Los que faltan ya irá siendo con el tiempo, conforme vayan reemplazando su equipo, cambiando de OS, por sus trabajos, etc.

    El buen internet debe estar dirigido al usuario. Un “buen internet” es al que todo mundo puede acceder, con su equipo y su soft. No hay ninguna razón, por ejemplo, para hacer sitios con HTML5, canvas y SVG, siempre y cuando proveas una alternativa para los navegadores que no lo pueden interpretar.

  • nIabI

    wow, yo creo que tienes toda la razon, estoy ya un poco harto de leer que debo de cambiar mi navegador por tal cual solo para ver un sitio, si tu no te tomaste la molestia de “arreglar” yo no me tomare la molestia en cambiar solo por tu pagina recuerden que es la decisión del usuario (y como menciona rb3m, no siempre se puede cambiar por x o por y) yo usaba IE (maxthon) como mi navegador por defecto, y siempre he tenido mas problemas (siguiendo los “estandares”) para arreglar los errores en Fx que en IE. creo que la única razon por la cual cambie a Fx es por problemas que tiene Maxthon con flash, y por que Fx es mas amigable para depurar JS, Yo opino que si tu código se “rompe” es culpa TUYA, y no del navegador, tu como developer tienes que saber arreglar eso, utilizar lo que tienes a la mano para darle a tu cliente lo que quieres vender/mostrar/regalar, recuerden que la competencia es tan grande que si tu sitio no funciona en el navegador del cliente es mas fácil irse a otro que si lo haga a que el cambie su navegador solo por que tu sitio no lo soporta.

  • ares1983

    Bueno por por favor no se olviden de programar también para el IE5 y el IE4 que yo aun tengo mi computadora vieja con Windows 3.1 y quiero poder ver la paginas.

    Por dios es una locura, claro que voy a seguir programando para IE6 por su alto porcentaje en uso, pero entre todos tenemos que intentar que desaparezca, por que no estamos hablando de un navegador, estamos hablando de un desastre capricho de Microsoft que intento hacer monopolio con el y gracias a Firefox que no lo logro (El único que logro casi alcanzarlo y poner presión).

    Lo que dice nIabI:

    “que siempre ha tenido mas problemas para arreglar los errores en Fx que en IE (siguiendo los “estandares”)”.

    O lo que dice rb3m: “De hecho casi siempre dedico más líneas de código a -webkit y -moz que a arreglar desperfectos de IE6 (y de IE7 casi nunca)”

    Es otra locura, perdón si ofendo no es mi intención, pero eso es no saber programar o quedaste con demasiadas mañas del IE. Yo programo primero y principal para FX ya que se apega bastante a los estándares, los pruebo en los demás navegadores poniendo o cambiando algún parámetro para que se vean bien en todos, y luego lo mas trabajoso con comentarios condicionales me dedico a arreglar el IE, sin ningún tipo de hack que me estropee el código.

    La otra que dice rb3m: “Bueno, para empezar, los llamados estándares no son tales, sino que son guías y recomendaciones; mejores prácticas, digamos”

    En realidad estándar significa “lo que es establecido por la autoridad, la costumbre o el consentimiento general”. (Fuente Wikipedia) por lo tanto es mucho mas que una guia. Imaginen por un momento que pasaría si en el mundo no siguieran los estándares, seria un verdadero caos.

    Pues bien el IE6 debe desaparecer o el creador es el que debe hacerse cargo de ese desastre y sus clientes insatisfechos. Mientras tanto esto va mas haya de la accesibilidad en una web, claro que las web se deben ver bien en modo texto, sin imagenes o sin css.

    Pero el caso de IE6 es distinto tiene que desaparecer!

    Saludos!!

  • admin

    Exacto, Ares (el Disqus se había tragado tu comentario, no sé por que) hay que seguir programando para IE4 e IE5, o bueno, más precisamente, no específicamente para estos navegadores, sino siguiendo prácticas que permitan a estos navegadores acceder al contenido de las páginas, sin que los bonitos garigolitos de la presentación hagan imposible la navegación o lectura. Aún si presentas sólo el contenido, sin css, eso permitiría a estos navegadores seguir usando tu sitio.

    Yo hago igual que tú. Desarrollo primero para Firefox y Opera y después uso comentarios condicionales para ajustar los pequeños errores de IE6. ¿Sabes cuántas líneas en promedio tienen esas hojas de estilos condicionales? Entre 2 y 5. Rara vez llegan a la docena.

    No sé tú, pero yo diría que un desarrollador que necesita más de un puñado de líneas para hacer ajustes a IE6 realmente no sabe programar. Como te digo, comparado con los -moz y -webkit que uso para hacer ver el sitio mejor en Firefox 2 y Safari 3, no es nada.

    Tu definición de estándar es adecuada. Ahora dime ¿cuál autoridad se encarga de hacer valer los “estándares” del web? El W3C no es una autoridad, es un comité que hace recomendaciones, igual que el WCAG. Ni siquiera lo llamaría consentimiento general, puesto que si así fuera podría decirse que el consentimiento general es usar los navegadores de MS (más del 70%), por lo tanto ése debería ser el estándar a seguir. O programar con tablas, que es en lo que están hechos todavía la mayor parte de los sitios web.

    No, lo que conocemos como “estándar” de sitis web realmente no lo son. La aplicación es voluntaria, no hay ningún cuerpo que impida que subas algo a internet que no cumpla con los estándares, ni hay multas ni castigos. Son buenas recomendaciones y mejores prácticas, independientemente de como les llamemos.

    El caso de IE6 no es diferente al de ningún navegador más limitado, anticuado o no visual. Solamente el odio visceral, comprensible pero irracional, de ciertos desarrolladores es lo que lo hace ver así. Pero no es distinto.

  • ares1983

    Bueno, tal ves tengas razón, mi odio hacia los productos de Microsoft aveces no me permite ser racional yo. Como dices solo me lleva un par de lineas o ninguna para solucionar los problemas en estos navegadores con los comentarios condicionales, y gracias a Microsoft que existen estos condicionales sino seria una locura llenar de hacks. Mi mayor bronca fue cuando no encontraba la forma de probar mis diseños en tantos navegadores, pero ahora con los programas(navegadores) portables y otras aplicaciones es mucho mas fácil!

    Gracias por tu tiempo!

  • ares1983

    Para los que deseen tener todas las versiones del IE

    http://tredosoft.com/Multiple_IE

    las versiones son 3, 4.01, 5.01, 5.5, 6.0