W3docs

Etiqueta HTML <s>

La etiqueta HTML <s> marca texto que ya no es exacto o relevante (p. ej., un precio antiguo). Descubre en qué se diferencia de <del> y <strike>, con ejemplos.

La etiqueta HTML <s> marca texto que ya no es exacto o relevante — pero que no fue eliminado literalmente del documento. Es un elemento en línea y los navegadores muestran su contenido con un tachado (una línea horizontal sobre el texto) de forma predeterminada.

Un uso clásico es mostrar un precio rebajado: el precio antiguo permanece visible pero tachado, junto al precio de oferta actual. Esto le indica al lector "esto antes era cierto; esto es lo que es cierto ahora."

Nota

<s> es un elemento HTML5 válidono está obsoleto. La etiqueta obsoleta es <strike>, que nunca debes usar en páginas nuevas. Usa <s> (semántica) o CSS text-decoration: line-through (estilo puro) en su lugar.

Sintaxis

La etiqueta <s> va en pares. El contenido se coloca entre las etiquetas de apertura (<s>) y cierre (</s>).

Ejemplo — el caso de uso del precio tachado

Este es el uso más habitual e idiomático de <s>: el precio original ya no es relevante, por lo que aparece tachado, mientras que el precio de oferta se muestra como el actual.

Etiqueta HTML <s>

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>
      Hurry, sale ends soon!
      <s>Was $50.00</s>
      <strong>Now $29.99</strong>
    </p>
  </body>
</html>

Resultado

s tag example

<s> vs <del> vs <strike>

Las tres etiquetas producen una línea sobre el texto, pero tienen significados muy distintos. Elegir la correcta es lo que hace que tu HTML sea semántico en lugar de meramente decorativo a nivel visual.

EtiquetaSignificadoÚsala cuando…Estado
<s>El contenido ya no es exacto o relevanteUn precio antiguo, un detalle desactualizado, una recomendación que ha cambiado — el texto original nunca fue "eliminado", simplemente fue reemplazado.HTML5 válido
<del>El contenido fue eliminado como cambio editorialPara rastrear ediciones en un documento. Se combina naturalmente con <ins> para texto insertado. Admite los atributos cite y datetime para registrar por qué y cuándo.HTML5 válido
<strike>Tachado (solo presentación)Nunca — usa <s> o <del> en su lugar.Obsoleto

En resumen: usa <s> cuando el significado es "esto ya no es el caso" y usa <del> cuando el significado es "esto fue editado y eliminado." Si solo necesitas la línea visual sin ningún significado especial, usa CSS text-decoration: line-through en un elemento normal.

Accesibilidad

De forma predeterminada, los lectores de pantalla no anuncian el tachado — la tecnología de asistencia lee el contenido de <s> igual que cualquier otro texto. Así, un usuario con visión verá "Was $50.00" tachado, pero un usuario de lector de pantalla puede escuchar simplemente "Was $50.00" sin ninguna indicación de que está desactualizado.

Para los casos en que el estado tachado transmite un significado importante, añade texto visualmente oculto que lo explique:

<p>
  <s><span class="visually-hidden">Old price: </span>Was $50.00</s>
  <strong>Now $29.99</strong>
</p>
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

Atributos

La etiqueta <s> admite los atributos globales y los atributos de evento. No tiene atributos propios.

Estilos

Los navegadores ya aplican text-decoration: line-through a <s>, por lo que no necesitas CSS solo para obtener la línea. Los estilos son una sobreescritura opcional — por ejemplo, para cambiar el color del texto tachado sin volver a declarar la línea:

s {
  color: gray;
}

Práctica

Práctica
¿Qué representa la etiqueta <s> en HTML?
¿Qué representa la etiqueta <s> en HTML?
Was this page helpful?