1. Web Design
  2. HTML/CSS
  3. HTML

Consejo rápido: no olvida el elemento "noscript"

JavaScript es un lenguaje poderoso que da vida a los sitios web con interactividad, hasta ese temido momento en el que JavaScript está desactivado en el navegador, de la nada. . En este consejo rápido, veremos cómo proporcionar alternativas con el elemento <noscript>.
Scroll to top
This post is part of a series called Strange and Unusual HTML.
HTML5 Form Validation With the “pattern” Attribute

Spanish (Español) translation by Valentino (you can also view the original English article)

JavaScript es un lenguaje poderoso que da vida a los sitios web con interactividad, hasta ese temido momento en el que JavaScript está desactivado en el navegador, de la nada. . En este consejo rápido, veremos cómo proporcionar alternativas con el elemento <noscript>.

Sin JavaScript

Los usuarios pueden deshabilitar JavaScript por varias razones.  Es posible que lo estén haciendo para hacer frente a las limitaciones de ancho de banda, para salvar la duración de la batería de su teléfono, tal vez por motivos de privacidad, de modo que no sean rastreados con scripts analíticos.  Un puñado de personas incluso instala extensiones de navegador como NoScript para evitar que el navegador ejecute JavaScript.  Basta decir que si JavaScript está desactivado, muchos sitios web y aplicaciones no funcionan; si no completamente, parcialmente.

Veamos algunos ejemplos.

Sugerencia: Para los propósitos de este tutorial, voy a usar Quick JavaScript Switcher, una práctica extensión para Chrome que me permite alternar JavaScript con un solo clic.

WordPress.com

El nuevo editor de publicaciones de WordPress.com depende en gran medida de JavaScript.  Como puedes ver en la siguiente captura de pantalla, no muestra nada más que el logotipo de WordPress "W" cuando JavaScript está desactivado.  Suponiendo que la mayoría de los usuarios de WordPress no sean expertos en tecnología, probablemente no estarían al tanto de lo que está sucediendo.

Editor de publicaciones de WordPress.com (11 de diciembre de 2015).

Trello

Trello, una aplicación web de gestión de proyectos, depende en gran medida de JavaScript.  Sin embargo, a diferencia de WordPress.com, Trello amablemente nos lo dice con una simple advertencia:

Interfaz de Trello (11 de diciembre de 2015)

Facebook

Facebook maneja esta situación aún mejor.  Muestra una notificación, les dice a los usuarios lo que está sucediendo y proporciona varios cursos de acción con el botón para cerrar sesión y actualizar, y la opción de recurrir a la versión optimizada para dispositivos móviles.  Todos estos se presentan con la conocida marca visual de Facebook.

Facebook (11 de diciembre de 2015)

New York Times

Algunos sitios pueden usar JavaScript solo parcialmente, como blogs y sitios de noticias.  Cuando utilices NewYorkTimes, por ejemplo, encontrarás un par de espacios en blanco cuando JavaScript esté desactivado.  Los iconos de búsqueda que acompañan a los enlaces Buscar y Secciones desaparecen, como se ve a continuación.

Esta es una degradación elegante (es posible que los usuarios ni siquiera se den cuenta), lo que destaca que es aconsejable ofrecer la mejor experiencia posible cuando JavaScript está desactivado.

Usando el elemento "noscript"

La forma en que proporcionamos respaldo dependerá en gran medida de cómo implementemos JavaScript en nuestros sitios web, pero el elemento noscript será útil en muchos casos.  Como su nombre lo indica, podemos usar noscript para representar contenido alternativo.  Todo lo que esté dentro de las etiquetas <noscript><.noscript> se mostrará solo cuando JavaScript esté desactivado.

Para servir como ejemplo, construí una página de demostración.  Esta demostración replica el efecto de carga de imágenes borrosas como se ve en Medium.  Las imágenes y el efecto de desenfoque se envían a través de JavaScript, así que ¿adivinen qué sucede cuando desactivamos JavaScript?

Las imágenes no se cargarán.

Para mostrar estas imágenes, podemos envolverlas en elementos noscript así como envolver las declaraciones de estilo, abordando los problemas de posicionamiento.

1
<head>
2
	<noscript>
3
		<style>
4
			figure noscript {
5
				top: 0;
6
				left: 0;
7
				position: absolute;
8
			}
9
		</style>
10
	</noscript>
11
</head>
12
13
...
14
15
<figure>
16
	<img src="img/img-small-1.jpg" 
17
		 width="30"
18
		 height="20"
19
		 class="img-small"
20
		 alt="" 
21
		 data-large="img/img-large-1.jpeg"
22
		 data-large-width="1280"
23
		 data-large-height="853">
24
	<canvas></canvas>
25
	<figcaption>Lorem ipsum dolor sit amet.</figcaption>
26
	
27
	<!-- fallback image -->
28
	<noscript><img src="img/img-large-1.jpeg" height="600" width="900"></noscript>
29
</figure>

También podemos usar el elemento noscript para notificar a los usuarios sobre la desactivación de JavaScript, similar a lo que hacen Facebook y Trello.  Además, podemos agregar un enlace de referencia para ayudar a nuestros usuarios a activar JavaScript.

Envolver

Proporcionar noscript como respaldo es una forma útil de decirles a los usuarios del sitio web que, sin JavaScript, es posible que las cosas no funcionen al 100%.  Pero no olvidemos que su prioridad debe ser asegurarte de que la falta de JavaScript (o CDN, o cualquiera de una gran cantidad de otras dependencias) no rompa la experiencia del usuario.  Gracias a Christian Heilmann por asegurarse de que se transmitiera ese mensaje.