Справочная информация по HTML атрибутам
=======================================

У элементов HTML есть **атрибуты**; это дополнительные значения, которые настраивают элементы или регулируют их поведение различным способом, чтобы соответствовать критериям пользователей.

Список атрибутов
----------------

| Имя атрибута | Элементы | Описание |
| --- | --- | --- |
| `hidden` | Глобальный атрибут | Предотвращает генерирование данного элемента, в то время как сохраняет дочерние элементы, например, элементы script, active. |
| `high` | `<meter>` | Указывает нижнюю границу верхнего диапазона. |
| `href` | `<a>`, `<area>`, `<base>`, `<link>` | URL связанного ресурса. |
| `hreflang` | `<a>`, `<area>`, `<link>` | Указывает язык связанного ресурса. |
| `http-equiv` | `<meta>` |  |
| `icon` | `<command>` | Указывает картинку, которая будет представлять команду. |
| `id` | Глобальный атрибут | Часто используется с CSS для стилизации заданного элемента. Значение атрибута должно быть уникальным. |
| `ismap` | `<img>` | Показывает, что изображение часть серверной карты изображений. |
| `itemprop` | Глобальный атрибут |  |
| `kind` | `<track>` | Указывает вид дорожки текста. |
| `label` | `<track>` | Указывает читабельный заголовок дорожки текста. |
| `lang` | Глобальный атрибут | Определяет язык для используемого элемента. |
| `language` | `<script>` | Определяет язык скрипта, используемый в элементе. |
| `list` | `<input>` | Задаёт список предустановленных опций для предложения пользователю. |
| `loop` | `<audio>`, `<bgsound>` (en-US), `<marquee>`, `<video>` | Указывает, следует ли медиа элементам начинать проигрывание сначала, после их завершения. |
| `low` | `<meter>` | Указывает верхнюю границу нижнего диапазона. |
| `manifest` | `<html>` | Задаёт URL кешированного манифеста документа. |
| `max` | `<input>`, `<meter>`, `<progress>` | Указывает максимальное допустимое значение. |
| `maxlength` | `<input>`, `<textarea>` (en-US) | Определяет максимальное количество символов, допустимых в элементе. |
| `media` | `<a>`, `<area>`, `<link>`, `<source>`, `<style>` | Задаёт подсказку медиа, для которой, связанный ресурс был спроектирован. |
| `method` | `<form>` | Определяет, какой HTTP метод использовать, когда отправляются данные формы. Может быть GET (по умолчанию) или POST. |
| `min` | `<input>`, `<meter>` | Показывает минимальное допустимое значение. |
| `multiple` | `<input>`, `<select>` | Показывает могут ли быть выбраны множественные значения в input типа email или file. |
| `name` | `<button>`, `<form>`, `<fieldset>`, `<iframe>` (en-US), `<input>`, `<object>` (en-US), `<output>`, `<select>`, `<textarea>` (en-US), `<map>`, `<meta>`, `<param>` (en-US) | Имя элемента. К примеру, используется сервером для определения полей отправленной формы. |
| `novalidate` | `<form>` | Этот атрибут указывает, что форма не должна проверяться, когда передаётся на сервер. |
| `open` | `<details>` | Указывает, отображать ли детали при загрузки страницы. |
| `optimum` | `<meter>` | Указывает оптимальное числовое значение. |
| `pattern` | `<input>` | Определяет регулярное выражение, которое будет проверять входные данные элемента. |
| `ping` | `<a>`, `<area>` |  |
| `placeholder` | `<input>`, `<textarea>` (en-US) | Предоставляет подсказку пользователю, касательно того, что можно ввести в поле. |
| `poster` | `<video>` | URL указывающий блок постера для показа, пока пользователь играет или ищет. |
| `preload` | `<audio>`, `<video>` | Указывает загружать ли ресурс целиком, его часть или не загружать вовсе. |
| `pubdate` | `<time>` | Указывает, что эта дата и время являются ли датой ближайшего элемента предка `<article>`. |
| `radiogroup` | `<command>` |  |
| `readonly` | `<input>`, `<textarea>` (en-US) | Указывает, можно ли редактировать элемент. |
| `rel` | `<a>`, `<area>`, `<link>` | Задаёт отношение целевого объекта к объекту ссылки. |
| `required` | `<input>`, `<select>`, `<textarea>` (en-US) | Указывает, необходимо ли заполнять этот элемент или нет. |
| `reversed` | `<ol>` | Указывает, отображать ли список по убыванию, вместо того, чтобы показывать его по возрастанию. |
| `rows` | `<textarea>` (en-US) | Определяет количество строк в textarea. |
| `rowspan` | `<td>`, `<th>` (en-US) | Определяет количество строк ячейки таблицы, которые следует охватывать. |
| `sandbox` | `<iframe>` (en-US) |  |
| `spellcheck` | Глобальный атрибут | Указывает, разрешена ли проверка правописания для этого элемента. |
| `scope` | `<th>` (en-US) |  |
| `scoped` | `<style>` |  |
| `seamless` | `<iframe>` (en-US) |  |
| `selected` | `<option>` | Определяет значение, которое будет выделено при загрузки страницы. |
| `shape` | `<a>`, `<area>` |  |
| `size` | `<input>`, `<select>` | Определяет ширину элемента (в пикселях). Если у элемента значение атрибута `type` — `text` или `password`, тогда это количество символов. |
| `sizes` | `<link>` |  |
| `span` | `<col>`, `<colgroup>` (en-US) |  |
| `src` | `<audio>`, `<embed>`, `<iframe>` (en-US), `<img>`, `<input>`, `<script>`, `<source>`, `<track>`, `<video>` | URL встраиваемого содержимого. |
| `srcdoc` | `<iframe>` (en-US) |  |
| `srclang` | `<track>` |  |
| `srcset` | `<img>` |  |
| `start` | `<ol>` | Определяет первый номер, если это не 1. |
| `step` | `<input>` |  |
| `style` | Глобальный атрибут | Определяет CSS стили, которые перепишут установленные ранее стили. |
| `summary` | `<table>` (en-US) |  |
| `tabindex` | Глобальный атрибут | Переписывает порядок Tab по умолчанию браузера и следует вместо него заданному. |
| `target` | `<a>`, `<area>`, `<base>`, `<form>` |  |
| `title` | Глобальный атрибут | Текст, который будет отображаться в всплывающей подсказке, когда на него наведут указатель. |
| `type` | `<button>`, `<input>`, `<command>`, `<embed>`, `<object>` (en-US), `<script>`, `<source>`, `<style>`, `<menu>` | Определяет тип элемента. |
| `usemap` | `<img>`, `<input>`, `<object>` (en-US) |  |
| `value` | `<button>`, `<option>`, `<input>`, `<li>`, `<meter>`, `<progress>`, `<param>` (en-US) | Определяет значение элемента по умолчанию, которое будет отображаться после загрузки страницы. |
| `width` | `<canvas>`, `<embed>`, `<iframe>` (en-US), `<img>`, `<input>`, `<object>` (en-US), `<video>` | Примечание: в некоторых случаях, таких как `<div>`, это устаревший атрибут, в этом случае используйте свойство CSS `width` вместо него. В других случаях, таких как `<canvas>`, ширина должна быть задана этим атрибутом. |
| `wrap` | `<textarea>` (en-US) | Указывает, следует ли переносить текст. |
| `border` | `<img>`, `<object>` (en-US), `<table>` (en-US) | Ширина границы.Примечание: это устаревший атрибут, используйте свойство CSS `border`. |
| `buffered` | `<audio>`, `<video>` | Содержит отрезок времени уже буферизованного медиа. |
| `charset` | `<meta>`, `<script>` | Определяет кодировку страницы или скрипта. |
| `checked` | `<command>`, `<input>` | Указывает, следует ли отметить элемент при загрузки страницы. |
| `cite` | `<blockquote>`, `<del>`, `<ins>`, `<q>` (en-US) | Содержит URI, который указывает на источник цитаты или изменения. |
| `class` | Глобальный атрибут | Часто используется вместе с CSS, чтобы стилизовать элементы с общими свойствами. |
| `code` | `<applet>` | Указывает URL файла класса аплета для загрузки и выполнения. |
| `codebase` | `<applet>` | Этот атрибут предоставляет абсолютный или относительный URL директории, файлы аплета .class, на которые ссылаются в хранимом атрибуте кода. |
| `color` | `<basefont>` (en-US), `<font>`, `<hr>` | Этот атрибут устанавливает цвет текста, используя либо название цвета, либо шестнадцатеричный формат #RRGGBB.Примечание: это устаревший атрибут. Используйте CSS-свойство `color` (en-US). |
| `cols` | `<textarea>` (en-US) | Определяет количество столбцов в textarea. |
| `colspan` | `<td>`, `<th>` (en-US) | Определяет диапазон количества столбцов ячейки. |
| `content` | `<meta>` | Значение, ассоциированное с `http-equiv` или `name` зависит от контекста. |
| `contenteditable` | Глобальный атрибут | Указывает, редактируется ли содержимое элемента. |
| `contextmenu` | Глобальный атрибут | Определяет ID элемента `<menu>` который послужит, как контекстное меню элемента. |
| `controls` | `<audio>`, `<video>` | Указывает, следует ли отображать пользователю кнопки воспроизведения. |
| `coords` | `<area>` | Набор значений, задающий координаты области для активного участка. |
| `data` | `<object>` (en-US) | Задаёт URL ресурса. |
| `data-*` | Глобальный атрибут | Позволяет прикрепить произвольные атрибуты для HTML-элемента. |
| `datetime` | `<del>`, `<ins>`, `<time>` | Указывает дату и время, ассоциированное с элементом. |
| `default` | `<track>` | Указывает, что дорожка должна быть доступна, если пользовательские настройки не говорят об обратном. |
| `defer` | `<script>` | Указывает, что скрипт должен быть запущен, после того как страница будет проанализирована. |
| `dir` | Глобальный атрибут | Определяет направление текста. Допустимые значения ltr (Слева направо) или rtl (Справа налево). |
| `dirname` | `<input>`, `<textarea>` (en-US) |  |
| `disabled` | `<button>`, `<command>`, `<fieldset>`, `<input>`, `<optgroup>`, `<option>`, `<select>`, `<textarea>` (en-US) | Указывает, может ли пользователь взаимодействовать с элементом. |
| `download` | `<a>`, `<area>` | Указывает, что ссылка используется для загрузки. |
| `draggable` | Глобальный атрибут | Определяет, можно ли перетаскивать элемент. |
| `dropzone` | Глобальный атрибут | Указывает, что элемент принимает содержимое элемента, которое перетаскивают на него. |
| `enctype` | `<form>` | Определяет тип содержимого для данных формы, когда `method` — POST. |
| `for` | `<label>`, `<output>` | Описывает элементы, которые принадлежат им. |
| `form` | `<button>`, `<fieldset>`, `<input>`, `<label>`, `<meter>`, `<object>` (en-US), `<output>`, `<progress>`, `<select>`, `<textarea>` (en-US) | Указывает форму, которая является владельцем элемента. |
| `formaction` | `<input>`, `<button>` | Указывает действие элемента, перезаписывающее действие, указанное в форме `<form>`. |
| `headers` | `<td>`, `<th>` (en-US) | ID элементов `<th>`, которые применяются к этому элементу. |
| `height` | `<canvas>`, `<embed>`, `<iframe>` (en-US), `<img>`, `<input>`, `<object>` (en-US), `<video>` | Примечание: в некоторых экземплярах, таких как `<div>`, это устаревший атрибут, в этом случае используйте свойство CSS `height`. В других экземплярах, таких как `<canvas>`, высота должна быть задана этим атрибутом. |
| `accept` | `<form>`, `<input>` | Список типов, которые принимает сервер, обычно тип файла. |
| `accept-charset` | `<form>` | Список поддерживаемых наборов символов. |
| `accesskey` | Глобальный атрибут | Определяет клавишную комбинацию для активизации или добавления фокуса к элементу. |
| `action` | `<form>` | URI адрес программы, которая обработает данные, переданные через форму. |
| `align` | `<applet>`, `<caption>`, `<col>`, `<colgroup>` (en-US), `<hr>`, `<iframe>` (en-US), `<img>`, `<table>` (en-US), `<tbody>` (en-US), `<td>`, `<tfoot>` , `<th>` (en-US), `<thead>` (en-US), `<tr>` (en-US) | Задаёт горизонтальное выравнивание элемента. |
| `alt` | `<applet>`, `<area>`, `<img>`, `<input>` | Альтернативный текст, в случае, если изображение не может быть отображено. |
| `async` | `<script>` | Указывает, что скрипт должен быть выполнен асинхронно. |
| `autocomplete` | `<form>`, `<input>` | Показывает, могут ли управляющие элементы в форме по умолчанию иметь собственные значения для автодополнения в форме. |
| `autofocus` | `<button>`, `<input>`, `<select>`, `<textarea>` (en-US) | На этом элементе следует автоматически сфокусироваться после загрузки страницы. |
| `autoplay` | `<audio>`, `<video>` | Аудио и видео нужно воспроизвести как можно скорее. |
| `autosave` | `<input>` | Предыдущее значения следует сохранить в выпадающем списке при загрузки страницы. |
| `bgcolor` | `<body>`, `<col>`, `<colgroup>` (en-US), `<marquee>`, `<table>` (en-US), `<tbody>` (en-US), `<tfoot>`, `<td>`, `<th>` (en-US), `<tr>` (en-US) | Цвет фона элемента.Примечание: это устаревший атрибут. Используйте свойство CSS `background-color`. |

Содержимое в сравнении с IDL атрибутами
---------------------------------------

В HTML, большинство атрибутов имеют две грани: **атрибут содержимого** и **IDL атрибут**.

Атрибут содержимого — это атрибут как вы его устанавливаете из содержимого (HTML-код), и его можно устанавливать или получать с помощью `element.setAttribute()` или `element.getAttribute()`. Атрибут содержимого всегда строка, даже когда ожидаемое значение должно быть число. Например, для того чтобы установить `maxlength` элемента `<input>` в 42 используя атрибут содержимого, вам нужно вызвать `setAttribute("maxlength", "42")` на этом элементе.

IDL-атрибут также известен как свойство JavaScript. Это атрибуты, которые вы можете читать или устанавливать используя JavaScript-свойства наподобие `element.foo`. IDL-атрибут всегда собирается использовать (но может преобразовать) основной атрибут содержимого для возврата, когда вы получаете его и сохраняет в атрибут содержимого, когда вы устанавливаете его. Другими словами, IDL-атрибуты, в сущности, отражают атрибуты содержимого.

Большую часть времени, IDL атрибуты возвращают их значения такими, какими они используются. Например, по умолчанию `type` для элементов `<input>` — "text", поэтому если вы установите `input.type="foobar"`, элемент `<input>` будет иметь тип text (по виду и по поведению) но значение атрибута содержимого "type" будет "foobar". Однако, IDL-атрибут `type` возвратит строку "text".

IDL-атрибуты не всегда строки; например, `input.maxlength` число (long со знаком). Когда используете IDL атрибуты, вы читаете или устанавливаете значения желаемого типа, поэтому `input.maxlength` всегда намеревается вернуть число и когда вы устанавливаете `input.maxlength`, это требует число. Если вы передадите другой тип, это автоматически конвертируется в число, по стандартным правилам преобразования типов в JavaScript.

IDL атрибуты могут отображать другие типы такие как unsigned long, URLs, booleans, и т.д. К несчастью нет ясных правил и способа, чтобы IDL атрибуты работали в связке с их соответствующими атрибутами содержимого в зависимости от атрибута. Большую часть времени, будет следовать правилам из спецификации, но иногда нет. HTML спецификации пытаются сделать это как можно дружелюбнее для разработчиков, но по различным причинам (по большинству историческим), некоторые атрибуты работают странно (`select.size`, например) и вам следует прочитать спецификацию для точного понимания того, как они работают.

Смотрите также
--------------

* HTML-элементы