Справочник по атрибутам HTML
Элементы HTML имеют атрибуты — дополнительные значения, которые настраивают элементы или изменяют их поведение различными способами, чтобы соответствовать требованиям пользователей.
Список атрибутов
| Имя атрибута | Элементы | Описание |
|---|
accept | <form>, <input> | Список типов, которые принимает сервер, обычно тип файла. |
accept-charset | <form> | Кодировка символов, которая, если указана, должна быть "UTF-8". |
accesskey | Глобальный атрибут | Сочетание клавиш для активации элемента или перевода на него фокуса. |
action | <form> | URI программы, которая обрабатывает информацию, отправленную через форму. |
align | <caption>, <col>, <colgroup>, <hr>, <iframe>, <img>, <table>, <tbody>, <td>, <tfoot>, <th>, <thead>, <tr> | Задаёт горизонтальное выравнивание элемента. |
allow | <iframe> | Задаёт политику разрешений для iframe. |
alpha | <input> | Позволяет пользователю выбирать прозрачность цвета в поле ввода type="color". |
alt | <area>, <img>, <input> | Альтернативный текст на случай, если изображение не удаётся отобразить. |
as | <link> | Задаёт тип содержимого, загружаемого по ссылке. |
async | <script> | Выполняет скрипт асинхронно. |
autocapitalize | Глобальный атрибут | Задаёт автоматическое преобразование первой буквы введённого пользователем текста в заглавную |
autocomplete | <form>, <input>, <select>, <textarea> | Указывает, может ли браузер по умолчанию автоматически подставлять значения в элементы управления этой формы. |
autoplay | <audio>, <video> | Аудио или видео должно начать воспроизводиться как можно скорее. |
background | <body>, <table>, <td>, <th> | Задаёт URL файла изображения. Примечание: Хотя браузеры и почтовые клиенты всё ещё могут поддерживать этот атрибут, он устарел. Вместо него используйте CSS-свойство |
bgcolor | <body>, <col>, <colgroup>, <marquee>, <table>, <tbody>, <tfoot>, <td>, <th>, <tr> | Цвет фона элемента. Примечание: Это устаревший атрибут. Вместо него используйте CSS-свойство |
border | <img>, <object>, <table> | Ширина границы. Примечание: Это устаревший атрибут. Вместо него используйте CSS-свойство |
capture | <input> | Согласно спецификации Media Capture, указывает, что можно захватить новый файл. |
charset | <meta> | Объявляет кодировку символов страницы или скрипта. |
checked | <input> | Указывает, следует ли установить флажок для элемента при загрузке страницы. |
cite | <blockquote>, <del>, <ins>, <q> | Содержит URI, указывающий на источник цитаты или изменения. |
class | Глобальный атрибут | Часто используется вместе с CSS для оформления элементов с общими свойствами. |
color | <font>, <hr> | Этот атрибут задаёт цвет текста с помощью имени цвета или цвета в шестнадцатеричном формате #RRGGBB. Примечание: Это устаревший атрибут. Вместо него используйте CSS-свойство |
colorspace | <input> | Задаёт цветовое пространство, используемое полем ввода type="color". |
cols | <textarea> | Задаёт количество столбцов в текстовом поле. |
colspan | <td>, <th> | Атрибут colspan задаёт количество столбцов, занимаемых ячейкой. |
content | <meta> | Значение, связанное с http-equiv или name в зависимости от контекста. |
contenteditable | Глобальный атрибут | Указывает, доступно ли для редактирования содержимое элемента. |
controls | <audio>, <video> | Указывает, следует ли показывать пользователю элементы управления воспроизведением. |
coords | <area> | Набор значений, задающих координаты активной области. |
crossorigin | <audio>, <img>, <link>, <script>, <video> | Определяет, как элемент обрабатывает запросы из других источников |
csp | <iframe> | Задаёт политику безопасности содержимого, которую встроенный документ должен соблюдать. |
data | <object> | Задаёт URL ресурса. |
data-* | Глобальный атрибут | Позволяет добавлять пользовательские атрибуты к элементу HTML. |
datetime | <del>, <ins>, <time> | Указывает дату и время, связанные с элементом. |
decoding | <img> | Задаёт предпочтительный способ декодирования изображения. |
default | <track> | Указывает, что дорожку следует включить, если в настройках пользователя не указано иное. |
defer | <script> | Указывает, что скрипт следует выполнить после разбора страницы. |
dir | Глобальный атрибут | Задаёт направление текста. Допустимые значения: ltr (слева направо) и rtl (справа налево) |
dirname | <input>, <textarea> | |
disabled | <button>, <fieldset>, <input>, <optgroup>, <option>, <select>, <textarea> | Указывает, может ли пользователь взаимодействовать с элементом. |
download |
<a>, <area>
| Указывает, что гиперссылка используется для загрузки ресурса. |
draggable | Глобальный атрибут | Определяет, можно ли перетаскивать элемент. |
enctype | <form> | Задаёт тип содержимого данных формы, если значение method равно POST. |
enterkeyhint | <textarea>, contenteditable | Атрибут enterkeyhint задаёт метку действия (или значок), отображаемую для клавиши Enter на виртуальных клавиатурах. Атрибут можно использовать с элементами управления формы (например, со значением элементов textarea) или с элементами в области редактирования (например, используя атрибут contenteditable). |
elementtiming | <img>, <image> внутри <svg>, изображения-заставки элементов <video>, элементы со свойством background-image, а также элементы, содержащие текстовые узлы, например <p> | Указывает, что элемент отслеживается объектами PerformanceObserver с типом "element". Подробнее см. интерфейс PerformanceElementTiming. |
fetchpriority | <img>, <link>, <script> | Указывает, насколько загрузка определённого изображения на раннем этапе влияет на пользовательский опыт по сравнению с оценкой браузера при назначении внутреннего приоритета. |
for | <label>, <output> | Описывает элементы, принадлежащие этому элементу. |
form | <button>, <fieldset>, <input>, <object>, <output>, <select>, <textarea> | Указывает форму, которой принадлежит элемент. |
formaction | <input>, <button> | Указывает действие элемента, переопределяя действие, заданное в элементе <form>. |
formenctype | <button>, <input> | Если кнопка или поле ввода является кнопкой отправки (например, type="submit"), этот атрибут задаёт тип кодирования, используемый при отправке формы. Если атрибут указан, он переопределяет атрибут enctype элемента form, которому принадлежит кнопка. |
formmethod | <button>, <input> | Если кнопка или поле ввода является кнопкой отправки (например, type="submit"), этот атрибут задаёт метод отправки формы (GET, POST и т. д.). Если атрибут указан, он переопределяет атрибут method элемента form, которому принадлежит кнопка. |
formnovalidate | <button>, <input> | Если кнопка или поле ввода является кнопкой отправки (например, type="submit"), этот логический атрибут указывает, что при отправке формы её не следует проверять. Если атрибут указан, он переопределяет атрибут novalidate элемента form, которому принадлежит кнопка. |
formtarget | <button>, <input> | Если кнопка или поле ввода является кнопкой отправки (например, type="submit"), этот атрибут задаёт контекст просмотра (например, вкладку, окно или встроенный фрейм), в котором следует отобразить ответ после отправки формы. Если атрибут указан, он переопределяет атрибут target элемента form, которому принадлежит кнопка. |
headers | <td>, <th> | Идентификаторы элементов <th>, относящихся к этому элементу. |
height | <canvas>, <embed>, <iframe>, <img>, <input>, <object>, <video> | Задаёт высоту перечисленных здесь элементов. Для всех остальных элементов используйте CSS-свойство |
hidden | Глобальный атрибут | Предотвращает отображение указанного элемента, сохраняя активность его дочерних элементов, например элементов script. |
high | <meter> | Указывает нижнюю границу верхнего диапазона. |
href | <a>, <area>, <base>, <link> | URL связанного ресурса. |
hreflang | <a>, <link> | Задаёт язык связанного ресурса. |
http-equiv | <meta> | Задаёт директиву pragma. |
id | Глобальный атрибут | Часто используется вместе с CSS для оформления определённого элемента. Значение этого атрибута должно быть уникальным. |
integrity | <link>, <script> | Этот атрибут содержит один или несколько хешей ресурса и используется для проверки того, что содержимое ресурса соответствует ожиданиям разработчика и не было заменено вредоносной копией в результате атаки на цепочку поставок. |
inputmode | <textarea>, contenteditable | Подсказывает, какой тип данных пользователь может ввести при редактировании элемента или его содержимого. Атрибут можно использовать с элементами управления формы (например, со значением элементов textarea) или с элементами в области редактирования (например, используя атрибут contenteditable). |
ismap | <img> | Указывает, что изображение является частью серверной карты изображения. |
itemprop | Глобальный атрибут | |
kind | <track> | Задаёт тип текстовой дорожки. |
label | <optgroup>, <option>, <track> | Задаёт понятный пользователю заголовок элемента. |
lang | Глобальный атрибут | Задаёт язык, используемый в элементе. |
language | <script> | Задаёт язык скрипта, используемого в элементе. |
loading | <img>, <iframe> | Указывает, следует ли загружать элемент с отложенной загрузкой (loading="lazy") или немедленно (loading="eager"). |
list | <input> | Связывает элемент со списком предварительно заданных вариантов, предлагаемых пользователю. |
loop | <audio>, <marquee>, <video> | Указывает, следует ли начинать воспроизведение медиафайла с начала после его завершения. |
low | <meter> | Указывает верхнюю границу нижнего диапазона. |
max | <input>, <meter>, <progress> | Указывает максимально допустимое значение. |
maxlength | <input>, <textarea> | Задаёт максимально допустимое количество символов в элементе. |
minlength | <input>, <textarea> | Задаёт минимально допустимое количество символов в элементе. |
media | <a>, <area>, <link>, <source>, <style> | Задаёт тип мультимедиа, для которого предназначен связанный ресурс. |
method | <form> | Задаёт метод HTTP, используемый при отправке формы. Допустимые значения: GET (по умолчанию) или POST. |
min | <input>, <meter> | Указывает минимально допустимое значение. |
multiple | <input>, <select> | Указывает, можно ли вводить несколько значений в поле ввода типа email или file. |
muted | <audio>, <video> | Указывает, следует ли изначально отключить звук при загрузке страницы. |
name | <button>, <form>, <fieldset>, <iframe>, <input>, <object>, <output>, <select>, <textarea>, <map>, <meta>, <param> | Имя элемента. Например, сервер использует его для идентификации полей при отправке формы. |
novalidate | <form> | Этот атрибут указывает, что при отправке формы её не следует проверять. |
open | <details>, <dialog> | Указывает, отображается ли в данный момент содержимое (для элемента <details>) или активно ли диалоговое окно и можно ли с ним взаимодействовать (для элемента <dialog>). |
optimum | <meter> | Указывает оптимальное числовое значение. |
pattern | <input> | Задаёт регулярное выражение, которому должно соответствовать значение элемента. |
ping |
<a>, <area>
| Атрибут ping задаёт разделённый пробелами список URL, на которые отправляется уведомление, если пользователь переходит по гиперссылке. |
placeholder | <input>, <textarea> | Подсказывает пользователю, что можно ввести в поле. |
playsinline | <video> | Логический атрибут, указывающий, что видео следует воспроизводить «встроенно», то есть в области воспроизведения элемента. Отсутствие этого атрибута не означает, что видео всегда будет воспроизводиться в полноэкранном режиме. |
poster | <video> | URL изображения-заставки, которое отображается, пока пользователь не запустит воспроизведение или не перейдёт к другой позиции. |
preload | <audio>, <video> | Указывает, следует ли предварительно загружать весь ресурс, его части или не загружать ничего. |
readonly | <input>, <textarea> | Указывает, можно ли редактировать элемент. |
referrerpolicy | <a>, <area>, <iframe>, <img>, <link>, <script> | Задаёт заголовок Referer, отправляемый при загрузке ресурса. |
rel | <a>, <area>, <link> | Задаёт отношение целевого объекта к объекту ссылки. |
required | <input>, <select>, <textarea> | Указывает, обязательно ли заполнять этот элемент. |
reversed | <ol> | Указывает, следует ли отображать список в порядке убывания вместо порядка возрастания. |
role | Глобальный атрибут | Задаёт явную роль элемента для вспомогательных технологий. |
rows | <textarea> | Задаёт количество строк в текстовом поле. |
rowspan | <td>, <th> | Задаёт количество строк, занимаемых ячейкой таблицы. |
sandbox | <iframe> | Запрещает документу, загруженному во фрейм iframe, использовать определённые возможности (например, отправлять формы или открывать новые окна). |
scope | <th> | Задаёт ячейки, к которым относится заголовок таблицы (определённый в элементе th). |
selected | <option> | Задаёт значение, которое будет выбрано при загрузке страницы. |
shape |
<a>, <area>
| |
size | <input>, <select> | Задаёт ширину элемента (в пикселях). Если атрибут type элемента имеет значение text или password, ширина задаётся количеством символов. |
sizes | <link>, <img>, <source> | |
slot | Глобальный атрибут | Назначает элементу слот в теневом дереве DOM. |
span | <col>, <colgroup> | |
spellcheck | Глобальный атрибут | Указывает, разрешена ли проверка орфографии для элемента. |
src | <audio>, <embed>, <iframe>, <img>, <input>, <script>, <source>, <track>, <video> | URL встраиваемого содержимого. |
srcdoc | <iframe> | |
srclang | <track> | |
srcset | <img>, <source> | Один или несколько вариантов адаптивного изображения. |
start | <ol> | Задаёт первое число, если оно отличается от 1. |
step | <input> | |
style | Глобальный атрибут | Задаёт стили CSS, которые переопределяют ранее заданные стили. |
summary | <table> | |
tabindex | Глобальный атрибут | Переопределяет заданный браузером порядок перехода по элементам клавишей Tab и задаёт вместо него указанный порядок. |
target | <a>, <area>, <base>, <form> | Указывает, где открыть связанный документ (для элемента <a>) или где отобразить полученный ответ (для элемента <form>). |
title | Глобальный атрибут | Текст, отображаемый во всплывающей подсказке при наведении указателя на элемент. |
translate | Глобальный атрибут | Указывает, следует ли переводить значения атрибутов элемента и значения его дочерних текстовых узлов Text при локализации страницы или оставить их без изменений. |
type | <button>, <input>, <embed>, <object>, <ol>, <script>, <source>, <style>, <menu>, <link> | Задаёт тип элемента. |
usemap | <img>, <input>, <object> | |
value | <button>, <data>, <input>, <li>, <meter>, <option>, <progress>, <param> | Задаёт значение по умолчанию, которое будет отображаться в элементе при загрузке страницы. |
width | <canvas>, <embed>, <iframe>, <img>, <input>, <object>, <video> | Для перечисленных здесь элементов этот атрибут задаёт ширину элемента. |
wrap | <textarea> | Указывает, следует ли переносить текст. |
Атрибуты содержимого и атрибуты IDL
В HTML у большинства атрибутов есть две формы: атрибут содержимого и атрибут IDL (языка описания интерфейсов).
Атрибут содержимого — это атрибут, который задаётся в содержимом (коде HTML); его можно задать или получить с помощью element.setAttribute() или element.getAttribute(). Атрибут содержимого всегда является строкой, даже если ожидаемое значение должно быть целым числом. Например, чтобы задать атрибут maxlength элемента <input> равным 42 с помощью атрибута содержимого, нужно вызвать для этого элемента setAttribute("maxlength", "42").
Атрибут IDL также известен как свойство JavaScript. Это атрибуты, которые можно считывать или задавать с помощью свойств JavaScript, например element.foo. Атрибут IDL при получении значения всегда использует базовый атрибут содержимого (но может преобразовать его), а при задании сохраняет в атрибуте содержимого некоторое значение. Иными словами, атрибуты IDL по сути отражают атрибуты содержимого.
В большинстве случаев атрибуты IDL возвращают значения в том виде, в котором они фактически используются. Например, для элементов <input> значением type по умолчанию является "text". Поэтому, если задать input.type="foobar", элемент <input> будет иметь тип text (как по внешнему виду, так и по поведению), но значением атрибута содержимого "type" будет "foobar". Однако атрибут IDL type вернёт строку "text".
Атрибуты IDL не всегда являются строками; например, input.maxlength — это число (знаковое длинное целое). При использовании атрибутов IDL значения считываются и задаются в нужном типе, поэтому input.maxlength всегда возвращает число, а для input.maxlength требуется число. Если передать значение другого типа, оно автоматически преобразуется в число согласно стандартным правилам преобразования типов JavaScript.
Атрибуты IDL могут отражать другие типы, например беззнаковые длинные целые числа, URL-адреса, логические значения и т. д. К сожалению, чётких правил нет, а поведение атрибутов IDL в сочетании с соответствующими атрибутами содержимого зависит от самого атрибута. В большинстве случаев оно соответствует правилам, изложенным в спецификации, но иногда это не так. Спецификации HTML стремятся сделать это поведение максимально удобным для разработчиков, однако по разным причинам (в основном историческим) некоторые атрибуты ведут себя необычно (например, select.size), поэтому следует изучить спецификации, чтобы точно понять их поведение.
Логические атрибуты
Некоторые атрибуты содержимого (например, required, readonly, disabled) называются логическими атрибутами. Если логический атрибут присутствует, его значение — true; если он отсутствует — false.
HTML накладывает ограничения на допустимые значения логических атрибутов: если атрибут присутствует, его значением должна быть либо пустая строка (то есть атрибут может быть без заданного значения), либо строка, совпадающая с каноническим именем атрибута без учёта регистра ASCII и не содержащая начальных или конечных пробелов. Ниже приведены допустимые способы записи логического атрибута:
<div itemscope>This is valid HTML but invalid XML.</div> <div itemscope=itemscope>This is also valid HTML but invalid XML.</div> <div itemscope="">This is valid HTML and also valid XML.</div> <div itemscope="itemscope"> This is also valid HTML and XML, but perhaps a bit verbose. </div>
Для ясности: значения "true" и "false" недопустимы для логических атрибутов. Чтобы представить значение false, атрибут нужно полностью опустить. Это ограничение устраняет распространённые недоразумения: например, при checked="false" атрибут checked элемента будет интерпретирован как true, поскольку атрибут присутствует.
Атрибуты обработчиков событий
Предупреждение: Использовать атрибуты содержимого обработчиков событий не рекомендуется. Смешение HTML и JavaScript часто приводит к коду, который сложно сопровождать, а выполнение атрибутов обработчиков событий также может быть заблокировано политиками безопасности содержимого.
Предупреждение: Хотя это не отображается при вызове метода Function.prototype.toString() обработчика, атрибуты обработчиков событий неявно оборачивают код в 2 оператора with, что может привести к неожиданным результатам. Например:
<div onclick="console.log(new URL(location))">Bad Example</div>
По сути, это преобразуется в:
function onclick(event) {
with (this.ownerDocument) {
with (this) {
console.log(new URL(location)); // 'URL' now resolves to document.URL instead of window.URL
// TypeError: URL is not a constructor
}
}
}
Помимо перечисленных выше атрибутов, глобальные обработчики событий — например, onclick — также можно задавать как атрибуты содержимого для всех элементов.
Все атрибуты обработчиков событий принимают строку. Эта строка используется для создания функции JavaScript, например function name(/*args*/) {body}, где name — имя атрибута, а body — его значение. Обработчик получает те же параметры, что и соответствующий обработчик события JavaScript: большинство обработчиков получают только один параметр event, тогда как onerror получает пять: event, source, lineno, colno, error. Это означает, что обычно внутри атрибута можно использовать переменную event.
<div onclick="console.log(event)">Click me!</div> <!-- The synthesized handler has a name; you can reference itself --> <div onclick="console.log(onclick)">Click me!</div>
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes