Атрибуты HTML

· Реклама ·

Атрибут HTML - это дополнительная настройка тега. Он записывается внутри открывающего тега в виде название="значение" и уточняет, как тег должен работать: куда вести ссылку, какую картинку показать, как назвать поле формы. Здесь собраны все атрибуты HTML: общие для любого тега, атрибуты ссылок, картинок, форм, таблиц, аудио и видео, события, ARIA, экспериментальные и устаревшие.

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

Для каждого атрибута указано, на каких тегах он работает. Названия тегов ведут на страницы справочника Все теги HTML.

1. Глобальные атрибуты HTML: id, class, style, title, lang

Эти атрибуты можно записать в любой тег. Они задают идентификатор и класс элемента для стилей и скриптов, подсказку, язык, порядок перехода по Tab и другие общие настройки.

АтрибутЧто делаетГде работаетПример
idУникальное название элемента на странице: для ссылок-якорей, CSS и скриптовлюбой тег<h2 id="price">Цены</h2>
classОдин или несколько классов, по которым элемент оформляют и находятлюбой тег<p class="note big">Текст</p>
styleСтили CSS, записанные прямо в тегелюбой тег<p style="color: red">Текст</p>
titleПодсказка, которая появляется при наведении курсоралюбой тег<a href="/" title="Главная страница">Главная</a>
langЯзык содержимого элементалюбой тег<html lang="ru">
dirНаправление текста: ltr, rtl или autoлюбой тег<p dir="rtl">Текст справа налево</p>
hiddenСкрывает элемент со страницылюбой тег<p hidden>Этого не видно</p>
tabindexВключает элемент в переход по клавише Tab и задаёт порядоклюбой тег<div tabindex="0">Блок с фокусом</div>
accesskeyКлавиша быстрого перехода к элементулюбой тег<a href="/" accesskey="h">Главная</a>
contenteditableРазрешает менять текст прямо на страницелюбой тег<p contenteditable="true">Исправь меня</p>
draggableРазрешает или запрещает перетаскивать элемент мышьюлюбой тег<img src="cat.jpg" alt="Кот" draggable="false">
spellcheckВключает или выключает проверку орфографиилюбой тег<textarea spellcheck="false"></textarea>
translateРазрешает или запрещает автоматический перевод фрагменталюбой тег<span translate="no">HTML</span>
autofocusПереводит фокус на элемент сразу после загрузки страницылюбой тег<input autofocus>
data-*Свои данные в атрибутах для скриптов и CSSлюбой тег<li data-id="42">Товар</li>

2. Атрибуты ссылок: href, target, rel, download

Они определяют, куда ведёт ссылка, где откроется страница, что браузер узнает о связи страниц и как скачать файл.

АтрибутЧто делаетГде работаетПример
hrefАдрес, на который ведёт ссылка или с которого подключается файл<a>, <area>, <base>, <link><a href="/price.html">Цены</a>
targetГде открыть ссылку: в этой вкладке, в новой или во фрейме<a>, <area>, <base>, <form>
Устарел на: <link>
<a href="/" target="_blank">Главная</a>
relСвязь страницы со ссылкой: nofollow, noopener, stylesheet и другие<a>, <area>, <form>, <link><a href="https://example.com" rel="nofollow noopener">Сайт</a>
downloadСкачивает файл вместо перехода на него<a>, <area><a href="price.pdf" download>Скачать прайс</a>
pingАдреса, которым браузер сообщит о клике по ссылке<a>, <area><a href="/" ping="/stat">Главная</a>
hreflangЯзык страницы, на которую ведёт ссылка<a>, <link>
Устарел на: <area>
<a href="/en/" hreflang="en">English</a>
referrerpolicyКакие сведения об исходной странице передавать при переходе и загрузке<a>, <area>, <iframe>, <img>, <link>, <script><a href="https://example.com" referrerpolicy="no-referrer">Сайт</a>

3. Атрибуты изображений и карт: src, alt, width, height, srcset

Атрибуты картинок задают файл, описание, размер и набор файлов для разных экранов. Карты-изображения добавляют к ним области-ссылки.

АтрибутЧто делаетГде работаетПример
srcАдрес файла: картинки, видео, звука, скрипта или встроенной страницы<audio>, <embed>, <iframe>, <img>, <input>, <script>, <source>, <track>, <video><img src="cat.jpg" alt="Кот">
altОписание картинки для скринридера и на случай, если файл не загрузился<area>, <img>, <input><img src="cat.jpg" alt="Рыжий кот на диване">
widthШирина в пикселях, записывается числом без единиц<canvas>, <embed>, <iframe>, <img>, <input>, <object>, <source>, <video>
Устарел на: <col>, <colgroup>, <hr>, <pre>, <table>, <td>, <th>
<img src="cat.jpg" alt="Кот" width="300">
heightВысота в пикселях, записывается числом без единиц<canvas>, <embed>, <iframe>, <img>, <input>, <object>, <source>, <video>
Устарел на: <table>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr>
<img src="cat.jpg" alt="Кот" height="200">
srcsetСписок файлов одной картинки для разной плотности пикселей и ширины экрана<img>, <source><img src="cat.jpg" srcset="cat-2x.jpg 2x" alt="Кот">
sizesКакую ширину займёт картинка на разных экранах<img>, <link>, <source><img srcset="a-400.jpg 400w, a-800.jpg 800w" sizes="(min-width: 600px) 600px, 100vw" src="a-800.jpg" alt="">
loadingОткладывает загрузку картинки или фрейма, пока их не прокрутят в поле зрения<iframe>, <img><img src="cat.jpg" alt="Кот" loading="lazy">
decodingКак браузеру обрабатывать картинку: sync, async или auto<img><img src="cat.jpg" alt="Кот" decoding="async">
fetchpriorityПриоритет загрузки файла: high, low или auto<img>, <link>, <script><img src="hero.jpg" alt="" fetchpriority="high">
ismapКартинка с серверной картой: на сервер уходят координаты клика<img>
Устарел на: <input>
<a href="/map"><img src="map.png" alt="Карта" ismap></a>
usemapПодключает к картинке карту map с областями-ссылками<img>
Устарел на: <input>, <object>
<img src="plan.png" alt="План" usemap="#plan">
coordsКоординаты области на карте-изображении<area>
Устарел на: <a>
<area shape="rect" coords="0,0,50,50" href="/a">
shapeФорма области на карте: rect, circle, poly или default<area>
Устарел на: <a>
<area shape="circle" coords="40,40,30" href="/a">
imagesrcsetАналог srcset для предзагрузки картинки через link<link><link rel="preload" as="image" imagesrcset="a-1x.jpg 1x, a-2x.jpg 2x">
imagesizesАналог sizes для предзагрузки картинки через link<link><link rel="preload" as="image" imagesrcset="a-400.jpg 400w" imagesizes="100vw">

4. Атрибуты полей ввода: type, value, placeholder, required

Здесь собраны атрибуты, которые определяют вид поля, его значение, подсказку, ограничения и проверку ввода.

АтрибутЧто делаетГде работаетПример
typeВид поля или кнопки: text, email, checkbox и другие; у других тегов тип подключаемого файла<a>, <button>, <embed>, <input>, <link>, <object>, <ol>, <script>, <source>
Устарел на: <area>, <li>, <menu>, <style>, <ul>
<input type="email">
valueЗначение поля, кнопки или пункта списка<button>, <data>, <input>, <li>, <meter>, <option>, <progress><input name="name" value="Иван">
placeholderСерая подсказка в пустом поле<input>, <textarea><input placeholder="Ваше имя">
readonlyЗначение можно читать и копировать, но нельзя менять<input>, <textarea><input value="Нельзя изменить" readonly>
disabledОтключает элемент: он не нажимается и не отправляется с формой<button>, <fieldset>, <input>, <link>, <optgroup>, <option>, <select>, <textarea><button disabled>Отправить</button>
requiredПоле обязательно для заполнения<input>, <select>, <textarea><input name="email" required>
maxlengthНаибольшее число символов<input>, <textarea><input maxlength="20">
minlengthНаименьшее число символов<input>, <textarea><input minlength="3">
minНаименьшее значение числа или даты<input>, <meter><input type="number" min="1">
maxНаибольшее значение числа или даты<input>, <meter>, <progress><input type="number" max="10">
stepШаг изменения числа или даты<input><input type="number" step="5">
patternРегулярное выражение, которому должно соответствовать значение<input><input pattern="[0-9]{4}" title="Четыре цифры">
sizeШирина поля в символах или число видимых строк списка<input>, <select>
Устарел на: <hr>
<input size="30">
multipleРазрешает выбрать несколько значений или файлов<input>, <select><input type="file" multiple>
acceptТипы файлов, которые можно выбрать в поле file<input>
Устарел на: <form>
<input type="file" accept="image/*">
listid списка datalist с вариантами подсказки<input><input list="cities">
dirnameОтправляет на сервер ещё и направление текста поля<input>, <textarea><input name="q" dirname="q.dir">
forid поля, к которому относится подпись или результат<label>, <output>
Устарел на: <script>
<label for="email">Почта</label>
checkedФлажок или переключатель отмечен заранее<input><input type="checkbox" checked>
selectedПункт выпадающего списка выбран заранее<option><option selected>Москва</option>
rowsВысота многострочного поля в строках<textarea><textarea rows="5"></textarea>
colsШирина многострочного поля в символах<textarea><textarea cols="40"></textarea>
wrapКак переносить строки текста при отправке: soft или hard<textarea><textarea wrap="hard"></textarea>
alphaРазрешает выбирать прозрачность в поле цвета<input><input type="color" alpha>
colorspaceЦветовое пространство поля цвета<input><input type="color" colorspace="display-p3">
labelНадпись пункта или группы пунктов списка<optgroup>, <option>, <track>
Устарел на: <menu>
<option label="Москва" value="msk"></option>

5. Атрибуты формы: action, method, name, autocomplete

Эти атрибуты определяют, куда и как отправляется форма и под каким названием уходит каждое значение.

АтрибутЧто делаетГде работаетПример
actionАдрес, на который отправляется форма<form><form action="/send">
methodСпособ отправки: get или post<form><form method="post">
enctypeСпособ кодирования данных при отправке методом post<form><form method="post" enctype="multipart/form-data">
accept-charsetКодировки, в которых форма может отправить данные<form><form accept-charset="utf-8">
novalidateОтключает проверку полей перед отправкой<form><form novalidate>
autocompleteРазрешает или запрещает браузеру подсказывать сохранённые значения<form>, <input>, <select>, <textarea><input name="email" autocomplete="email">
nameНазвание поля, под которым значение уходит на сервер; у других тегов название фрейма, карты или метаданных<button>, <details>, <fieldset>, <form>, <iframe>, <input>, <map>, <meta>, <object>, <output>, <select>, <slot>, <textarea>
Устарел на: <a>, <embed>, <img>, <option>
<input name="email">
formid формы, к которой относится элемент, даже если он находится снаружи<button>, <fieldset>, <input>, <object>, <output>, <select>, <textarea><input name="q" form="search">

6. Атрибуты таблицы: colspan, rowspan, headers, scope

Они объединяют ячейки, связывают их с заголовками и описывают столбцы.

АтрибутЧто делаетГде работаетПример
colspanСколько столбцов занимает ячейка<td>, <th><td colspan="2">Итого</td>
rowspanСколько строк занимает ячейка<td>, <th><td rowspan="2">Группа</td>
headersid заголовков, к которым относится ячейка<td>, <th><td headers="h1 h2">42</td>
scopeК чему относится заголовок: col, row, colgroup или rowgroup<th>
Устарел на: <td>
<th scope="col">Цена</th>
abbrКороткое название заголовка для скринридера<th>
Устарел на: <td>
<th abbr="Цена">Стоимость за единицу</th>
spanСколько столбцов охватывает col или colgroup<col>, <colgroup><col span="2">

7. Атрибуты подключения скриптов и стилей, мета-теги, встраивание

Эти атрибуты управляют загрузкой скриптов, стилей и шрифтов, настройками страницы в meta и встроенными страницами в iframe.

АтрибутЧто делаетГде работаетПример
asyncЗагружает скрипт без остановки страницы и запускает сразу после загрузки<script><script src="app.js" async></script>
deferЗапускает скрипт после того, как страница разобрана<script><script src="app.js" defer></script>
nomoduleНе запускает скрипт в браузерах, которые понимают модули<script><script nomodule src="old.js"></script>
integrityКонтрольная сумма файла, чтобы заметить подмену<link>, <script><script src="lib.js" integrity="sha384-abc" crossorigin="anonymous"></script>
crossoriginРежим запроса файла с другого сайта<audio>, <img>, <link>, <script>, <video><script src="https://cdn.example.com/a.js" crossorigin="anonymous"></script>
asТип файла при предзагрузке через link<link><link rel="preload" href="font.woff2" as="font" crossorigin>
blockingЗадерживает показ страницы, пока не загрузится ресурс<link>, <script>, <style><link rel="stylesheet" href="a.css" blocking="render">
charsetКодировка документа<meta>
Устарел на: <a>, <link>, <script>
<meta charset="utf-8">
mediaУсловие медиазапроса, при котором ресурс применяется<link>, <meta>, <source>, <style><link rel="stylesheet" href="wide.css" media="(min-width: 900px)">
colorЦвет значка маски в link rel=mask-icon<link>
Устарел на: <hr>
<link rel="mask-icon" href="icon.svg" color="#c0553a">
nonceОдноразовый код для политики безопасности CSPлюбой тег<script nonce="r4nd0m">...</script>
http-equivЗаменяет заголовок HTTP: refresh, content-type и другие<meta><meta http-equiv="refresh" content="30">
contentЗначение метаданных, которое относится к name или http-equiv<meta><meta name="description" content="Описание страницы">
sandboxОграничения для встроенной страницы<iframe><iframe src="page.html" sandbox="allow-scripts"></iframe>
allowРазрешает встроенной странице камеру, экран и другие возможности<iframe><iframe src="page.html" allow="fullscreen"></iframe>
allowfullscreenРазрешает полноэкранный режим во фрейме<iframe><iframe src="video.html" allowfullscreen></iframe>
srcdocHTML-код встроенной страницы, записанный прямо в атрибуте<iframe><iframe srcdoc="<p>Привет</p>"></iframe>
dataАдрес файла, который показывает object<object><object data="doc.pdf" type="application/pdf"></object>

8. Атрибуты списков, окон, индикаторов и дат: start, open, datetime, cite

Здесь атрибуты нумерованных списков, раскрывающихся блоков, диалогов, индикатора meter, дат и источников цитат.

АтрибутЧто делаетГде работаетПример
startНомер, с которого начинается нумерованный список<ol><ol start="5">
reversedНумерует список в обратном порядке<ol><ol reversed>
openРаскрытое состояние блока details или показанное окно dialog<details>, <dialog><details open>
closedbyЧем можно закрыть окно dialog: any, closerequest или none<dialog><dialog closedby="any">
lowВерхняя граница низкой зоны индикатора meter<meter><meter value="30" low="40" high="80" max="100"></meter>
highНижняя граница высокой зоны индикатора meter<meter><meter value="90" low="40" high="80" max="100"></meter>
optimumНаилучшее значение индикатора meter<meter><meter value="50" optimum="100" max="100"></meter>
datetimeДата и время в машиночитаемом виде<del>, <ins>, <time><time datetime="2026-10-15">15 октября</time>
citeАдрес источника цитаты или причины правки<blockquote>, <del>, <ins>, <q><blockquote cite="https://example.com/a">Цитата</blockquote>

9. Атрибуты аудио, видео и субтитров: controls, autoplay, loop

Эти атрибуты управляют плеером: кнопками, автозапуском, звуком, повтором, обложкой и дорожками субтитров.

АтрибутЧто делаетГде работаетПример
controlsПоказывает кнопки управления плеером<audio>, <video><video src="film.mp4" controls></video>
autoplayЗапускает воспроизведение сразу, обычно вместе с muted<audio>, <video><video src="film.mp4" autoplay muted></video>
mutedВыключает звук с самого начала<audio>, <video><video src="film.mp4" muted></video>
loopПовторяет воспроизведение по кругу<audio>, <video><audio src="song.mp3" loop></audio>
preloadСколько данных загрузить заранее: none, metadata или auto<audio>, <video><video src="film.mp4" preload="metadata"></video>
posterКартинка, которая показывается до начала воспроизведения<video><video src="film.mp4" poster="cover.jpg" controls></video>
playsinlineНе разворачивает видео на весь экран при запуске на iPhone<video><video src="film.mp4" playsinline></video>
kindТип дорожки: subtitles, captions, descriptions, chapters или metadata<track><track kind="subtitles" src="ru.vtt" srclang="ru">
srclangЯзык дорожки<track><track kind="subtitles" src="en.vtt" srclang="en">
defaultВключает дорожку по умолчанию<track><track kind="subtitles" src="ru.vtt" srclang="ru" default>

10. Атрибуты кнопок отправки формы: formaction, formmethod, formtarget

Кнопка отправки может переопределить настройки формы: адрес, способ, кодирование, проверку и место открытия ответа.

АтрибутЧто делаетГде работаетПример
formactionАдрес отправки для этой кнопки вместо action формы<button>, <input><button formaction="/draft">Сохранить черновик</button>
formenctypeСпособ кодирования данных для этой кнопки<button>, <input><button formenctype="multipart/form-data">Отправить</button>
formmethodСпособ отправки для этой кнопки: get или post<button>, <input><button formmethod="post">Отправить</button>
formnovalidateОтправляет форму без проверки полей<button>, <input><button formnovalidate>Сохранить без проверки</button>
formtargetГде открыть ответ сервера для этой кнопки<button>, <input><button formtarget="_blank">Отправить в новой вкладке</button>

11. Атрибуты для телефона, popover и новые глобальные атрибуты

Подсказки для экранной клавиатуры, всплывающие слои popover, команды кнопок, блокировка блока и уровни заголовков.

АтрибутЧто делаетГде работаетПример
inputmodeКакую экранную клавиатуру показать на телефонелюбой тег<input inputmode="numeric">
enterkeyhintПодпись клавиши Enter на экранной клавиатурелюбой тег<input enterkeyhint="search">
autocapitalizeАвтоматические заглавные буквы на экранной клавиатурелюбой тег<input autocapitalize="words">
autocorrectАвтоисправление при вводелюбой тег<input autocorrect="off">
writingsuggestionsПодсказки продолжения текста от браузералюбой тег<textarea writingsuggestions="false"></textarea>
inertДелает блок недоступным для кликов, фокуса и скринридералюбой тег<div inert>Недоступный блок</div>
popoverПревращает элемент во всплывающий слойлюбой тег<div id="tip" popover>Подсказка</div>
popovertargetКнопка, которая открывает или закрывает popover<button>, <input><button popovertarget="tip">Показать</button>
popovertargetactionЧто делает кнопка с popover: show, hide или toggle<button>, <input><button popovertarget="tip" popovertargetaction="hide">Закрыть</button>
commandКоманда кнопки для другого элемента, например show-modal<button><button command="show-modal" commandfor="dlg">Открыть</button>
commandforid элемента, которому адресована команда command<button><button command="close" commandfor="dlg">Закрыть</button>
headingoffsetСдвигает уровни заголовков внутри блокалюбой тег<section headingoffset="1">...</section>
headingresetСбрасывает сдвиг уровней заголовков внутри блокалюбой тег<section headingreset>...</section>

12. Атрибуты веб-компонентов: slot, part, is, shadowrootmode

Атрибуты для пользовательских элементов и теневого корня: вставка в слоты, стилизация частей и настройки теневого корня.

АтрибутЧто делаетГде работаетПример
isНазвание пользовательского элемента, который расширяет обычный теглюбой тег<button is="fancy-button">Кнопка</button>
slotВ какой слот компонента попадает элементлюбой тег<span slot="title">Заголовок</span>
partМетка, по которой снаружи стилизуют часть компоненталюбой тег<span part="label">Текст</span>
exportpartsПередаёт части вложенного компонента наружулюбой тег<x-card exportparts="label"></x-card>
shadowrootmodeПревращает template в теневой корень: open или closed<template><template shadowrootmode="open">...</template>
shadowrootclonableРазрешает копировать теневой корень вместе с элементом<template><template shadowrootmode="open" shadowrootclonable>...</template>
shadowrootdelegatesfocusПередаёт фокус первому подходящему элементу внутри теневого корня<template><template shadowrootmode="open" shadowrootdelegatesfocus>...</template>
shadowrootserializableРазрешает включать теневой корень в результат getHTML()<template><template shadowrootmode="open" shadowrootserializable>...</template>
shadowrootcustomelementregistryПривязывает теневой корень к отдельному реестру пользовательских элементов<template><template shadowrootmode="open" shadowrootcustomelementregistry>...</template>

13. Атрибуты микроразметки: itemscope, itemtype, itemprop

Атрибуты Microdata описывают содержимое страницы словарём, например Schema.org, чтобы поисковики понимали, что это товар, статья или отзыв.

АтрибутЧто делаетГде работаетПример
itemscopeОбъявляет блок с описанием одной вещилюбой тег<div itemscope itemtype="https://schema.org/Product">
itemtypeТип вещи по словарю, например Schema.orgлюбой тег<div itemscope itemtype="https://schema.org/Product">
itempropНазвание свойства вещилюбой тег<span itemprop="name">Чайник</span>
itemidПостоянный идентификатор описываемой вещилюбой тег<div itemscope itemid="urn:isbn:978-5-17-000000-0">
itemrefПодключает свойства из других мест страницы по idлюбой тег<div itemscope itemref="author">

14. События HTML: атрибуты onclick, onchange, onload и другие

Обработчик события - атрибут, значение которого содержит JavaScript-код. Код запускается, когда у элемента происходит событие: клик, ввод, загрузка файла. Большинство обработчиков работают на любом теге, у остальных указан круг тегов. В примерах записаны вызовы условных функций, их смысл не важен.

Загрузка и ошибки

Пример: <img src="a.jpg" alt="" onerror="this.hidden=true">

ОбработчикКогда срабатываетГде работает
onabortЗагрузка файла прервана до конца<audio>, <img>, <video>
onerrorФайл не загрузился или произошла ошибка в скриптелюбой тег (чаще всего img, script, link, audio, video)
onloadСтраница или файл полностью загружены<body>, <iframe>, <img>, <link>, <script>

Страница, окно, история и сеть

Пример: <body onload="init()" onbeforeunload="return false">

ОбработчикКогда срабатываетГде работает
onafterprintПечать закончилась<body>, <frameset>
onbeforeprintПеред началом печати<body>, <frameset>
onbeforeunloadПеред закрытием страницы: можно спросить подтверждение<body>, <frameset>
onhashchangeИзменилась часть адреса после знака #<body>, <frameset>
onlanguagechangeИзменился предпочитаемый язык браузера<body>, <frameset>
onmessageПришло сообщение от другого окна или фрейма<body>, <frameset>
onmessageerrorСообщение пришло в виде, который не удалось разобрать<body>, <frameset>
onofflineПропало подключение к сети<body>, <frameset>
ononlineПодключение к сети появилось<body>, <frameset>
onpagehideСтраница скрывается: закрытие или переход на другую<body>, <frameset>
onpagerevealСтраница показывается впервые после перехода<body>, <frameset>
onpageshowСтраница показана, в том числе из кеша при возврате назад<body>, <frameset>
onpageswapБраузер готов заменить страницу при переходе<body>, <frameset>
onpopstateИзменилась запись в истории браузера<body>, <frameset>
onrejectionhandledДля отклонённого промиса позже добавили обработчик<body>, <frameset>
onstorageДанные в localStorage изменила другая вкладка<body>, <frameset>
onunhandledrejectionПромис отклонён, а обработчика ошибки нет<body>, <frameset>
onunloadСтраница выгружается: событие устарело, лучше pagehide<body>, <frameset>

Анимации и переходы CSS

Пример: <div onanimationend="this.hidden=true">

ОбработчикКогда срабатываетГде работает
onanimationcancelCSS-анимация отмененалюбой тег
onanimationendCSS-анимация закончиласьлюбой тег
onanimationiterationЗакончился очередной повтор CSS-анимациилюбой тег
onanimationstartCSS-анимация началасьлюбой тег
ontransitioncancelПереход CSS отменёнлюбой тег
ontransitionendПереход CSS закончилсялюбой тег
ontransitionrunПереход CSS запущен, ещё до задержкилюбой тег
ontransitionstartПереход CSS начался после задержкилюбой тег

Мышь и колесо

Пример: <button onclick="alert('Привет')">Нажми</button>

ОбработчикКогда срабатываетГде работает
onauxclickКлик не основной кнопкой, например среднейлюбой тег
onclickКлик основной кнопкой мыши или нажатиелюбой тег
oncontextmenuПравая кнопка мыши или вызов контекстного менюлюбой тег
ondblclickДвойной кликлюбой тег
onmousedownКнопка мыши нажаталюбой тег
onmouseenterКурсор вошёл в элемент, вложенные элементы не считаютсялюбой тег
onmouseleaveКурсор вышел из элемента, вложенные элементы не считаютсялюбой тег
onmousemoveКурсор двигается над элементомлюбой тег
onmouseoutКурсор вышел из элемента или перешёл во вложенныйлюбой тег
onmouseoverКурсор вошёл в элемент или во вложенныйлюбой тег
onmouseupКнопка мыши отпущеналюбой тег
onmousewheelПрокрутка колеса: устарел, вместо него onwheelлюбой тег
onwebkitmouseforcechangedИзменилась сила нажатия на трекпад: только Safariлюбой тег
onwebkitmouseforcedownСильное нажатие на трекпад: только Safariлюбой тег
onwebkitmouseforceupСильное нажатие закончилось: только Safariлюбой тег
onwebkitmouseforcewillbeginСкоро начнётся сильное нажатие: только Safariлюбой тег
onwheelПрокрутка колесом мышилюбой тег

Формы и выделение текста

Пример: <input oninput="show(this.value)">

ОбработчикКогда срабатываетГде работает
onbeforeinputПеред изменением значения полялюбой тег (чаще input textarea)
onchangeЗначение изменено и зафиксировано: поле потеряло фокус или выбран пункт<input>, <select>, <textarea>
onformdataБраузер собрал данные формы для отправки<form>
oninputЗначение меняется при каждом вводе<input>, <select>, <textarea>
oninvalidПоле не прошло проверку<input>, <select>, <textarea>
onresetФорма сброшена<form>
onselectВыделен текст внутри поля<input>, <textarea>
onselectionchangeИзменилось выделение текста на страницелюбой тег
onselectstartНачинается выделение тексталюбой тег
onsubmitФорма отправляется<form>

Popover, dialog, details и команды

Пример: <dialog onclose="save()">...</dialog>

ОбработчикКогда срабатываетГде работает
onbeforematchСкрытый блок hidden=until-found готов показаться из-за поиска по страницелюбой тег
onbeforetoggleПеред открытием или закрытием popover, dialog или details<details>, <dialog> (а также popover)
oncancelОкно закрыто по запросу пользователя, например клавишей Esc<dialog>, <input>
oncloseОкно закрыто<dialog>
oncommandСработала команда кнопки commandлюбой тег
ontoggleБлок открылся или закрылся<details>, <dialog> (а также popover)

Фокус

Пример: <input onfocus="this.select()">

ОбработчикКогда срабатываетГде работает
onblurЭлемент потерял фокуслюбой тег
onfocusЭлемент получил фокуслюбой тег
onfocusinЭлемент или вложенный в него получил фокус, событие всплываетлюбой тег
onfocusoutЭлемент или вложенный в него потерял фокус, событие всплываетлюбой тег

Аудио и видео

Пример: <video src="film.mp4" onended="next()" controls></video>

ОбработчикКогда срабатываетГде работает
oncanplayМожно начать воспроизведение, но возможны паузы на загрузку<audio>, <video>
oncanplaythroughМожно проиграть до конца без остановок<audio>, <video>
oncuechangeСменился отрывок субтитров<track>
ondurationchangeИзменилась длительность<audio>, <video>
onemptiedСодержимое сброшено, например после смены src<audio>, <video>
onendedВоспроизведение дошло до конца<audio>, <video>
onloadeddataЗагружен первый кадр<audio>, <video>
onloadedmetadataЗагружены длительность и размеры<audio>, <video>
onloadstartНачалась загрузка файла<audio>, <video>
onpauseВоспроизведение приостановлено<audio>, <video>
onplayВоспроизведение запущено<audio>, <video>
onplayingВоспроизведение идёт после запуска или паузы на загрузку<audio>, <video>
onprogressИдёт загрузка файла<audio>, <video>
onratechangeИзменилась скорость<audio>, <video>
onseekedПеремотка закончилась<audio>, <video>
onseekingНачалась перемотка<audio>, <video>
onstalledДанные перестали приходить<audio>, <video>
onsuspendБраузер остановил загрузку файла<audio>, <video>
ontimeupdateИзменилась текущая позиция воспроизведения<audio>, <video>
onvolumechangeИзменилась громкость или включён беззвучный режим<audio>, <video>
onwaitingВоспроизведение ждёт данные<audio>, <video>

Прочие события

Пример: <body onresize="fit()">

ОбработчикКогда срабатываетГде работает
oncontentvisibilityautostatechangeСкрытое состояние блока с content-visibility: auto изменилосьлюбой тег
oncontextlostКонтекст рисования canvas потерян<canvas>
oncontextrestoredКонтекст рисования canvas восстановлен<canvas>
onfullscreenchangeЭлемент вошёл в полноэкранный режим или вышел из неголюбой тег
onfullscreenerrorНе удалось включить полноэкранный режимлюбой тег
onresizeИзменился размер окна<body>, <frameset>
onscrollЭлемент или страница прокрученылюбой тег
onscrollendПрокрутка закончиласьлюбой тег
onscrollsnapchangeИзменилась позиция, к которой привязывается прокруткалюбой тег
onscrollsnapchangingПрокрутка собирается привязаться к новой позициилюбой тег
onsecuritypolicyviolationНарушена политика безопасности CSPлюбой тег
onslotchangeИзменилось содержимое слота<slot>

Буфер обмена

Пример: <input oncopy="log()">

ОбработчикКогда срабатываетГде работает
oncopyТекст скопированлюбой тег
oncutТекст вырезанлюбой тег
onpasteТекст вставленлюбой тег

Перетаскивание

Пример: <div ondrop="drop(event)" ondragover="event.preventDefault()">

ОбработчикКогда срабатываетГде работает
ondragЭлемент перетаскиваютлюбой тег
ondragendПеретаскивание закончилосьлюбой тег
ondragenterПеретаскиваемый элемент вошёл в целевойлюбой тег
ondragleaveПеретаскиваемый элемент вышел из целевоголюбой тег
ondragoverПеретаскиваемый элемент находится над целевымлюбой тег
ondragstartНачалось перетаскиваниелюбой тег
ondropЭлемент отпущен над целевымлюбой тег

Касание, указатель и жесты

Пример: <div onpointerdown="start(event)">

ОбработчикКогда срабатываетГде работает
ongesturechangeЖест двумя пальцами меняется: только Safariлюбой тег
ongestureendЖест двумя пальцами закончился: только Safariлюбой тег
ongesturestartЖест двумя пальцами начался: только Safariлюбой тег
ongotpointercaptureЭлемент захватил указательлюбой тег
onlostpointercaptureЭлемент потерял захват указателялюбой тег
onpointercancelДействие указателя отмененолюбой тег
onpointerdownУказатель нажат: мышь, палец или перолюбой тег
onpointerenterУказатель вошёл в элемент, вложенные элементы не считаютсялюбой тег
onpointerleaveУказатель вышел из элемента, вложенные элементы не считаютсялюбой тег
onpointermoveУказатель двигаетсялюбой тег
onpointeroutУказатель вышел из элемента или перешёл во вложенныйлюбой тег
onpointeroverУказатель вошёл в элемент или во вложенныйлюбой тег
onpointerrawupdateНеобработанное обновление позиции указателялюбой тег
onpointerupУказатель отпущенлюбой тег
ontouchcancelКасание экрана прерванолюбой тег
ontouchendПалец убран с экраналюбой тег
ontouchmoveПалец двигается по экранулюбой тег
ontouchstartПалец коснулся экраналюбой тег

Клавиатура

Пример: <input onkeydown="if(event.key==='Enter') send()">

ОбработчикКогда срабатываетГде работает
onkeydownКлавиша нажаталюбой тег
onkeypressНажата клавиша с символом: устарел, вместо него onkeydownлюбой тег
onkeyupКлавиша отпущеналюбой тег

15. Атрибуты ARIA и role для доступности

ARIA - набор атрибутов, которые сообщают скринридерам то, что нельзя понять по тегу: состояние, роль и связи элементов. Все атрибуты ARIA, кроме role, начинаются с aria-. Подробный разбор есть в уроке ARIA-атрибуты: когда они нужны. Главное правило: если есть подходящий HTML-тег, берите его, а не атрибуты ARIA.

Роль: атрибут role

Атрибут role сообщает скринридеру, чем элемент является на самом деле: кнопкой, меню, вкладкой. Если подходящий тег есть, роль не нужна, например button вместо div с role="button".

АтрибутЧто делаетПример
roleРоль элемента для скринридера: button, tab, dialog, alert и другие значения<div role="alert">Ошибка отправки</div>

Атрибуты виджетов

Они описывают состояние и свойства интерактивных элементов: развёрнут ли блок, отмечен ли флажок, есть ли ошибка в поле.

АтрибутЧто делаетПример
aria-autocompleteКак поле предлагает завершить ввод: none, inline, list или both<input role="combobox" aria-autocomplete="list">
aria-checkedОтмечен ли элемент: true, false или mixed<div role="checkbox" aria-checked="true"></div>
aria-disabledЭлемент отключён, но остаётся виден<div role="button" aria-disabled="true">Отправить</div>
aria-errormessageid элемента с текстом ошибки<input aria-invalid="true" aria-errormessage="err">
aria-expandedРазвёрнут ли блок, который управляется этим элементом<button aria-expanded="false" aria-controls="menu">Меню</button>
aria-haspopupЭлемент открывает всплывающее меню, список или окно<button aria-haspopup="menu">Действия</button>
aria-hiddenСкрывает элемент от скринридера, на экране он виден<span aria-hidden="true">★</span>
aria-invalidЗначение поля неверное<input aria-invalid="true">
aria-labelНазвание элемента, когда текста на экране нет<button aria-label="Закрыть">X</button>
aria-levelУровень вложенности заголовка, элемента дерева или списка<div role="heading" aria-level="2">Заголовок</div>
aria-modalОкно модальное: остальная страница недоступна<div role="dialog" aria-modal="true">...</div>
aria-multilineПоле принимает несколько строк<div role="textbox" aria-multiline="true"></div>
aria-multiselectableВ списке можно выбрать несколько пунктов<ul role="listbox" aria-multiselectable="true">
aria-orientationРасположение элемента: horizontal или vertical<div role="separator" aria-orientation="vertical"></div>
aria-placeholderПодсказка для пустого поля, которое сделано не на input<div role="textbox" aria-placeholder="Ваше имя"></div>
aria-pressedСостояние кнопки-переключателя: true, false или mixed<button aria-pressed="true">Жирный</button>
aria-readonlyЗначение можно читать, но нельзя менять<div role="textbox" aria-readonly="true"></div>
aria-requiredЭлемент обязателен для заполнения<div role="textbox" aria-required="true"></div>
aria-selectedВыбран ли элемент: вкладка, пункт списка<div role="tab" aria-selected="true">Общее</div>
aria-sortПорядок сортировки столбца: ascending, descending, none или other<th aria-sort="ascending">Цена</th>
aria-valuemaxНаибольшее значение ползунка или шкалы<div role="slider" aria-valuemax="100"></div>
aria-valueminНаименьшее значение ползунка или шкалы<div role="slider" aria-valuemin="0"></div>
aria-valuenowТекущее значение ползунка или шкалы<div role="slider" aria-valuenow="40"></div>
aria-valuetextЗначение словами, если число читается неудобно<div role="slider" aria-valuenow="3" aria-valuetext="Среда"></div>

Атрибуты динамических областей

Они сообщают скринридеру, что содержимое блока меняется само, и как об этом объявлять.

АтрибутЧто делаетПример
aria-liveКак объявлять изменения блока: off, polite или assertive<div aria-live="polite">Сохранено</div>
aria-atomicЧитать блок целиком или только изменившуюся часть<div aria-live="polite" aria-atomic="true">...</div>
aria-relevantКакие изменения блока объявлять: добавление, удаление, текст<div aria-live="polite" aria-relevant="additions">...</div>
aria-busyБлок обновляется, пока читать его не нужно<div aria-busy="true">Загрузка...</div>

Атрибуты перетаскивания (устарели)

Оба атрибута устарели в ARIA 1.1, но встречаются в старом коде.

АтрибутЧто делаетПример
aria-dropeffectЧто произойдёт при сбросе элемента: copy, move, link и другие<div aria-dropeffect="move"></div>
aria-grabbedЭлемент захвачен для перетаскивания<li aria-grabbed="true"></li>

Атрибуты связей и структуры

Они связывают элементы между собой и описывают место элемента в списке, таблице или дереве.

АтрибутЧто делаетПример
aria-activedescendantid вложенного элемента, на котором сейчас находится фокус<ul role="listbox" aria-activedescendant="opt2">
aria-colcountОбщее число столбцов таблицы, если показаны не все<table aria-colcount="12">
aria-colindexНомер столбца ячейки<td aria-colindex="3">
aria-colindextextНазвание столбца словами вместо номера<td aria-colindex="3" aria-colindextext="Март">
aria-colspanСколько столбцов занимает ячейка<div role="gridcell" aria-colspan="2"></div>
aria-controlsid элемента, которым управляет этот элемент<button aria-controls="menu">Меню</button>
aria-describedbyid элемента с пояснением<input aria-describedby="hint">
aria-descriptionПояснение текстом прямо в атрибуте<button aria-description="Удалит файл навсегда">Удалить</button>
aria-detailsid элемента с подробным описанием<img src="chart.png" alt="График" aria-details="chart-text">
aria-flowtoid элемента, который читать следующим<div aria-flowto="next-block"></div>
aria-labelledbyid элемента, текст которого служит названием<section aria-labelledby="title"><h2 id="title">Новости</h2></section>
aria-ownsid элементов, которые считать вложенными в этот<div role="menu" aria-owns="item1 item2"></div>
aria-posinsetНомер элемента в наборе<li aria-posinset="2" aria-setsize="5"></li>
aria-rowcountОбщее число строк таблицы, если показаны не все<table aria-rowcount="200">
aria-rowindexНомер строки<tr aria-rowindex="5">
aria-rowindextextНазвание строки словами вместо номера<tr aria-rowindex="5" aria-rowindextext="Итого">
aria-rowspanСколько строк занимает ячейка<div role="gridcell" aria-rowspan="2"></div>
aria-setsizeСколько всего элементов в наборе<li aria-setsize="5" aria-posinset="1"></li>

Остальные глобальные атрибуты ARIA

Эти атрибуты подходят любому элементу.

АтрибутЧто делаетПример
aria-braillelabelНазвание элемента для устройства Брайля<button aria-label="Закрыть" aria-braillelabel="Закр">X</button>
aria-brailleroledescriptionНазвание роли для устройства Брайля<div aria-roledescription="слайд" aria-brailleroledescription="сл"></div>
aria-currentТекущий элемент: страница, шаг, дата<a href="/" aria-current="page">Главная</a>
aria-keyshortcutsСочетание клавиш, которое активирует элемент<button aria-keyshortcuts="Alt+S">Сохранить</button>
aria-roledescriptionСвоё название роли для скринридера<div aria-roledescription="слайд">...</div>

16. Атрибуты вне стандарта HTML и экспериментальные

Эти атрибуты не входят в стандарт HTML. Они описаны в отдельных спецификациях или появились как эксперимент в одном браузере, поэтому перед использованием проверяйте поддержку на MDN.

АтрибутЧто делаетГде работаетОтносится кПример
anchorСвязывает элемент с якорем для позиционирования рядом с нимлюбой тегCSS Anchor Positioning<div anchor="btn">Подсказка</div>
virtualkeyboardpolicyУправляет показом экранной клавиатуры: auto или manualлюбой тегVirtualKeyboard API<div contenteditable virtualkeyboardpolicy="manual"></div>
interestforОткрывает связанный элемент, когда пользователь наводит курсор или переводит фокус<a>, <button>, <area>Interest Invokers<a href="/" interestfor="card">Профиль</a>
attributionsrcРазрешает запрос отчёта об атрибуции для измерения рекламы<a>, <img>Attribution Reporting API<a href="https://shop.example" attributionsrc>Реклама</a>
captureВыбор камеры или микрофона для поля file: user или environment<input>HTML Media Capture<input type="file" accept="image/*" capture="environment">
controlslistКакие кнопки скрыть в плеере: nodownload, nofullscreen, noremoteplayback<video>, <audio>Нестандартный атрибут браузеров<video src="a.mp4" controls controlslist="nodownload"></video>
disablepictureinpictureЗапрещает режим «картинка в картинке»<video>Picture-in-Picture API<video src="a.mp4" controls disablepictureinpicture></video>
disableremoteplaybackЗапрещает передачу воспроизведения на другое устройство<video>, <audio>Remote Playback API<video src="a.mp4" controls disableremoteplayback></video>
elementtimingВключает измерение времени показа элемента<img> (и другие элементы)Element Timing API<img src="hero.jpg" alt="" elementtiming="hero">
cspПолитика безопасности, которой должна соответствовать встроенная страница<iframe>Embedded Enforcement<iframe src="page.html" csp="script-src 'self'"></iframe>
accuracymodeТочность определения места: approximate или precise<geolocation>Тег geolocation<geolocation accuracymode="precise"></geolocation>
autolocateЗапрашивает положение сразу при загрузке, без нажатия на кнопку<geolocation>Тег geolocation<geolocation autolocate></geolocation>
watchСледит за изменением положения и обновляет результат<geolocation>Тег geolocation<geolocation watch></geolocation>

17. Устаревшие атрибуты HTML и чем их заменить

Эти атрибуты исключены из стандарта. Многие из них браузеры ещё понимают, но в новом коде их не пишут, а валидатор покажет ошибку. Для каждого указано, что он делал и чем его заменить сегодня. Атрибуты разложены по темам.

Устарели на одних тегах, но работают на других

Эти названия остаются актуальными у других тегов: на странице актуального атрибута есть раздел про старое применение. В таблице только устаревшие случаи.

АтрибутЧто делалЧем заменитьГде был
abbrСокращённое название ячейки данныхabbr записывают у th; в td он не нужен<td>
acceptТипы файлов для формыaccept у input type="file"<form>
charsetКодировка подключаемого файлазаголовок HTTP или <meta charset="utf-8"> в самом файле<a>, <link>, <script>
colorЦвет текста или линииcolor и border-color в CSS<hr>, <font>, <basefont>
coordsКоординаты области в ссылкеобласть карты area<a>
forid поля, к которому относится надпись или результат<label>, <output>
Устарел на: <script>
<label for="email">Почта</label>
heightВысота таблицы, строки или ячейкиheight в CSS<table>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr>, <applet>, <marquee>, <spacer>
hreflangЯзык страницы, на которую ведёт область картыубрать<area>
ismapСерверная карта для поля inputimg с ismap<input>
labelНадпись пункта менюbutton и popover<menu>, <menuitem>
nameНазвание ссылки-якоря или картинкиid<a>, <embed>, <img>, <option>, <applet>, <frame>, <keygen>, <param>
scopeОхват заголовка у ячейки данныхscope записывают у th<td>
shapeФорма области в ссылкеобласть карты area<a>
sizeРазмер линии или шрифтаheight у линии и font-size у текста в CSS<hr>, <font>, <basefont>, <spacer>
targetКуда открывать ссылку linkубрать, на link он не работал<link>
typeВид маркера списка, тип меню или стиляlist-style-type у списков; у style атрибут не нужен<area>, <li>, <menu>, <style>, <ul>, <menuitem>, <param>, <spacer>
usemapКарта для поля input или объектаimg с usemap<input>, <object>
widthШирина линии, таблицы, колонки или ячейкиwidth в CSS<col>, <colgroup>, <hr>, <pre>, <table>, <td>, <th>, <applet>, <marquee>, <multicol>, <spacer>

Цвет, фон и шрифт страницы и текста

Оформление через атрибуты заменено на CSS: цвета задают свойства color и background, шрифт задают font-family и font-size.

АтрибутЧто делалЧем заменитьГде был
textЦвет основного текста страницыbody { color: #222; }<body>
linkЦвет ещё не посещённых ссылокa:link { color: blue; }<body>
vlinkЦвет посещённых ссылокa:visited { color: purple; }<body>
alinkЦвет ссылки в момент нажатияa:active { color: red; }<body>
bgcolorЦвет фона страницы, таблицы, строки или ячейкиbackground-color<body>, <table>, <tr>, <td>, <th>, <marquee>
backgroundФоновая картинкаbackground-image<body>, <table>, <tbody>, <tfoot>, <thead>, <tr>, <td>, <th>
faceНазвание шрифтаfont-family<font>, <basefont>

Поля страницы и отступы вокруг картинок

Поля и отступы теперь задают свойства margin и padding.

АтрибутЧто делалЧем заменитьГде был
topmarginВерхнее поле страницыbody { margin-top: 0; }<body>
leftmarginЛевое поле страницыbody { margin-left: 0; }<body>
rightmarginПравое поле страницыbody { margin-right: 0; }<body>
bottommarginНижнее поле страницыbody { margin-bottom: 0; }<body>
marginheightВерхнее и нижнее поле страницы или фреймаmargin-top и margin-bottom<body>, <frame>, <iframe>
marginwidthЛевое и правое поле страницы или фреймаmargin-left и margin-right<body>, <frame>, <iframe>
hspaceГоризонтальный отступ вокруг картинки или объектаmargin-left и margin-right<applet>, <marquee>, <embed>, <iframe>, <img>, <input>, <object>
vspaceВертикальный отступ вокруг картинки или объектаmargin-top и margin-bottom<applet>, <marquee>, <embed>, <iframe>, <img>, <input>, <object>

Выравнивание, обтекание и перенос

Выравнивание атрибутами заменено на CSS: text-align, vertical-align, float, margin, white-space.

АтрибутЧто делалЧем заменитьГде был
alignВыравнивание текста или элемента: left, center, right, justify, top, middletext-align, margin: 0 auto, float или vertical-align, смотря что выравнивали<applet>, <spacer>, <caption>, <col>, <colgroup>, <div>, <embed>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <hr>, <iframe>, <img>, <input>, <legend>, <object>, <p>, <table>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr>
valignВертикальное выравнивание содержимого ячеекvertical-align<col>, <colgroup>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr>
charСимвол, по которому выравнивали столбец, например точка в числахзамены нет: браузеры его не применяют<col>, <colgroup>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr>
charoffСмещение от символа выравниваниязамены нет: браузеры его не применяют<col>, <colgroup>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr>
clearЗапрет обтекания: текст после br шёл ниже картинкиclear: both<br>
nowrapЗапрет переноса текста в ячейкеwhite-space: nowrap<td>, <th>

Оформление таблиц: границы и отступы

Границы, отступы и расстояния в таблицах задают CSS-свойства border, padding и border-spacing.

АтрибутЧто делалЧем заменитьГде был
borderТолщина рамки таблицы или картинкиborder<table>, <img>, <input>, <object>, <frameset>
bordercolorЦвет рамкиborder-color<table>, <frameset>
cellpaddingОтступ внутри ячеекpadding у td и th<table>
cellspacingРасстояние между ячейкамиborder-spacing<table>
frameКакие внешние границы таблицы показыватьborder нужной стороны, например border-top<table>
rulesКакие границы показывать между ячейкамиborder у td и th<table>
summaryКраткое описание таблицы для скринридераcaption внутри таблицы или aria-describedby<table>
datapagesizeРазмер страницы при привязке данных в старом Internet Explorerзамены нет: привязку данных убрали<table>
axisКатегории ячейки для старых скринридеровheaders и scope<td>, <th>

Фреймы и встроенные страницы

Фреймы заменены тегом iframe и раскладкой на CSS. Разрешения для iframe теперь задаёт один атрибут allow.

АтрибутЧто делалЧем заменитьГде был
frameborderРамка вокруг фреймаborder<frame>, <frameset>, <iframe>
framespacingРасстояние между фреймамиborder и margin у iframe<frameset>, <iframe>
scrollingПоказывать ли полосы прокрутки во фреймеoverflow в стилях встроенной страницы<frame>, <iframe>
noresizeЗапрет менять размер фрейма мышьюзамены нет: фреймы убраны из HTML<frame>
allowtransparencyПрозрачный фон встроенной страницыbackground: transparent в стилях встроенной страницы<iframe>
allowpaymentrequestРазрешал платёжный запрос во фреймеallow="payment"<iframe>
allowusermediaРазрешал камеру и микрофон во фреймеallow="camera; microphone"<iframe>
colsШирины столбцов в наборе фреймов или число колонок текстаiframe и CSS Grid; для колонок текста column-count<frameset>, <multicol>
rowsВысоты строк в наборе фреймовiframe и CSS Grid<frameset>

Изображения, карты и ссылки

Эти атрибуты заменены адаптивными картинками, ARIA и значениями rel.

АтрибутЧто делалЧем заменитьГде был
lowsrcМаленькая картинка, пока грузится большаяsrcset и loading="lazy"<img>
longdescАдрес страницы с подробным описанием картинкиaria-describedby или текст рядом с картинкой<frame>, <iframe>, <img>
nohrefОбласть карты без ссылкине записывать href у area<area>
revОбратная связь ссылкиподходящее значение rel<a>, <link>
urnПостоянный идентификатор адресазамены нет<a>, <link>
methodsСпособы HTTP, которые поддерживает адресзамены нет<a>, <link>

Объекты, апплеты и параметры

Плагины и Java-апплеты убраны из браузеров. Видео и звук подключают через video и audio, графику через canvas и svg.

АтрибутЧто делалЧем заменитьГде был
classidИдентификатор подключаемого плагинаtype и data у object<object>
codebaseБазовый адрес файлов плагина или апплетаполный адрес в data<applet>, <object>
codetypeТип кода плагинаtype<object>
archiveСписок файлов плагина или апплетазамены нет: апплеты не поддерживаются<applet>, <object>
codeНазвание класса Java-апплетазамены нет: апплеты не поддерживаются<applet>, <object>
declareОбъявление объекта без показа на страницеtemplate или создание элемента скриптом<object>
standbyТекст на время загрузки объектатекст внутри object или индикатор загрузки<object>
typemustmatchЗапуск объекта только при совпадении типазамены нет: плагины убраны<object>
objectНазвание сохранённого апплетазамены нет: апплеты не поддерживаются<applet>
altЗапасной текст апплетатекст внутри object<applet>
valueЗначение параметра тега paramпараметры передают в адресе data<param>
valuetypeТип значения параметра paramзамены нет<param>

Документ, скрипты, метаданные и привязка данных

Версию документа задаёт doctype, язык и базовый адрес задают lang и base, а привязку данных заменил JavaScript.

АтрибутЧто делалЧем заменитьГде был
languageЯзык скрипта: javascript или vbscripttype="module" или без атрибута<script>
eventСобытие для старого способа привязки скриптаaddEventListener<script>
profileАдрес словаря метаданныхзамены нет<head>
manifestАдрес манифеста кешаService Worker для кеша; манифест приложения подключают через link rel="manifest"<html>
versionВерсия HTML<!DOCTYPE html><html>
schemeСхема значения метаданныхзамены нет<meta>
xml:langЯзык документа в XHTMLlangлюбой тег
xml:baseБазовый адрес документа в XHTMLтег baseлюбой тег
datasrcИсточник данных для привязки данных старого Internet Explorerfetch и шаблоны на JavaScript<a>, <button>, <div>, <frame>, <iframe>, <img>, <input>, <label>, <legend>, <marquee>, <object>, <option>, <select>, <span>, <table>, <textarea>
datafldПоле источника данныхJavaScript<a>, <button>, <div>, <fieldset>, <frame>, <iframe>, <img>, <input>, <label>, <legend>, <marquee>, <object>, <select>, <span>, <textarea>
dataformatasФормат вставляемых данных: text или htmlJavaScript<button>, <div>, <input>, <label>, <legend>, <marquee>, <object>, <option>, <select>, <span>, <table>

Списки, линия, меню и перетаскивание

Эти атрибуты заменены CSS, popover и событиями перетаскивания. Тег menuitem из браузеров убран.

АтрибутЧто делалЧем заменитьГде был
compactСжатый список с маленькими отступамиmargin и line-height<dir>, <dl>, <menu>, <ol>, <ul>
noshadeЛиния без объёмной тениborder и background-color<hr>
contextmenuПодключал меню по правой кнопке мышиpopover или своё меню по событию contextmenuлюбой тег
onshowОбработчик показа контекстного менюсобытие toggle у popoverлюбой тег
dropzoneОбласть, в которую можно бросить перетаскиваемый элементсобытия dragover и dropлюбой тег
iconЗначок пункта менюimg внутри button<menuitem>
radiogroupГруппа переключателей в пункте менюinput type="radio"<menuitem>
checkedОтмеченный пункт менюaria-checked или input type="checkbox"<menuitem>
defaultПункт меню по умолчаниюоформление и порядок пунктов<menuitem>
commandТип команды пункта менюобычная button с обработчиком<menuitem>
disabledОтключённый пункт меню или поле keygendisabled у button<keygen>, <menuitem>

Мультимедиа и редкие устаревшие теги

Бегущая строка, фоновая музыка, колонки и генератор ключей заменены CSS, audio и Web Crypto.

АтрибутЧто делалЧем заменитьГде был
behaviorКак движется текст в marquee: scroll, slide или alternate@keyframes и animation<marquee>
directionНаправление движения текста в marqueeanimation-direction и transform<marquee>
scrollamountСкорость движения текстаanimation-duration<marquee>
scrolldelayПауза между шагами движенияanimation-delay<marquee>
truespeedТочная скорость движения без округления задержкиanimation-duration<marquee>
loopСколько раз повторить движение или звукanimation-iteration-count; у звука атрибут loop у audio<marquee>, <bgsound>
balanceБаланс левого и правого каналов звукаaudio и Web Audio API<bgsound>
volumeГромкость фоновой музыкиaudio и свойство volume в JavaScript<bgsound>
gutterРасстояние между колонками текстаcolumn-gap<multicol>
challengeЗапрос для создания ключаWeb Crypto API<keygen>
keytypeАлгоритм ключаWeb Crypto API<keygen>
promptТекст перед полем поискаlabel и input type="search"<isindex>
nНомер, на который ссылается якорьid<nextid>
selectКакое содержимое показывать вместо тега contentslot<content>
formФорма, к которой относится поле keygenWeb Crypto API<keygen>
srcАдрес звука или страницы фреймаaudio с src; вместо frame iframe<bgsound>, <frame>

Источники: HTML Living Standard, список атрибутов, MDN, справочник атрибутов HTML, MDN, атрибуты ARIA.

· Реклама ·

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×