Accesibilidad Web
 
Portada
Artículos
Cambio Dinámico de Hoja de Estilos CSS
Optimizar una Web a todas las resoluciones
Ley 34/2002 sobre accesibilidad en Administraciones Públicas
Textos con anglicismos
Aplicar el atributo TITLE a tablas
Elección de estructura para una Página
Compatibilidad e Incompatibilidad entre navegadores
Cambio Dinámico de Tamaño de Fuente
Disminuir el Tiempo de Carga de una Web
Facilitar la Lectura del Contenido de una WEB
Preguntas frecuentes sobre HTML y XHTML
Propuesta de Pautas para la Comunicación Social Básica
Abreviaturas versus Acrónimos
Doc. Oficial
Guía Breve de Accesibilidad Web
Preguntas frecuentes sobre las "Pautas de Accesibilidad al Contenido en la Web 1.0"
Foros
Foros Accesibilidad-Web
Recursos
Recursos
Cambio Dinámico de Hoja de Estilos CSS Imprimir E-mail
En este artículo se pretende explicar como poder usar diferentes estilos para una misma página, según las necesidades o dificultades de la persona que la visita.

Se puede cambiar dinámicamente la hoja de estilos CSS con un simple código JavaScript.

Por norma general, las páginas que utilizan una hoja de estilos CSS (Cascading Style Sheets) suelen cargarla utilizando la siguiente línea de código, incluida en la cabecera de la página entre las etiquetas <head> y </head>:

<link rel="stylesheet" type="text/css" href="miestilo.css">

Con éste código, en realidad se carga una hoja de estilos persistente, es decir, que no podremos usar otro estilo diferente para la página. Esto lo podemos cambiar añadiendo a la etiqueta <link> la propiedad title:

<link rel="stylesheet" type="text/css" href="normal.css" title="normal">

De ésta manera, la hoja de estilos CSS es cargada como preferida, pudiendo después cargar otra hoja de estilo, quedando la primera descargada. Para definir una hoja de estilos alternativa, podemos añadir el siguiente código:

<link rel="alternate stylesheet" type="text/css" href="altocontraste.css" title="altocontraste">

Tan solo se han cambiado los atributos rel (para indicar que esta nueva hoja de estilo es la alternativa) y title (para poder referirnos luego a ella). Por defecto, las hojas de estilo alternativas son cargadas por el navegador, aunque deshabilitadas. Pero esto no debe preocuparnos ya que una hoja de estilo no suele sobrepasar los 10Kb de tamaño.

Bien: ahora por defecto se carga la hoja de estilos normal.css y tenemos la alternativa altocontraste.css (por ejemplo). Ahora deberemos incluir la siguiente línea de código también entre las etiquetas de <head> y </head>:

<script type="text/javascript" src="styleswitcher.js"></script>

Esto incluirá el archivo styleswitcher.js, donde se encuentran las funciones JavaScript necesarias para nuestro propósito. Lo puedes descargar haciendo clic aquí.

Por último, nos queda añadir en la parte de nuestra página que creamos conveniente los vínculos para que el usuario pueda cambiar el estilo al hacer clic:

<a href="#" onclick="setActiveStyleSheet('normal'); return false;">Normal</a>

<a href="#" onclick="setActiveStyleSheet('ejemplo2'); return false;">Alto Contraste</a>

En estos hipervínculos, el atributo onclick hace referencia a una función incluida en el archivo styleswitcher.js, a la cual le pasamos el valor del title de la hoja de estilo.

Ver Ejemplo


Sobre el fichero stylesWitcher.js:

Ha sido desarrollado por Peter-Paul-Koch y Paul Sowden. Incluye varias funciones Javascript para escanear a través de los tags, habilitar/deshabilitar hojas de estilo, identificar cual está activa y guardar la hoja de estilos actual en una cookie para que permanezca posteriormente.

El fichero fue obtenido originalmente de:

http://www.alistapart.com/d/alternate/styleswitcher.js

Ni4
http://www.ni4.org/modules.php?name=News&file=article&sid=33


Portada arrow Cambio Dinámico de Hoja de Estilos CSS