W3docs

HTML <ins> Тег

Тег <ins> определяет фрагмент текста, вставленный в документ. Описание тега, атрибуты и примеры.

HTML-тег <ins> отмечает фрагмент текста, который был вставлен в документ. Это семантический редакторский элемент: он не просто подчёркивает текст, а фиксирует факт добавления. По умолчанию браузеры отображают содержимое с подчёркиванием, но это можно изменить с помощью CSS-свойства text-decoration.

<ins> почти всегда используется в паре со своим аналогом — тегом <del>, который отмечает удалённый текст. Вместе они описывают правку: что было убрано и что добавлено на замену. Именно такая информация необходима в:

  • Журналах изменений и примечаниях к выпускам — для отображения того, что добавлено в новой версии.
  • Юридических и договорных документах — для фиксации поправок без потери исходных формулировок.
  • Отслеживании изменений / сравнении документов — «редлайн»-представление, привычное редакторам по текстовым процессорам.

Поскольку <ins> предназначен исключительно для разметки правки, при необходимости только визуального эффекта используйте другой элемент: <u> для стилизации нетекстовых аннотаций, <em> или <strong> для выделения, и <mark> для подсветки важного текста.

Синтаксис

Тег <ins> используется парами. Содержимое записывается между открывающим (<ins>) и закрывающим (</ins>) тегами.

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

Пример HTML-тега <ins>:

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>

Результат

ins tag example

Использование <ins> в паре с <del> для отображения различий в документе

Наиболее распространённое применение <ins> — отображение «редлайна» правки: старый текст зачёркнут, новый подчёркнут, оба расположены рядом. Содержимое <del> — удалённый фрагмент; содержимое <ins> — замена.

<!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>

По умолчанию части <del> отображаются с зачёркиванием, а части <ins> — с подчёркиванием, так что читатель сразу видит, что изменилось.

Атрибуты cite и datetime

Оба тега <ins> и <del> принимают два атрибута, фиксирующие причину и время правки. Сами по себе они не создают видимого эффекта — это машиночитаемые метаданные, которые могут обрабатываться редакторскими инструментами и вспомогательными технологиями.

  • cite — URL, указывающий на документ (тикет, задачу, протокол совещания), объясняющий причину вставки.
  • datetime — дата, и при необходимости время, когда текст был вставлен.

Значение datetime соответствует тому же формату, что и у тега <time>: YYYY-MM-DDThh:mm. Часть с датой (YYYY-MM-DD) обязательна; часть со временем — необязательна. Если указывается время, оно отделяется от даты буквой T, а также может включать секунды и смещение часового пояса (например, 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>
ЗначениеСмысл
2023-10-01Только дата — 1 октября 2023 г.
2023-10-01T09:00Дата и местное время — 09:00
2023-10-01T09:00:00ZДата, время и часовой пояс UTC

Оборачивание блочного содержимого

<ins> является прозрачным элементом содержимого: он может охватывать как строчный текст, так и целые блоки (потоковое содержимое) — абзацы и элементы списков, если окружающий контекст допускает такие блоки. Это позволяет пометить целый абзац или несколько пунктов списка как вновь добавленные.

<!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>

Стилизация и доступность

Большинство программ экранного чтения не объявляют <ins> и <del> по умолчанию, поэтому пользователь, работающий с аудио, может не заметить правку. Добавление aria-label к <ins> не является надёжным решением — aria-label не является стандартным для этого элемента, и поддержка непоследовательна.

Рекомендуемый подход — раскрывать правку через CSS-генерируемый контент с использованием псевдоэлементов ::before и ::after. Метка вставки становится частью отображаемого текста, который программы чтения с экрана могут озвучить, а визуальные стили сосредоточены в одном месте.

<!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>

Атрибуты

АтрибутЗначениеОписание
citeURLУказывает URL документа, объясняющего причину вставки.
datetimeYYYY-MM-DDThh:mmОпределяет дату (и необязательное время) вставки.

Тег <ins> также поддерживает глобальные атрибуты и атрибуты событий.

Связанные теги

  • <del> — отмечает удалённый текст (аналог <ins>).
  • <s> — представляет содержимое, которое больше не является точным или актуальным (не правка).
  • <mark> — выделяет текст для справки или по значимости.
  • <u> — нетекстовое подчёркивание без редакторского смысла.

Практика

Практика
Что представляет HTML-тег <ins>?
Что представляет HTML-тег <ins>?
Практика
Какой атрибут фиксирует время вставки текста в формате YYYY-MM-DDThh:mm?
Какой атрибут фиксирует время вставки текста в формате YYYY-MM-DDThh:mm?
Was this page helpful?