Desarrollo de Aplicaciones Web

Práctica 5: CSS (2)

1. Objetivos

2. Recursos

¿Cómo puedo seleccionar un estilo alternativo?

¿Cómo puedo hacer un estilo para que se use cuando se imprime una página web? ¿Qué cambios tengo que realizar respecto a un estilo en pantalla?

¿Qué es la accesibilidad web?

¿Cómo se puede mejorar la accesibilidad con CSS?

3. ¿Qué tengo que hacer?

En esta práctica tienes que crear cuatro estilos nuevos para tu sitio web:

Tienes que lograr que el sitio web se imprima correctamente. Para ello no tienes que crear una versión imprimible (una versión especial que genera el servidor web para que sea impresa), sino que tienes que crear una hoja de estilo para impresión para que sea usada cuando se quiera imprimir el sitio web.

También tienes que crear tres hojas de estilo que mejoren la accesibilidad del sitio web para ciertos grupos de usuarios. La accesibilidad web tiene como objetivo lograr que las páginas web sean utilizables por el máximo número de personas, independientemente de sus conocimientos o capacidades personales e independientemente de las características técnicas del equipo utilizado para acceder a la Web.

Si una página web no tiene en cuenta la accesibilidad web, ciertos grupos de usuarios con discapacidad pueden tener dificultades en el uso de algunos elementos de las páginas web:

Añade a tu sitio web un página web con la declaración de accesibilidad, algo similar a la declaración de accesibilidad de la Universidad de Alicante13, de La Moncloa14 o de AENOR15. Por ejemplo, la declaración debe incluir una explicación sobre:

Tienes que hacer que todos los estilos desarrollados para tu sitio web se puedan seleccionar como estilos alternativos desde el navegador web, sin tener que modificar el código fuente de la página.

4. ¿Cómo lo hago?

4.1. Estilo alternativo

Para indicar que se está usando un fichero CSS en una página web se emplea la etiqueta <link />. En una misma página web se pueden indicar varios ficheros CSS que se combinan todos ellos o también se puede indicar de forma que definan estilos alternativos. Los estilos alternativos se pueden definir para un mismo dispositivo o se pueden definir para distintos dispositivos (ordenador, impresora, teléfono móvil y otros). Para definir un dispositivo concreto se emplea el atributo media; si no se indica un dispositivo, el estilo CSS se aplica a todos los dispositivos (equivale a media="all").

Por ejemplo, en el siguiente código se define un estilo CSS que se debe emplear cuando se imprima una página web (media="print") y un estilo que se debe emplear cuando se visualiza en pantalla:

<link rel="stylesheet" type="text/css" href="home.css" media="screen" /> 
<link rel="stylesheet" type="text/css" href="print.css" media="print" />

El navegador selecciona automáticamente el estilo definido para la impresora cuando mandamos a imprimir una página web.

Cuando se definen estilos alternativos (rel="alternate stylesheet") para un mismo dispositivo, es necesario indicar un nombre para cada estilo con el atributo title. Pueden existir varias hojas de estilo con el mismo nombre, en cuyo caso se aplicarán todas ellas en conjunto al elegir el nombre que las identifica. Por ejemplo:

<link rel="stylesheet" type="text/css" href="home.css" title="Estilo principal" /> 
<link rel="alternate stylesheet" type="text/css" href="contrast.css" 
title="Estilo de alto contraste" /> 
<link rel="alternate stylesheet" type="text/css" href="big.css" 
title="Estilo de tamaño grande" /> 
<link rel="stylesheet" type="text/css" href="print.css" media="print" />

En la Figura 1 se muestra como seleccionar un estilo alternativo en Mozilla Firefox a través del menú Ver, Estilo de página.


PIC


Figura 1: Selección de estilos alternativos en Mozilla Firefox


En la Figura 2 se muestra como seleccionar un estilo alternativo en Microsoft Internet Explorer a través del menú Ver, Estilo.


PIC


Figura 2: Selección de estilos alternativos en Microsoft Internet Explorer


En CSS existen tres tipos de hojas de estilo:

Mucho cuidado: cuando se emplean diferentes hojas de estilo de diferente tipo (persistente, preferida, alternativa), el orden de aparición en el código puede influir en el resultado final de visualización.

4.2. Estilo para impresión

Al crear un estilo para impresión se tienen que tener en cuenta las diferencias que existen entre una pantalla y una hoja de papel:

Algunos consejos para crear una versión impresa correcta de un sitio web son:

4.3. Estilo accesible

CSS ayuda a mejorar la accesibilidad web porque permite separar la estructura y contenido de un documento de su presentación. Esto permite que los documentos estén mejor etiquetados y evita el empleo de ciertas técnicas de diseño que afectan de forma negativa en la accesibilidad de una página web.

Además, la separación de la presentación permite que se puedan ofrecer múltiples presentaciones para un mismo contenido. Un sitio web puede ofrecer varios estilos alternativos diseñados para mejorar la accesibilidad.

Algunos consejos para crear una presentación accesible de un sitio web:

Por ejemplo, el sitio web OER Commons16 ofrece un panel de opciones que permite cambiar la presentación del sitio web. En la Figura 3 se puede ver la presentación por defecto y en la Figura 4 la presentación accesible en la que se ha mejorado el contraste al utilizar el color blanco sobre negro y se ha aumentado el tamaño del texto un 20 %.


PIC


Figura 3: Presentación por defecto de OER Commons

PIC


Figura 4: Presentación accesible de OER Commons


Otro ejemplo de sitio web es mi antigua página personal17 que ofrece una lista desplegable para seleccionar diferentes estilos alternativos, como se puede ver en la Figura 5 que muestra la presentación por defecto. En Mozilla Firefox se puede visualizar la lista de estilos alternativos, como se puede ver en la Figura 6. Al activar la presentación accesible se aumenta el tamaño del texto y se mejora el contraste de la página al utilizar el color blanco sobre negro; además, también se cambia el color de los enlaces y se destacan mediante una línea de subrayado, como se puede ver en la Figura 7.


PIC


Figura 5: Presentación por defecto de la página personal de Sergio Luján Mora

PIC


Figura 6: Visualización de estilos alternativos en Mozilla Firefox

PIC


Figura 7: Presentación accesible de la página personal de Sergio Luján Mora


Algunas lecturas con consejos para crear un estilo accesible:

5. Recomendaciones

La selección del estilo alternativo se tiene que realizar a través de la opción correspondiente en el navegador. En aquellos navegadores que no dispongan de dicha opción no se podrá realizar dicha selección. Una alternativa es utilizar JavaScript para que funcione en cualquier navegador, pero no lo vamos a hacer en esta práctica.

No todos los navegadores ofrecen la opción de seleccionar un estilo alternativo. Por ejemplo, Google Chrome no dispone de esta opción, pero se puede instalar una extensión como Alt CSS24 que añade la opción de seleccionar un estilo alternativo, pero esta opción no funciona cuando se visualiza una página local (file://), sin usar un servidor web (http://). Por tanto, para comprobar la existencia y el uso de los estilos alternativos se recomienda usar el navegador Mozilla Firefox25, que tiene la opción incluida en el propio navegador.

La selección de un estilo alternativo no se conserva al pasar de página. En una próxima práctica veremos cómo mantener el estilo seleccionado con el uso de las cookies.

¿Cómo se puede comprobar el estilo desarrollado para impresión sin tener que imprimir la página web? Hay cinco posibilidades:

  1. Puedes añadir un estilo alternativo para la pantalla que haga uso del estilo para impresión. Por ejemplo:
    <link rel="alternate stylesheet" type="text/css" href="print.css" media="screen" 
    title="Estilo para impresión" />
  2. Puedes utilizar la opción de Vista preliminar o Vista previa de impresión que ofrecen los navegadores para visualizar en pantalla la forma de imprimir la página web.
  3. Puedes imprimir la página a un PDF.
  4. Puedes utilizar alguna opción de las herramientas para el desarrollador que incluyen los navegadores web. Por ejemplo, en la Figura 8 se muestra la opción “Emulate CSS media” que permite visualizar cómo se imprime una página web directamente en la pantalla.
  5. Puedes utilizar la opción Display Print Styles de la extensión Web Developer26.


PIC


Figura 8: Emulación de impresión en Google Chrome


¿Cómo debe ser el estilo para impresión? Estudia cómo se comporta la impresión de una página de un periódico como El País. Por ejemplo, el artículo “La web se encuentra bajo amenaza”27 se visualiza en la pantalla del ordenador como se puede ver en la Figura 9 y cuando se imprime como se puede ver en la Figura 10. Al imprimirse el artículo, las barras de navegación, los botones de redes sociales y las barras laterales con información adicional han desaparecido.


PIC


Figura 9: Artículo del periódico El País visualizado en la pantalla del ordenador



PIC


Figura 10: Artículo del periódico El País visualizado para ser impreso


Presta atención a las opciones de impresión cuando imprimas una página web. En la Figura 11 se muestran las opciones de impresión en Google Chrome, que incluye la opción de imprimir los gráficos de fondo. En algunos navegadores también existe la opción para imprimir los colores de fondo.


PIC


Figura 11: Opciones de impresión en Google Chrome


No te olvides de @import28, a veces puede ser muy útil.

Y recuerda: evita la divitis29, la spanmania y la classitis30.

Importante:

1https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets

2http://alistapart.com/stories/alternate/

3http://webdesign.about.com/od/printerfriendly/a/aa041403a.htm

4https://uxdesign.cc/i-totally-forgot-about-print-style-sheets-f1e6604cfd6

5http://webdesign.about.com/cs/css/a/aa042103a.htm

6http://alistapart.com/stories/goingtoprint/

7http://accesibilidadweb.dlsi.ua.es/

8http://www.w3c.es/Traducciones/es/WAI/intro/accessibility

9http://olgacarreras.blogspot.com.es/2009/07/25-reglas-para-hacer-css-accesibles.html

10http://www.w3.org/TR/WCAG10-CSS-TECHS/

11https://medium.com/@matuzo/writing-css-with-accessibility-in-mind-8514a0007939

12Realmente, como el estilo normal es adaptativo, el usuario debería poder hacer zoom para aumentar el tamaño de la página y ver el texto con un tipo de letra mayor, pero también aumentarían el resto de elementos de la página, lo cual puede no ser necesario siempre. Por eso, crea un estilo específico con un tipo de letra mayor.

13https://web.ua.es/es/web-institucional/accesibilidad.html

14http://www.lamoncloa.gob.es/Paginas/es_Accesibilidad.aspx

15https://www.aenor.com/declaracion-de-accesibilidad

16http://www.oercommons.org/

17http://gplsi.dlsi.ua.es/~slujan/version-anterior.html

18https://axesslab.com/colorblind-accessibility-web-fail-success-cases/

19https://colororacle.org/

20https://chrome.google.com/webstore/detail/nocoffee/jjeeggmbnhckmgdhmgdckeigabjfbddl

21https://www.invisionapp.com/inside-design/color-accessibility-product-design

22https://webaim.org/resources/contrastchecker/

23https://webaim.org/resources/linkcontrastchecker/

24https://chrome.google.com/webstore/detail/alt-css/deaodobjfcolfhkecnnghdclnlmfjdje

25Si la barra de menú no aparece, pulsa la tecla Alt.

26https://chrispederick.com/work/web-developer/

27https://elpais.com/tecnologia/2018/03/12/actualidad/1520856245_865371.html

28https://developer.mozilla.org/en-US/docs/Web/CSS/@import

29https://csscreator.com/divitis

30https://www.456bereastreet.com/lab/web_development_mistakes/es/

31https://developer.mozilla.org/en-US/docs/Web/CSS/@charset

32http://gs.statcounter.com/platform-market-share/desktop-mobile-tablet/worldwide/#monthly-201605-201704