Ir a página de inicio de Unidad ACCESO

Unidad de Investigación ACCESO

Accesibilidad a la Red

Sitio Web en memoria de Rafael Romero Zúnica
Todo el contenido y el propio sitio web son originales de Rafael Romero.

Información y herramientas sobre el diseño accesible de sitios web. Diseño para Todos

Técnicas para crear DHTML compatible hacia atrás

Rafael Romero Zúnica
Unidad de Investigación ACCESO 
Publicado originalmente en Temalia. 01/06/2001

Resumen

Para que las páginas que usan DHTML se muestren correctamente en navegadores antiguos se pueden emplear distintas técnicas como ordenar correctamente el código de los elementos que usan posicionamiento, utilizar un subprograma para escribir código adicional sólo en los navegadores nuevos o usar la etiqueta NOSCRIPT.

Artículo

Al realizar efectos de HTML Dinámico (DHTML) mediante Javascript y Hojas de Estilo en Cascada (CSS) con posicionamiento hay que asegurarse que las páginas web siguen siendo compatibles hacia atrás. Esto quiere decir que aunque los navegadores antiguos no reconozcan estos lenguajes, las páginas sigan siendo operativas, aunque probablemente con menor vistosidad e interactividad.

Por ejemplo, mediante CSSP se puede lograr un posicionamiento exacto de una tabla con los enlaces de navegación en la parte superior de la ventana y conseguir un efecto similar al de un marco o 'frame'. Pero hay que asegurarse de que en los navegadores antiguos los enlaces de navegación sigan existiendo de alguna manera, preferentemente al comienzo de la página, aunque se pierda el efecto de que estén fijos en un lugar de la ventana. De otra forma el usuario no será capaz de navegar por el sitio.

Etiquetas y atributos desconocidos
La clave para crear páginas con DHTML que se 'degraden' satisfactoriamente para mostrarse en navegadores antiguos reside en la forma que tienen todos los navegadores de interpretar las etiquetas o atributos del código de la página que les son desconocidos.

Según la especificación HTML el navegador simplemente ignorará cualquier etiqueta HTML que no reconozca. Ante un atributo desconocido, éste no se tendrá en cuenta, pero el resto de la etiqueta se procesará normalmente.

Esto permite desarrollar distintas estrategias para prever cómo se mostrará el contenido de la página web en aquellos navegadores que no reconozcan las características DHTML disponibles en los nuevos navegadores.

Orden de los elementos en la página
Si se ordenan cuidadosamente los elementos de una página web, se logrará una distribución aceptable en la página aunque el navegador no soporte la característica usada de posicionamiento absoluto o relativo y otras características avanzadas.

Un ejemplo de aplicación sería un menú desplegable de opciones o hipervínculos creado mediante posicionamiento absoluto y el valor 'visibility' del atributo STYLE activado o desactivado mediante Javascript al hacer clic en el encabezado del menú. Los navegadores antiguos ignorarán todas estas funcionalidades y simplemente mostrarán todas las opciones del menú permanentemente en pantalla en el orden con que hayan sido introducidos en el código fuente de la página.

Si lo que se desea es esconder el contenido adicional en los navegadores que no soporten Javascript, se puede usar un subprograma (script) para escribir el código correspondiente. Esto se hace mediante la instrucción de Javascript 'document.writeln("Texto a escribir<BR>")'. Los navegadores que no soporten Javascript simplemente ignorarán la etiqueta SCRIPT y todo el subprograma posterior con lo que se logrará que dicho código y contenido adicional no aparezcan.

Etiqueta <NOSCRIPT>
Al igual que la etiqueta <NOFRAMES> que permite definir contenido alternativo para los navegadores que no soportan marcos, la etiqueta <NOSCRIPT> permite definir un contenido para que aparezca únicamente en los navegadores sin soporte de subprogramas. Esto es válido para cualquier tipo de subprograma, no sólo Javascript.

Los navegadores antiguos simplemente ignoran esta etiqueta y continúan reproduciendo los siguientes elementos de la página. Sin embargo los modernos están preparados para ignorar todo el contenido que se encuentre entre las etiquetas de <NOSCRIPT> y </NOSCRIPT>.

De esta forma se logra el efecto contrario al explicado anteriormente. Es decir se puede ocultar en los navegadores modernos un contenido HTML que sin embargo sí que se muestra en los navegadores sin soporte de subprogramas.

Más técnicas
Si se especifica la versión de Javascript empleada mediante el atributo LANGUAGE de la etiqueta SCRIPT, el subprograma sólo se ejecutará si el navegador soporta dicha versión. Así se evita que el navegador intente ejecutar un subprograma que pueda causar un error por no conocerse algunas instrucciones o por haber cambiado el modo de funcionamiento desde la última versión soportada.

En teoría se puede intentar identificar el navegador que está accediendo a la página mediante la variable del sistema 'navigator.appVersion' que se consulta desde Javascript, para mostrar una página u código distinto en función de ese dato.

Sin embargo esto no es muy efectivo, ya que algunos navegadores, como por ejemplo Opera, permiten al usuario cambiar esa declaración e incluso pretender ser otro navegador más popular (normalmente IExplorer 5 o Netscape 4) precisamente para no verse excluido del acceso a algunos sitios web.


(c) Unidad ACCESO. Dep. Psicología Evolutiva i de l'Educació. Universitat de Valencia Estudi General.
Contactar con Unidad ACCESO
Página web accesible para personas con discapacidad.