Etiqueta s en HTML: texto que dejó de ser válido
La etiqueta <s> en HTML marca información que ya no es exacta o relevante, como un precio anterior que se conserva junto al actual. Úsala cuando quieras que el lector vea ese dato y entienda que dejó de aplicarse. No representa una eliminación editorial del documento; para documentar una revisión existe <del>.
<p>Precio anterior: <s>$500</s>. Precio actual: $400.</p>
El navegador suele mostrar $500 tachado. Los rótulos «Precio anterior» y «Precio actual» explican cuál es el importe vigente aunque no se perciba esa línea.
Para probarlo, pega el párrafo dentro del <body> del documento completo que aparece más adelante. Si retiras las etiquetas de <s>, el precio anterior perderá su tachado habitual, pero los rótulos seguirán distinguiendo los dos importes.
Sintaxis y contexto válido
Escribe <s>Dato que ya no se aplica</s> con apertura y cierre: ninguna de las dos etiquetas se puede omitir. Es un elemento de contenido de frase; puede colocarse donde se admita ese contenido y envolver texto, enlaces o énfasis, pero no párrafos, secciones ni listas completas. Consulta el modelo de contenido de <s> en el HTML Living Standard.
Por ejemplo, dentro de un párrafo marca solo el fragmento desactualizado. Si hay varios párrafos afectados, coloca una marca dentro de cada uno. En una lista, va dentro del <li>, no directamente bajo <ul>.
Su significado no depende del estilo: quitar el tachado mediante CSS no convierte el dato en vigente. Tampoco basta con dibujar una línea sobre un texto para darle el significado de <s>.
S frente a del y strike
¿Cuál es la diferencia entre s y del? <s> identifica información que perdió vigencia; <del> documenta contenido eliminado en una revisión. Un precio anterior puede seguir siendo útil como referencia comercial. Una frase retirada de unas condiciones pertenece a un registro de cambios, con <del> para lo eliminado y <ins> para lo añadido. El estándar de modificaciones del documento define esas dos funciones.
¿S reemplaza a strike? Puede ser la alternativa adecuada si el texto ya no es válido o pertinente. <strike> es una etiqueta obsoleta que no debe usarse en HTML actual. Para una eliminación editorial, elige <del>; si solo buscas un tachado decorativo, aplica CSS con text-decoration: line-through al elemento apropiado, sin atribuirle un cambio de vigencia.
Ejemplo práctico: una ficha y un registro de cambios
Esta ficha ficticia presenta el precio anterior y el actual de una mochila. Debajo aparece una revisión de las condiciones de envío: ese segundo caso utiliza <del> e <ins>, porque explica una edición del texto.
Guarda el siguiente documento como mochila.html en UTF-8 y ábrelo en el navegador. Incluye todo lo necesario y funciona sin servidor, recursos externos, CSS ni JavaScript.
<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Precios y condiciones de una mochila</title>
</head>
<body>
<h1>Mochila de paseo</h1>
<section aria-labelledby="titulo-precios">
<h2 id="titulo-precios">Precio vigente</h2>
<p>Moneda: pesos mexicanos (MXN).</p>
<p>Precio anterior: <s class="precio-anterior">$800 MXN</s>.</p>
<p>Precio actual: $640 MXN.</p>
</section>
<section aria-labelledby="titulo-cambios">
<h2 id="titulo-cambios">Registro de cambios del envío</h2>
<p>Revisión del 3 de octubre de 2026: se acorta el plazo de entrega.</p>
<p>
Texto eliminado: <del>Entrega en cinco días hábiles</del>.
Texto añadido: <ins>Entrega en tres días hábiles</ins>.
</p>
<p>Condición vigente: entrega en tres días hábiles.</p>
</section>
</body>
</html>
- Lee la ficha:
$800 MXNaparece normalmente tachado y$640 MXNes el precio actual. La moneda y los rótulos evitan que haya que deducirlo por el aspecto. - Lee el registro: «cinco días» se identifica como texto eliminado y «tres días» como añadido, habitualmente subrayado. La última frase repite la condición que debes aplicar.
- Retira solo las etiquetas de
<s>del precio anterior. Compara ese cambio con retirar las etiquetas de<del>del registro: el aspecto es parecido, pero cada elemento expresa un motivo distinto para tachar el texto. - Reduce la ventana y comprueba que los precios y las condiciones se lean en su orden original.
Para comprobar la independencia del tachado, añade temporalmente style="text-decoration: none" a <s> y <del>, y a <ins> para retirar su subrayado. Los rótulos seguirán explicando cada dato. Al quitar esos atributos, volverá la decoración habitual del navegador.
Atributos y accesibilidad
<s> no tiene atributos específicos vigentes. Admite los atributos globales de HTML: class permite seleccionarlo con CSS, id identifica un elemento de forma única en el documento y lang indica el idioma. La clase precio-anterior del ejemplo no aplica un estilo por sí misma; el idioma español se hereda de <html lang="es">.
La propiedad CSS text-decoration controla el tachado. Los atributos cite y datetime, usados para documentar cambios con <del> e <ins>, no pertenecen a <s>.
No confíes en que un lector de pantalla anuncie automáticamente el tachado. La documentación de accesibilidad de MDN advierte que muchos no anuncian la presencia de <s> con su configuración habitual. Mantén explicaciones visibles como «anterior», «actual» o «dato desactualizado», también para personas que no distingan la decoración.
Errores frecuentes al tachar texto
¿S elimina u oculta el contenido? El dato tachado sigue siendo parte del documento y puede leerse o copiarse. Tenlo en cuenta si quieres retirar información de una publicación.
¿Por qué no aparece tachado? Comprueba que el texto esté entre <s> y </s>. Después revisa las reglas CSS aplicadas en las herramientas del navegador: una regla con text-decoration: none puede retirar la línea. No añadas etiquetas históricas para corregir un estilo.
¿Puedo usar s para cualquier línea decorativa? Elige primero qué comunica el texto. Usa <s> para pérdida de vigencia, <del> para una eliminación documentada y CSS para una decoración. En precios y otros datos desactualizados, escribe siempre cuál era el dato anterior y cuál es el actual.
Compatibilidad y fuentes
Compatibilidad consultada el 3 de octubre de 2026: MDN clasifica <s> como ampliamente disponible. Los dos ejemplos usan HTML nativo y funcionan sin JavaScript. El soporte del elemento no garantiza una decoración ni un anuncio idéntico en todas las tecnologías de asistencia.
El HTML Living Standard fija el significado y las restricciones; MDN complementa la explicación y los datos de soporte. Las guías de <del> e <ins> desarrollan los cambios editoriales cuando ese sea el propósito del contenido.