W3docs

Устаревшие теги HTML

Устаревшие элементы допустимы, но не рекомендуются и заменяются новыми. Список устаревших тегов HTML с современными альтернативами.

В этой главе объясняется, какие теги HTML считаются устаревшими, почему они вышли из употребления и что использовать вместо них. Если вы работаете со старой разметкой или скопировали фрагмент из устаревшего руководства — эта глава поможет найти современную замену.

Почему теги HTML устаревают

У большинства устаревших тегов одна общая причина: они смешивают представление (то, как выглядит контент) со структурой (то, что означает контент). В ранних версиях HTML были теги вроде <font>, <center> и <big>, которые управляли цветами, выравниванием и размерами непосредственно в разметке. Такой подход плохо масштабируется: чтобы изменить внешний вид сайта, приходилось редактировать каждую страницу вручную.

Современная веб-разработка следует принципу разделения ответственности: HTML описывает структуру и смысл контента, а CSS отвечает за всё оформление. Это делает страницы удобнее в сопровождении, легче при загрузке и гибче при изменении стилей. Кроме того, это улучшает доступность — программы чтения с экрана и другие вспомогательные технологии опираются на осмысленную, семантическую разметку, а не на визуальные приёмы. Для более полного понимания современного, семантического подхода см. Семантические элементы в HTML5 и введение в HTML5.

Устаревшие и запрещённые теги

Эти два понятия часто путают, но они не одинаковы:

  • Устаревший (deprecated) — тег по-прежнему допустим, большинство браузеров его отображают, однако его использование не рекомендуется. В будущем он может быть удалён.
  • Запрещённый (obsolete) — спецификация HTML5 указывает, что этот тег не должен использоваться. Браузеры могут продолжать его отображать только для обратной совместимости, но писать новую разметку с ним нельзя.
Внимание

Не полагайтесь на то, что устаревший тег «просто работает». Поддержка браузером может быть отключена в любой момент, а такие теги нередко ведут себя непоследовательно в разных браузерах. Всегда используйте современную замену.

До и после: замена устаревшего тега

Классический пример — тег <font>, который задавал цвет, размер и гарнитуру шрифта непосредственно в разметке. Ниже показан старый способ рядом с его CSS-эквивалентом.

Устаревший подход — представление в HTML:

<font color="red" size="5" face="Arial">Important notice</font>

Современный подход — структура плюс CSS:

<p class="notice">Important notice</p>
.notice {
  color: red;
  font-size: 1.5rem;
  font-family: Arial, sans-serif;
}

Во втором варианте то, чем является текст (абзац-уведомление), отделено от того, как он выглядит. Вы можете переоформить каждый элемент .notice на сайте, отредактировав одно CSS-правило. Подробнее — на страницах CSS font и text-align.

Замечания о доступности

Некоторые устаревшие теги не рекомендуются именно потому, что они создают барьеры для пользователей:

  • <blink> и <marquee> создают мигающий или движущийся текст. Движение и мигание отвлекают многих читателей, могут сделать текст нечитаемым для людей с когнитивными особенностями или нарушениями внимания, а быстрое мигание способно даже вызвать припадок у пользователей с фотосенситивной эпилепсией. Если анимация действительно необходима, используйте CSS animation — и уважайте пользовательскую настройку prefers-reduced-motion, чтобы её можно было отключить.
  • <acronym> был заменён тегом <abbr>, потому что различие между «акронимом» и «аббревиатурой» было запутанным и непоследовательным. Единый элемент <abbr> охватывает оба случая, а вспомогательные технологии могут зачитывать пользователям расширенный текст из атрибута title.

Список устаревших тегов HTML

ТегОписаниеАльтернатива
<acronym>Указывает браузеру, что содержимое является акронимом или аббревиатурой.<abbr>
<applet>Определяет встроенный Java-апплет.<object>
<basefont>Задаёт размер и цвет шрифта по умолчанию.Стили CSS
<big>Увеличивает размер шрифта на одну условную единицу.Стили CSS
<blink>Создаёт медленно мигающий текст.animation
<center>Выравнивает содержимое по центру.text-align
<dir>Определяет список заголовков каталога.<ul>
<font>Задаёт характеристики шрифта.Стили CSS
<frame>Определяет отдельное окно (фрейм), в которое можно загрузить другую веб-страницу.<iframe>
<frameset>Определяет структуру набора фреймов.<iframe>
<isindex>Отображает строки поиска в текущем документе.<form>
<noframes>Содержит альтернативный текст для браузеров, не поддерживающих фреймы.Полностью устарел вместе с <frameset>/<frame>; прямой замены нет.
<marquee>Создаёт прокручиваемый текст или изображение.animation
<spacer>Вставляет пустое пространство (горизонтальное или вертикальное) для вёрстки.Стили CSS (margin/padding)
<menu>Определяет список команд.<ul>
<plaintext>Указывает браузеру отображать содержимое как обычный текст без форматирования.<pre>
<strike>Определяет зачёркнутый текст.<del>
<tt>Определяет текст, отображаемый моноширинным шрифтом.<code>

Практика

Практика
Какие из следующих тегов HTML являются устаревшими согласно w3docs.com?
Какие из следующих тегов HTML являются устаревшими согласно w3docs.com?
Практика
Какова главная причина устаревания тегов font, center и big?
Какова главная причина устаревания тегов font, center и big?
Практика
Какой современный элемент заменяет устаревший тег acronym?
Какой современный элемент заменяет устаревший тег acronym?

Следующие шаги

Теперь, зная, чего следует избегать, изучите современные, семантически выверенные альтернативы в разделах HTML Elements и Семантические элементы в HTML5, а затем перенесите всё визуальное оформление в CSS.

Was this page helpful?