javascript web accessibility paradigms

javascript - w3c html standards



¿El JavaScript discreto está desactualizado? (2)

Cuando leí por primera vez el principio de JavaScript discreto en el Currículo Estándar de la Web, pensé que era una gran cosa.

JavaScript no intrusivo es más una filosofía de programación que una técnica. Por mucho, su componente más importante es un claro sentido de qué funcionalidad pertenece a qué capa. Todas las funciones del sitio absolutamente cruciales deben codificarse en HTML simple, pero una vez que haya creado esa base, puede agregar una capa de JavaScript sobre lo básico para brindar a los navegadores una interfaz más agradable, limpia y de apariencia más rápida.

Además, JavaScript discreto:

  1. separa la estructura y el comportamiento, para facilitar la limpieza del código y el mantenimiento del script

  2. previene incompatibilidades con el navegador

  3. Funciona con una capa HTML limpia y semántica.

Para mi proyecto actual utilizo este enfoque. Cuando desactivé JavaScript para algún otro tipo de trabajo que tenía que hacer, me sorprendió la cantidad de sitios web que están completamente dañados sin JavaScript: falta la funcionalidad, así como la ausencia de gran cantidad de información importante, que no estaba presente en absoluto DOM.

Estos fueron especialmente los sitios de redes sociales. No debería sorprender que este fuera el caso, el tiempo de desarrollo requerido y la experiencia del usuario podrían ser mucho más importantes que la accesibilidad.

Sin embargo, me pregunto si el JavaScript discreto no está desactualizado. Me refiero a qué navegador no soporta JavaScript de forma nativa? ¿Sigue siendo un enfoque adecuado para el año 2012? Empecé a dudarlo.


Diferentes empresas tienen diferentes enfoques. Por ejemplo, Google para su búsqueda utiliza un javascript discreto que se degrada con gracia, pero para GMail mantienen un sitio separado solo para HTML que desarrollaron después de la versión de GMail JS.

A mi depende de

  1. Complejidad
  2. Funcionalidad,
  3. Costo
  4. Cuenta de usuarios afectados

para decidir si realizar una degradación elegante con un JS discreto o para crear un sitio dedicado solo en HTML o ignorar por completo esa base de usuarios.


Hay dos formas de acercarse a un sitio web y el uso de JS:

  1. JS como una mejora

    Estos tipos de sitios son como "documentos" en el sentido de que son análogos a los periódicos, libros y cartas. No necesitas efectos extravagantes para leer y usar el contenido. Y con esto viene la mejora progresiva: crear una funcionalidad básica y agregar complejidades sin sacrificar el propósito .

    La mayoría de los sitios web (grandes) utilizan este esquema para preservar su utilidad incluso cuando se utiliza un navegador no capaz. Un ejemplo es , que incluso funciona en un navegador de línea de comandos de lynx.

    ______ | JS | - JavaScript for (optional) enhancements |------| | CSS | - CSS for (optional) style |------| | HTML | - (mandatory) HTML with base content ''------''

  2. JS como plataforma

    Para las aplicaciones web, es razonable (más como obligatorio) que se creen en JS para contenido y funcionalidad dinámicos en tiempo real, mientras que HTML y CSS sirven como la vista. Es sinónimo de otros lenguajes de programación, donde puede ir "sin cabeza" con su programa (sin interfaz de usuario) como bibliotecas y complementos.

    La degradación elegante viene con este enfoque: "El apoyo hacia atrás solo hasta cierto punto, de lo contrario no obtendrás nada"

    ____________ | HTML | CSS | - (optional) HTML and CSS view |------------| | JS | - (mandatory) JS platform ''------------''

En general, se reduce a una pregunta de "¿Es un documento o una aplicación?"