Обратите внимание, что
* * *
* * *
* * *
id
Атрибут id
задаёт элементу уникальный идентификатор (ID). [DOM]
Значение данного атрибута должно быть уникальным среди всех ID в домашнем поддереве элементов, а также должно содержать не менее одного символа. При этом значение не должно содержать пробельных символов.
Отсутствуют ограничения на то, какие значения может принимать ID, в частности, идентификаторы могут состоять только из цифр, начинаться с цифры, с символа подчеркивания, состоять только из знаков препинания и т.д.
уникальный идентификатор элемента может быть использован для различных целей, в первую очередь для установки якоря, в конкретной части документа используя идентификаторы фрагментов, потом как способ указания уникального имени элемента для работы с ним из скриптов, а так же для того чтобы установить CSS стиль для конкретного элемента.
IИдентификаторы являются непрозрачными строками. Особая смысловая нагрузка не должна быть получена от значения атрибута
id
.
title
Атрибут title
представляет справочную информацию для элемента, например, в виде всплывающей подсказки.
При указывании атрибута в теге ссылки, он может выполнять роль названия или описания целевого ресурса; в изображении
может выполнять роль альтернативы изображению или описание изображения; в теге абзаца может выполнять роль сноски
или комментария к тексту; в цитате может выполнять роль дополнительной информации об источнике; в
интерактивном содержимом может выполнять роль отметки или инструкции к
использованию элемента; и так далее. В качестве значения данного атрибута может выступать любой текст.
Полагаться на атрибут title
в настоящее время не рекомендуется, поскольку многие агенты пользователей не предоставляют атрибут
в доступной форме в соответствии с требованиями настоящей спецификации (например, требуется
указывающее устройство, такое как мышь, чтобы вызвать всплывающую подсказку, что исключает
не только устройства, использующие только клавиатуру, но и устройства, использующие только
сенсорное управление, такие как любой современный телефон или планшет).
Если этот атрибут опущен из элемента, то подразумевается, что атрибут
title
ближайшего предка являющегося
HTML элементом с
title
атрибутом является также
актуальным по отношению к данному элементу. Установка данного атрибута переопределяет это правило,
прямо указывая, что справочная информация от любых родительских элементов больше не имеет отношения к
этому элементу. Установка пустой строки в качестве значения данного атрибута означает, что у элемента
отсутствует всплывающая подсказка.
Если значение title
атрибута
содержит «LF» (U+000A) символы, то содержание разделяется на несколько строк. Каждый «LF» (U +000A)
символ во всплывающей подсказке представляет символ перевода строки.
Следует проявлять осторожность при переводе сроки в значениях title
атрибутов.
Например, в следующем примере определение аббревиатурной расшифровки написано с разрывом строки:
<p>My logs show that there was some interest in <abbr title="Hypertext Transport Protocol">HTTP</abbr> today.</p>
Некоторые элементы, такие как link
,
abbr
, и
input
, определяют дополнительную семантику для атрибута
title
за пределами семантики, описанной
выше.
Справочная информация элемента является значением, которое возвращает следующий алгоритм, с алгоритмом который прерывается, как только возвращается значение. Когда алгоритм возвращает пустую строку, то справочная информация отсутствует.
Если элемент является link
,
style
,
dfn
или
abbr
элементом и: если элемент имеет
атрибут title
, то возвращается значение этого атрибута, в противном случае
возвращается пустая строка.
В противном случае, если элемент имеет атрибут title
,
то возвращается его значение.
В противном случае, если элемент имеет родительский элемент, то возвращается справочная информация родительского элемента.
В противном случае, возвращается пустая строка.
Агенты пользователей должны информировать пользователя, когда элементы имеют справочную информацию, в противном случае информации не должно быть видно.
lang
и xml:lang
Атрибут lang
(без пространства имён) указывает
основной язык содержимого элемента и любого из атрибутов элемента, содержащих текст. Его значение
должно быть допустимым BCP 47 языковым тегом, или пустой строкой. Установка пустой строки в качестве
атрибута указывает, что основной язык неизвестен. [BCP47]
XML атрибут lang
в
XML пространстве имён определён в XML. [XML]
Если данные атрибуты не указаны в элементе, то язык этого элемента совпадает с языком его родительского элемента, если таковой имеется.
Атрибут lang
вне пространства имён
может быть использован в любом HTML элементе.
Атрибут lang
в XML
пространстве имён может быть использован в HTML элементах в
XML документах, а также в элементах других пространств имён,
если позволяют это соответствующие технические характеристики (в частности, в MathML и SVG допускается
использование lang
атрибутов в
XML пространстве имён указаных в их элементах). Если и атрибут
lang
не принадлежащий пространству имён и атрибут
lang
принадлежащий
XML пространству имён указывается в одном элементе, то они должны иметь одинаковое значение
без учёта ASCII регистра символов.
Авторы не должны использовать XML атрибут lang
принадлежащий
the XML пространству имён в HTML элементах HTML
документов. Для облегчения перехода от XHTML, авторы могут указать атрибут не принадлежащий
пространству имён без префикса и с буквальным локальным именем "xml:lang
" в
HTML элементах HTML документов, но такие атрибуты
должны быть указаны только в случае, если для элемента уже указан атрибут lang
не принадлежащий пространству имён, при условии, что оба этих атрибута имеют одинаковое значение
без учёта ASCII регистра символов.
Атрибут вне пространства имён без префикса и с буквальным локальным именем
"xml:lang
" не влияет на обработку языка.
Для определения языка узла, агенты пользователей должны посмотреть на ближайший родительский элемент
(в том числе и сам элемент, если узел является элементом), который имеет
атрибут lang
принадлежащий XML пространству имён
или является HTML элементом, который имеет lang
не принадлежащий пространству имён набора атрибутов. Данный атрибут задаёт язык узла (вне зависимости от его значения).
Если и атрибут lang
не принадлежащий пространству имён и
атрибут lang
принадлежащий XML
пространству имён задаются одному элементу, то агенты пользователей должны использовать
атрибут lang
принадлежащий XML
пространству имён, а атрибут lang
не принадлежащий
пространству имён должен быть проигнорирован в целях определения языка элемента.
Если ни один узел, ни кто-либо из предков узла, включая корневой элемент, не имеет ни одного из данных атрибутов, но присутствует pragma-набор действий для установления языка по умолчанию, то это установленный таким образом язык является языком узла. Если нет pragma-набора действий для установления языка по умолчанию, то информация о языке, получается, от высокоуровневого протокола (например, HTTP), если таковой имеется, должен быть использован в качестве последнего резервного метода определения языка. В случае отсутствия какой-либо информации о языке, а также в случаях, когда протокол более высокого уровня предоставляет отчеты на нескольких языках, язык узла неизвестен и соответствующая метка языка является пустой строкой.
Если полученное значение является нестандартной меткой языка, то данное значение должно рассматриваться как неизвестный язык, имеющий данную метку языка отличающуюся от остальных языков. В целях кругооборота или общения с другими службами, которые ожидают языковые метки, web-браузеры должны оставить неизвестные метки языка без изменений, и пометить как языковые метки BCP 47, так чтобы впоследствии сервисы не интерпретировали данные как ещё один тип описания языка. [BCP47]
Так, например, элемент с lang="xyzzy"
будет соответствовать
селектору :lang(xyzzy)
(например в CSS), но не будет соответствовать
:lang(abcde)
хотя оба они одинаково недействительны. Аналогично, если
веб-браузер и программа чтения с экрана, работают совместно обмениваясь информацией о языке элемента,
браузер должен будет сообщать программе чтения с экрана, что меткой языка является "xyzzy", даже если
он знает, что данная метка неверна, это делается на всякий случай для того, чтобы узнать поддерживает
ли программа чтения с экрана язык с подобной меткой. Даже если программа чтения с экрана одновременно
поддерживает BCP 47 и другие синтаксисы для кодирования названий языков, и в этом другом кодировании
синтаксис строки "xyzzy" является одним из способов обозначения белорусского языка, было бы
неправильным для программы чтения с экрана начать обрабатывать текст как белорусский, потому
что "xyzzy" в BCP 47 кодах не описывается как белорусский (в BCP 47 для обозначения белорусского языка
используется код «be»).
Если полученное значение является пустой строкой, то это значение должно быть интерпретировано как неизвестный язык узла.
Агенты пользователей могут использовать языковую метку для определения правильной обработки или визуализации (например, в выборе соответствующих шрифтов или произношения, для выбора словаря, или для пользовательских интерфейсов управления формой, таких как выбор даты).
IDL атрибут lang
должен
вернуть содержимое атрибута
lang
не принадлежащего пространству имён.
translate
Атрибут translate
является
перечисляемым атрибутом, который используется для
определения необходимости перевода значений атрибутов элементов и значений их дочерних
Текстовых
узлов в условиях, когда страница локализована.
Ключевыми словами атрибута являются: пустая строка, yes
, и no
.
Пустая строка и ключевое слово yes
указывают на состояние – yes.
Ключевое слово no
указывает на состояние – no. Кроме того,
существует еще и третье состояние, состояние наследования, которое является отсутствующим
значением, выполняемым по умолчанию (и недопустимое значение по умолчанию).
Каждый элемент (даже не HTML-элементы) имеет режим перевода, который может
находиться в состоянии поддержки перевода или в состоянии без поддержки перевода.
Если атрибут translate
HTML-элемента находится в состоянии
yes, то режим перевода элемента находится в состоянии поддержки перевода;
в противном случае, если translate
атрибут элемента находится
в состоянии no, то режим перевода элемента находится в состоянии без поддержки
перевода. В противном случае, либо translate
атрибут элемента
наследует состояние, либо элемент не является HTML элементом
и таким образом не имеет translate
атрибут; в любом случае,
режим перевода элемента находится в том же состоянии, что и его родительский элемент, если таковой имеется,
или в состоянии поддержки перевода, если элемент является корневым элементом.
Когда элемент находится в состоянии поддержки перевода, то элементы с атрибутами
перевода и значения их дочерних Текстовых
узлов должны быть переведены в условиях,
когда страница локализована. Атрибуты элемента, которые не указаны в качестве атрибутов перевода не должны
переводиться.
Когда элемент находится в состоянии без поддержки перевода, то значения атрибутов элементов (в том числе значения
атрибутов перевода) и значения их дочерних Текстовых
узлов
должны быть оставлены, как есть в условиях, когда страница локализована, например, в виду того, что элемент содержит имя человека или
название компьютерной программы.
Следующие атрибуты являются переводимыми атрибутами:
abbr
в th
элементахalt
в area
,
img
и
input
элементахcontent
в meta
элементах, если атрибут name
указывает имя метаданных, значение которого, как известно, переводитсяdownload
в a
и
area
элементахlabel
в optgroup
,
option
, и
track
элементахlang
в HTML элементах; должно быть «переведено» на соответствующий язык, используемый в переводеplaceholder
в input
и
textarea
элементахsrcdoc
в iframe
элементах; должно быть проанализировано и обрабатываться рекурсивноstyle
в HTML элементах; должно быть проанализировано и обрабатываться рекурсивно (например, для значений "содержащихся" свойств)title
во всех HTML элементахvalue
в input
элементах с атрибутом
type
в состоянии Button или в состоянии
Reset ButtonIDL атрибут translate
должен вернуть true,
если режим перевода элемента находится в состоянии поддержки перевода и
false в противном случае. При использовании, он должен задать атрибуту значение "yes
", если новое
значение является true/правдой или в противном случае задать значение "no
".
В данном примере, после локализации страницы, все её содержимое за исключением образца вводимого текста и образца результата работы программы должно быть переведено:
<!DOCTYPE HTML> <html> <!-- по умолчанию в корневом элементе translate=yes --> <head> <title>Игра Пчёлы</title> <!-- подразумевается, что translate=yes наследуется от родительских элементов --> </head> <body> <p>Игра Пчелы представляет собой текстовую приключенческую игру на английском языке.</p> <p>При запуске игры, первое, что вы должны сделать, это набрать <kbd translate=no>поесть мёд</kbd>. Игра должна ответить:</p> <pre><samp translate=no>Ням ням! Это был очень хороший мёд!</samp></pre> </body> </html>
dir
Атрибут dir
указывает направление текста элемента. Атрибут
представляет собой перечисляемый атрибут со следующими ключевыми словами и значениями:
ltr
, которое является
значением ltrУказывает, что содержимое элемента имеет явно обособленное направление текста слева направо.
rtl
, которое является
значением rtlУказывает, что содержимое элемента имеет явно обособленное направление текста справа налево.
auto
, которое является
значением autoУказывает, что содержимое элемента имеет явно обособленное направление текста, но это направление должно быть определено программно, используя содержимое элемента (как описано ниже).
Эвристически используемое данное состояние очень примитивно (оно просто смотрит на первый символ с сильной направленностью, аналогично тому, как в пункте определения уровня алгоритма двунаправленного вывода). Авторам настоятельно рекомендуется использовать это значение в качестве последнего средства, в случае, когда направление текста действительно неизвестно, и когда эвристика не может быть применена на стороне сервера. [BIDI]
Для textarea
и
pre
элементов, эвристика применяется
на уровне абзацев.
Этот атрибут не имеет недопустимого значения по умолчанию и не отсутствующего значения по умолчанию.
Направленность элемента (любого элемента, а не только элемента HTML) имеет одно из двух состояний - 'ltr' или 'rtl', и определяется в соответствии с первым соответствующим набором действий из следующего списка:
dir
элемента имеет значение
ltrdir
не имеет определенного
состояния (т.е. он отсутствует или имеет недопустимое значение)input
элементом, чей атрибут
type
находится в состоянии
Номера телефона, и атрибут
dir
не имеет определенного состояния
(т.е. он отсутствует или имеет недопустимое значение)Направленность элемента принимает значение 'ltr'.
dir
элемента имеет значение
rtlНаправленность элемента принимает значение 'rtl'.
input
элементом, чей атрибут
type
имеет значение
Text,
Search,
Telephone,
URL или
E-mail и атрибут
dir
находиться в состоянии
autotextarea
элементом и атрибут
dir
находиться в состоянии
autoЕсли значение элемента содержит символ с двунаправленным характером типа AL или R, и нигде до этого в значение элемента нет символа двунаправленного характера типа L, то направленность элемента определяется как 'rtl'. [BIDI]
В противном случае, если значение элемента - не пустая строка, или если элемент является корневым элементом, направленность элемента принимает значение 'ltr'.
В противном случае, направленность элемента наследуется от направленности родительского элемента.
dir
элемента имеет
значение autobdi
элементом и атрибут
dir
не имеет определенного состояния
(т.е. он отсутствует или имеет недопустимое значение)Находтся первый символ структуре дерева, который соответствует следующим критериям:
Символ из Текстового
узла, который является потомком элемента,
чья направленность в настоящее время определяется.
Символ, указывающий двунаправленный характер типа L, AL, или R. [BIDI]
Символ, не находящийся в Текстовом
узле, имеющий родительский элемент,
который является потомком элемента, чья
направленность определена, либо:
Если такой символ найден и имеет двунаправленный характер типа AL или R, направленность элемента принимает значение 'rtl'.
Если такой символ найден и имеет двунаправленный характер типа L, направленность элемента принимает значение 'ltr'.
В противном случае, если элемент является пустым и не является корневым элементом, направленность элемента такая же, как и направленность родительского элемента.
В противном случае, направленность элемента принимает значение 'ltr'.
dir
не имеет определенного состояния (т.е. он отсутствует или имеет недопустимое значение)Направленность элемента наследуется от направленности родительского элемента.
Поскольку атрибут dir
определяется только для
HTML-элементов, он не может присутствовать в элементах из других пространств имён.
Таким образом, элементы из других пространств имён всегда просто наследуют их направленность от родительского элемента, или, если они не имеют единственного
значения по умолчанию - 'ltr'.
Атрибут направленности HTML-элемента, который используется, когда значение этого атрибута будет принято на исполнение в некотором образе, определяется, как и в первом соответствующем наборе действий из следующего списка:
dir
атрибут элемента находиться в
состоянии autoНахождится первый символ (в логическом порядке) атрибута, который имеет двунаправленный характер типа L, AL, или R. [BIDI]
Если такой символ найден и имеет двунаправленный характер типа AL или R, направленность атрибут принимает значение 'rtl'.
В противном случае, направленность атрибута принимает значение 'ltr'.
Следующие атрибуты являются поддерживаемыми атрибутами направленности:
abbr
в th
элементахalt
в area
,
img
и
input
элементахcontent
в meta
элементах, если атрибут name
указывает имя метаданных, значение которого в первую очередь предназначено для человеческого понимания, а не для чтения машинойlabel
в optgroup
,
option
и
track
элементахplaceholder
в input
и
textarea
элементахtitle
во всех HTML-элементахdir
[ = value ]Возвращает значение dir
атрибутов
html
элемента, если таковые имеются.
Может быть установлено, "ltr
", "rtl
", либо "auto
"
для изменения значения dir
атрибутов
html
элемента
Если html
элемент отсутствует, то возвращается пустая строка,
и игнорируются новые значения.
IDL атрибут dir
должен вернуть
содержимое dir
атрибута элемента,
ограничиваясь только известными значениями.
IDL атрибут dir
в объекте Document
должен вернуть содержимое dir
атрибута
html
элемента, если таковой имеется,
ограничиваясь только известными значениями. Если указанный элемент отсутствует,
то атрибут должен вернуть пустую строку и не делать ни каких настроек.
Разработчикам настоятельно рекомендуется для указания направления текста использовать атрибут
dir
, а не прибегать
к помощи CSS, потому что в этом случае их документы будут продолжать отображаться правильно,
даже в отсутствии CSS (например, в интерпретации поисковых систем).
Это фрагмент разметки из чат сеанса.
<p dir=auto class="u1"><b><bdi>Студент</bdi>:</b> Как пишется "Как тебя зовут?" по-арабски?</p> <p dir=auto class="u2"><b><bdi>Учитель</bdi>:</b> ما اسمك؟</p> <p dir=auto class="u1"><b><bdi>Студент</bdi>:</b> Спасибо.</p> <p dir=auto class="u2"><b><bdi>Учитель</bdi>:</b> Данное слово пишется как "شكرًا".</p> <p dir=auto class="u2"><b><bdi>Учитель</bdi>:</b> А вы знаете, как пишется "Пожалуйста"?</p> <p dir=auto class="u1"><b><bdi>Студент</bdi>:</b> "من فضلك", правильно?</p>
При наличии подходящих стилей и выравнивания, выставленных по умолчанию стилей для элемента p
,
а именно выравнивание текста по начальному краю абзаца, в результате выравнивание может выглядеть следующим образом:
Как отмечалось ранее, значение auto
не является панацеей.
Последний абзац в этом примере отображается справа налево, так как он начинается с арабской вязи, которая располагает «правильно?»
слева от арабского текста.
class
Каждый HTML элемент может иметь атрибут class
.
Атрибут, если он указан, должен иметь значение, которое представляет собой набор разделённых пробелами лексем, представляющих различные классы, которым принадлежит элемент.
Классы, присваиваемые HTML элементу, только тогда являются набором,
состоящим из всех классов, когда значение атрибута class
разделено пробелами. (Повторения игнорируются.)
Присваиваемые элементу классы влияют на класс соответствующих CSS селекторов, метод
getElementsByClassName()
в DOM, и другие подобные функции.
Нет никаких дополнительных ограничений на использование авторами маркеров классов в атрибуте class
,
но при этом авторам рекомендуется использовать значения, описывающие характер содержимого, а не значения, которые описывают желаемое представление контента.
IDL атрибуты className
и
classList
, определенные в DOM спецификации,
возвращают содержимое атрибута class
.
[DOM]
style
Все HTML элементы могут иметь атрибут
style
. Этот атрибут является
атрибутом CSS стилей, определённых спецификацией CSS Синтаксиса Атрибута Стиля.
[CSSATTR]
В агентах пользователей, поддерживающих CSS, значение атрибута должно быть принято во внимание в том числе, когда элементу задаётся данный атрибут или изменяется значение уже заданного атрибута , в соответствии с правилами, заданными для стилевых атрибутов CSS. [CSSATTR]
Документы, которые используют атрибуты style
в своих элементах,
должны быть понятными и пригодными, даже в случае удаления этих атрибутов.
В частности, с помощью атрибута style
можно скрывать
и показывать содержимое элемента, а так же передавать смысл который из-за несоответствия мог бы и не быть включён в документ. (Для скрытия и отображения
содержимого элемента используйте атрибут hidden
.)
style
Возвращает CSSStyleDeclaration
объект для элементов с атрибутом
style
.
IDL атрибут style
определён в спецификации Объектной
Модели CSS (CSSOM). [CSSOM]
В следующем примере, слова, которые относятся к цветам, размечены с помощью
span
элемента и атрибута
style
, чтобы придать данным словам
соответствующие цвета в визуальных медиа.
<p>Мой тренировочный костюм <span style="color: green; background: transparent">зелёного цвета</span>, а мои глаза <span style="color: blue; background: transparent">синего цвета</span>.</p>
data-*
Атрибут пользовательских данных является атрибутом вне пространства имён,
имя которого начинается со строки "data-
",
сам он имеет, по крайней мере, один символ дефиса, является
XML-совместимым, и не содержит
прописных ASCII букв.
Все имена атрибутов HTML-элементов в HTML-документах получают автоматически ASCII-нижний регистр, поэтому ограничения на прописные ASCII буквы не влияет на подобные документы.
Атрибуты пользовательских данных предназначены для хранения пользовательских данных частной страницы или приложения, для которых больше нет соответствующих атрибутов или элементов.
Эти атрибуты не предназначены для использования программным обеспечением, которое не зависит от сайта, на котором используются данные атрибуты.
Например, на сайте о музыке могут быть прокомментированы элементы списка, указывающие треки в музыкальном альбоме с пользовательскими атрибутами данных, содержащими длину каждого трека. Эта информация затем может быть использована самим сайтом, чтобы позволить пользователю отсортировать список по длине дорожки, или чтобы отфильтровать список треков по заданной длине.
<ol> <li data-length="2m11s">За морем</li> ... </ol>
Однако, было бы неправильно, если бы пользователь использовал стороннее программное обеспечение, которое не связано с этим музыкальным сайтом, для поиска треков определенной длины по указанным данным.
Это потому, что эти атрибуты предназначены для использования собственными скриптами сайтов, и не является универсальным механизмом расширения публично используемых метаданных.
Каждый HTML-элемент может иметь любое количество атрибутов пользовательских данных, указывающих любое значение.
dataset
Возвращает объект DOMStringMap
для элементов с атрибутами
data-*
.
Комбинированные имена преобразуются с изменением регистра. Например, data-foo-bar=""
становится element.dataset.fooBar
.
IDL атрибут dataset
предоставляет удобные средства доступа
для всех data-*
атрибутов элемента. При указании, IDL
атрибут dataset
должен вернуть
DOMStringMap
объект, связанный следующими алгоритмами,
которые показывают данные атрибуты на своём элементе:
data-
" чьи остальные
символы (если таковые имеются) не являются любыми прописными ASCII буквами, в том порядке,
в котором эти атрибуты, перечисляются в списке атрибутов элемента, добавляют пару имя-значение
в список, чьё имя является именем атрибута без первых пяти символов и значением которого является значение атрибута.SyntaxError
и отменяются следующие действия.data-
вставляется в переднюю часть name.setAttribute()
выдаст ошибку,
устанавливая атрибут с именем name, то на это должно быть выдано то же исключение/ошибку.data-
вставляется в переднюю часть name.Этот алгоритм будет получать только вызванную WebIDL спецификацию для имён, которые даются ранее алгоритма для получения списка пар имя-значение. [WEBIDL]
Каждый раз должен возвращаться один и тот же объект.
Если бы на веб-странице необходимо было создать из элемента этой страницы космический корабль, например как часть какой-нибудь игры,
то можно было бы использовать атрибут class
наряду с атрибутами
data-*
:
<div class="spaceship" data-ship-id="92432" data-weapons="laser 2" data-shields="50%" data-x="30" data-y="10" data-z="90"> <button class="fire" onclick="spaceships[this.parentNode.dataset.shipId].fire()"> Огонь </button> </div>
Обратите внимание, как в API название атрибута, написанное через дефис, преобразуется с изменением регистра некоторых символов.
Авторы должны настолько тщательно разработать подобные расширения, что бы в случае, когда атрибуты игнорируются и любые указываемые CSS перестают работать, страница всё еще была бы пригодна к использованию.
Агенты пользователей не должны обладать информацией о каком-либо выполнении этих атрибутов или значений. Спецификации, предназначенные для агентов пользователей не должны определять эти атрибуты имеющие любые смысловые значения.
JavaScript библиотеки могут использовать атрибуты пользовательских данных, так как они считаются частью страницы, на которой они используются. Авторам библиотек, которые используются многими другими авторами, предлагается включить своё название в имена атрибутов, чтобы снизить риск совпадений. Там где это имеет смысл, в библиотеке также рекомендуется сделать название, используемое в именах атрибутов настраиваемым, так чтобы библиотеки, авторы которых неосознанно выбрали то же название, могли бы использовать эти имена на одной странице, а так же, что бы несколько версий конкретной библиотеки, могли бы быть использованы на той же странице, даже если эти версии являются не совместимыми.
Например, библиотека называемая "DoQuery" может использовать имена атрибутов, такие как
data-doquery-range
, а библиотека называемая "jJo" может использовать имена атрибутов,
такие как data-jjo-range
. Также в библиотеке jJo может быть предусмотрен свой API,
который устанавливает собственную приставку для использования (например, J.setDataPrefix('j2')
создаёт атрибуты, которые имеют название типа data-j2-range
).