Типы html элементов
Разбираемся в типах html элементов
Модель содержимого
Каждый html
элемент имеет модель которая, описывает ожидаемое содержимое.
То есть модель содержимого - это описание того какие элементы и текст могут вкладываться в html
элемент.
При этом html
элемент может содержать только то, что указано в его модели содержимого, нарушение этого является ошибкой.
Содержимое элемента - это его дочерние узлы в DOM
дереве.
Пробелы между элементами при этом разрешены, они представляют собой текстовый узел.
В итоге html
документ должен быть структурирован в соответствии с правилами установленными в спецификации, и что определенные типы узлов не влияют на семантическое значение документов.
Группы элементов
Все html
элементы согласно спецификации делят по их логической роли. Один элемент может попадать в несколько категорий сразу.
Связи между группами элементов показаны на схеме.
Flow
(Потоковый) - самая общая группа элементов, которые составляют поток документаSectioning
(Секции) - элементы создают секции в документе. Они определяют структуру документа.Heading
(Заголовки) - определяют заголовки разделов.Phrasing
(Фразы) - элементы, которые определяют текст, и как он будет отформатирован внутри текстовых блоков.Embedded
(Встроенный) - импорт или встраивание других ресурсов в документ.Interactive
(Интерактивный) - элементы предназначенные для взаимодействия с пользователем.Metadata
(Метаданные) - элементы содержат мета информацию о документе.
Как эти группы связаны между собой:
Sectioning
иHeading
используются для структурированияFlow
контента.Phrasing
внутриFlow
используется для создания текстаEmbedded
иInteractive
могут быть частьюPhrasing
иFlow
контентаMetadata
обычно это элементы к которым нет доступа, но могут быть элементы воFlow
контенте.
Так же еще есть дополнительные группы элементов:
Form-associated elements
- элементы связанные с формами и участвующие в ее отправкеListed elements
- это элементы, которые есть вAPI
form.elements
иfieldset.elements
Submittable elements
- элементы которые могут отправлять из формыResettable elements
- элементы формы которые можно сбрасыватьAutocapitalize-and-autocorrect-inheriting elements
- элементы, которые наследуют атрибутыautocapitalize
иautocorrect
от элементаform
.Labelable elements
- элементы в которых можно использовать элементlabel
.Palpable
- содержимое элементов этой группы, которое визуально физически воспринимается пользователем, например, текст, изображения, видео и другие элементы, которые можно “ощутить” на странице. Это контент, который виден и доступен для взаимодействия.Script-supporting elements
- элементы которые поддерживают скрипты, но сами по себе никак не отображаются на страницеselect element inner content elements
- элементы которые разрешены в качестве потомковselect
.optgroup element inner content elements
- элементы которые разрешены в качестве потомковoptgroup
.option element inner content elements
- элементы которые разрешены в качестве потомковoption
.
Не вижу смысла перечислять элементы из каждой из этих групп, гораздо полезнее будет рассмотреть как элементы используются.
Хотите оптимизировать свой бизнес, нужен сервис, сайт или интеграция.
Бесплатно расчитаю время разработки, предложу решение вашей задачи.