W3docs

Tag HTML <ins>

Il tag <ins> definisce una parte di testo inserita nel documento. Descrizione, attributi ed esempi.

Il tag HTML <ins> contrassegna un tratto di testo che è stato inserito in un documento. È un elemento semantico ed editoriale: non si limita a sottolineare il testo, ma registra che è stata effettuata un'aggiunta. I browser visualizzano il contenuto sottolineato per impostazione predefinita, ma è possibile modificarlo con la proprietà CSS text-decoration.

<ins> è quasi sempre abbinato al suo corrispettivo, il tag <del>, che contrassegna il testo che è stato rimosso. Insieme descrivono una modifica — cosa è stato eliminato e cosa è stato aggiunto al suo posto. È esattamente il tipo di informazione da conservare in:

  • Changelog e note di rilascio — per mostrare cosa è stato aggiunto in una nuova versione.
  • Documenti legali e contrattuali — per registrare gli emendamenti senza perdere la formulazione originale.
  • Revisioni tracciate / diff di documenti — la vista "redline" a cui gli editor sono abituati dai word processor.

Poiché <ins> riguarda esclusivamente la marcatura di una modifica, è opportuno usare un elemento diverso quando si desidera solo un effetto visivo: usare <u> per la sottolineatura decorativa non testuale, <em> o <strong> per l'enfasi, e <mark> per evidenziare testo rilevante.

Sintassi

Il tag <ins> funziona in coppia. Il contenuto viene scritto tra il tag di apertura (<ins>) e quello di chiusura (</ins>).

<ins>This text was added.</ins>

Esempio del tag HTML <ins>:

Tag HTML <ins>

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>She likes <del datetime="2023-01-01">violets</del> <ins datetime="2023-10-01">snowdrops</ins>.</p>
  </body>
</html>

Risultato

ins tag example

Abbinare <ins> a <del> per mostrare un diff di documento

L'uso più comune di <ins> è visualizzare una "redline" di una modifica: il vecchio testo barrato e il nuovo testo sottolineato, uno accanto all'altro. Il contenuto di <del> è la formulazione rimossa; il contenuto di <ins> è la sostituzione.

<!DOCTYPE html>
<html>
  <head>
    <title>Document diff</title>
  </head>
  <body>
    <p>
      The meeting is scheduled for
      <del>Monday</del>
      <ins>Wednesday</ins>
      at
      <del>9:00 AM</del>
      <ins>10:30 AM</ins>.
    </p>
  </body>
</html>

Per impostazione predefinita le parti <del> appaiono con una linea che le attraversa e le parti <ins> appaiono sottolineate, così il lettore può vedere a colpo d'occhio cosa è cambiato.

Gli attributi cite e datetime

Sia <ins> che <del> accettano due attributi che registrano perché e quando è avvenuta una modifica. Non producono alcun effetto visibile di per sé — sono metadati leggibili dalle macchine che gli strumenti di editing e le tecnologie assistive possono esporre.

  • cite — un URL che punta a un documento (un issue, un ticket, una nota di riunione) che spiega il motivo dell'inserimento.
  • datetime — la data, e facoltativamente l'ora, in cui il testo è stato inserito.

Il valore di datetime segue lo stesso formato di <time>: YYYY-MM-DDThh:mm. La parte della data (YYYY-MM-DD) è obbligatoria; la parte dell'ora è facoltativa. Se si include un orario, separarlo dalla data con la lettera letterale T, e si possono aggiungere secondi e un offset di fuso orario (ad esempio 2023-10-01T14:30:00Z).

<p>
  Price:
  <del datetime="2023-09-30" cite="/changelog#price-update">$49</del>
  <ins datetime="2023-10-01T09:00" cite="/changelog#price-update">$59</ins>
</p>
ValoreSignificato
2023-10-01Solo data — 1° ottobre 2023
2023-10-01T09:00Data e ora locale — 09:00
2023-10-01T09:00:00ZData, ora e fuso orario UTC

Racchiudere contenuto block-level

<ins> è un contenuto trasparente: può racchiudere testo inline oppure interi blocchi (contenuto di flusso) come paragrafi ed elementi di lista, purché il contesto circostante permetta quei blocchi. Questo rende possibile contrassegnare un intero paragrafo o più voci di lista come appena inseriti.

<!DOCTYPE html>
<html>
  <head>
    <title>Inserted block</title>
  </head>
  <body>
    <h2>Release 2.0 — what's new</h2>
    <ins datetime="2023-10-01">
      <p>Added dark mode and keyboard shortcuts.</p>
      <ul>
        <li>Press <kbd>?</kbd> to view all shortcuts.</li>
        <li>Toggle the theme from the settings menu.</li>
      </ul>
    </ins>
  </body>
</html>

Stile e accessibilità

La maggior parte dei lettori di schermo non annuncia <ins> e <del> per impostazione predefinita, quindi un utente che si affida all'audio potrebbe non accorgersi che è avvenuta una modifica. L'aggiunta di un aria-label a <ins> non è una soluzione affidabile — aria-label non è standard su questo elemento e il supporto è inconsistente.

L'approccio consigliato è esporre la modifica attraverso il contenuto generato da CSS, usando gli pseudo-elementi ::before e ::after. L'etichetta inserita diventa parte del testo visualizzato, che i lettori di schermo possono leggere, e si mantiene lo stile visivo in un unico punto.

<!DOCTYPE html>
<html>
  <head>
    <title>Accessible ins styling</title>
    <style>
      ins {
        background-color: #d4f7d4;
        text-decoration: none;
        border-bottom: 2px solid green;
      }
      ins::before {
        content: " [inserted: ";
      }
      ins::after {
        content: "] ";
      }
    </style>
  </head>
  <body>
    <p>The deadline is <ins datetime="2023-10-01">next Friday</ins>.</p>
  </body>
</html>

Attributi

AttributoValoreDescrizione
citeURLIndica l'URL di un documento che spiega il motivo dell'inserimento.
datetimeYYYY-MM-DDThh:mmDefinisce la data (e l'ora facoltativa) dell'inserimento.

Il tag <ins> supporta anche gli Attributi Globali e gli Attributi Evento.

Tag correlati

  • <del> — contrassegna il testo che è stato rimosso (il corrispettivo di <ins>).
  • <s> — rappresenta contenuto che non è più accurato o rilevante (non una modifica editoriale).
  • <mark> — evidenzia il testo per riferimento o rilevanza.
  • <u> — sottolineatura decorativa non testuale, senza significato editoriale.

Esercitazione

Pratica
Cosa rappresenta il tag HTML <ins>?
Cosa rappresenta il tag HTML <ins>?
Pratica
Quale attributo registra quando il testo è stato inserito, nel formato YYYY-MM-DDThh:mm?
Quale attributo registra quando il testo è stato inserito, nel formato YYYY-MM-DDThh:mm?
Was this page helpful?