Категорії вмісту
{{HTMLSidebar}}
Більшість елементів HTML є членами однієї чи кількох категорій вмісту — ці категорії групують елементи, що поділяють спільні характеристики. Це розпливчасте групування (воно насправді не створює взаємозв'язків між елементами категорій), але допомагає визначити й описати спільну поведінку категорій та пов'язані з ними правила, особливо коли мова про заплутані подробиці. Крім цього, елемент може не бути членом жодної з цих категорій.
Є три різновиди категорій вмісту:
- Головні категорії вмісту, що описують загальні правила, котрі поділяються багатьма елементами.
- Категорії вмісту форм, що описують правила, спільні для елементів, котрі стосуються форм.
- Особливі категорії вмісту, що описують рідкісні категорії, які поділяються лишень кількома елементами, іноді лише в конкретному контексті.
Примітка: Більш докладне обговорення таких категорій вмісту та відповідної їм функціональності лежить поза обсягом цієї статті; на цю тему може бути доречним прочитати відповідні частини специфікації HTML.
Головні категорії вмісту
Вміст метаданих
Елементи, що належать до категорії вмісту метаданих, видозмінюють представлення чи поведінку решти документа, задають посилання на інші документи чи доносять іншу супутню інформацію.
Елементи, що належать до цієї категорії: <base>
, <command>
, <link>
, <meta>
, <noscript>
, <script>
, <style>
і <title>
.
Потоковий вміст
Потоковий вміст – широка категорія, що охоплює більшість елементів, котрі можуть з'явитися в елементі <body>
, включно з елементами заголовків, розділовими, оповідальними елементами, елементами вбудування, інтерактивними та формовими елементами. Крім цього, до неї належать текстові вузли (крім тих, що містять лише пробільні символи).
Потокові елементи:
<a>
<abbr>
<address>
<article>
<aside>
<audio>
<b>
<bdo>
<bdi>
<blockquote>
<br>
<button>
<canvas>
<cite>
<code>
<command>
<data>
<datalist>
<del>
<details>
<dfn>
<div>
<dl>
<em>
<embed>
<fieldset>
<figure>
<footer>
<form>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<header>
<hgroup>
<hr>
<i>
<iframe>
<img>
<input>
<ins>
<kbd>
<keygen>
<label>
<main>
<map>
<mark>
<math>
<menu>
<meter>
<nav>
<noscript>
<object>
<ol>
<output>
<p>
<picture>
<pre>
<progress>
<q>
<ruby>
<s>
<samp>
<script>
<section>
<select>
<small>
<span>
<strong>
<sub>
<sup>
<svg>
<table>
<template>
<textarea>
<time>
<u>
<ul>
<var>
<video>
<wbr>
До цієї категорії належать іще кілька елементів, але лише за виконання певних умов:
<area>
, коли є нащадком елемента<map>
<link>
, коли присутній атрибут itemprop<meta>
, коли присутній атрибут itemprop<style>
, коли присутній атрибутscoped
Розділовий вміст
Розділовий вміст – підмножина потокового вмісту, тож може використовуватись усюди, де очікується потоковий вміст. Елементи, що належать до моделі розділового вмісту, утворюють розділ у поточному плані, котрий визначає область дії елементів <header>
, <footer>
і заголовкового вмісту.
Елементи, що належать до цієї категорії: <article>
, <aside>
, <nav>
і <section>
.
Заголовковий вміст
Заголовковий вміст – підмножина потокового вмісту, що визначає заголовок розділу, або позначений явним елементом розділового вмісту, або неявно визначений самим заголовковим вмістом. Заголовковий вміст може використовуватися всюди, де очікується потоковий вміст.
Елементи, що належать до цієї категорії: <h1>
, <h2>
, <h3>
, <h4>
, <h5>
, <h6>
і <hgroup>
.
Примітка: Хоч елемент
<header>
з високою ймовірністю міститиме заголовковий вміст, сам він не є заголовковим вмістом.
Примітка: Елемент
<hgroup>
не рекомендується до використання, адже він не працює як слід з допоміжними технологіями. Він був прибраний зі специфікації W3C HTML до завершення HTML 5, але досі є частиною специфікації WHATWG і принаймні частково підтримується більшістю браузерів.
Оповідальний вміст
Оповідальний вміст – підмножина потокового вмісту, що визначає текст і розмітку, котру містить, і може використовуватись всюди, де очікується потоковий вміст. Відрізки оповідального вмісту утворюють абзаци.
Елементи, що належать до цієї категорії:
<abbr>
<audio>
<b>
<bdo>
<br>
<button>
<canvas>
<cite>
<code>
<command>
<data>
<datalist>
<dfn>
<em>
<embed>
<i>
<iframe>
<img>
<input>
<kbd>
<keygen>
<label>
<mark>
<math>
<meter>
<noscript>
<object>
<output>
<picture>
<progress>
<q>
<ruby>
<s>
<samp>
<script>
<select>
<small>
<span>
<strong>
<sub>
<sup>
<svg>
<textarea>
<time>
<u>
<var>
<video>
<wbr>
і простий текст (що не складається з самих пробільних символів).
До цієї категорії належать іще кілька елементів, але лише за виконання певних умов:
<a>
, коли містить лише оповідальний вміст<area>
, коли є нащадком елемента<map>
<del>
, коли містить лише оповідальний вміст<ins>
, коли містить лише оповідальний вміст<link>
, коли присутній атрибут itemprop<map>
, коли містить лише оповідальний вміст<meta>
, коли присутній атрибут itemprop
Вбудований вміст
Вбудований вміст – підмножина потокового вмісту, що імпортує інші ресурси чи вставляє в документ вміст з іншої мови розмітки чи простору імен і може використовуватися всюди, де очікується потоковий вміст. Серед елементів, що належать до цієї категорії:
Інтерактивний вміст
Інтерактивний вміст є підмножиною потокового вмісту, що включає елементи, котрі розроблені конкретно для взаємодії з користувачем, і можуть використовуватися всюди, де очікується потоковий вміст. Серед елементів, що належать до цієї категорії:
Частина елементів належить до цієї категорії лише за певних умов:
<audio>
, коли присутній атрибутcontrols
<img>
, коли присутній атрибутusemap
<input>
, коли атрибут type не має значення "hidden"<object>
, коли присутній атрибутusemap
<video>
, коли присутній атрибутcontrols
Відчутний вміст
Вміст є відчутним, коли він не є ані порожнім, ані прихованим; це вміст, що виводиться і є істотним. Елементи, чия модель – потоковий вміст, повинні містити принаймні один вузол, що є відчутним.
Формовий вміст
Формовий вміст – це підмножина потокового вмісту, що складається з елементів, котрі мають форму-власника, представлену в атрибуті form, і може використовуватися всюди, де очікується потоковий вміст. Форма-власник може бути або контейнерним елементом <form>
, або елементом, чий id вказаний в атрибуті form.
<button>
<fieldset>
<input>
<keygen>
<label>
<meter>
<object>
<output>
<progress>
<select>
<textarea>
Ця категорія містить декілька підкатегорій:
- перелічені
Елементи, котрі перелічені в колекціях
form.elements
іfieldset.elements
. Включає<button>
,<fieldset>
,<input>
,<keygen>
,<object>
,<output>
,<select>
і<textarea>
.- підписні
Елементи, що можуть бути пов'язані з елементами
<label>
. Включає<button>
,<input>
,<keygen>
,<meter>
,<output>
,<progress>
,<select>
і<textarea>
.- подавальні
Елементи, що можуть використовуватися для конструювання набору даних форми, коли вона подається. Включає
<button>
,<input>
,<keygen>
,<object>
,<select>
і<textarea>
.- скидані
Елементи, на котрі може повпливати скидання форми. Включає
<input>
,<keygen>
,<output>
,<select>
і<textarea>
.
Другорядні категорії
На додачу є кілька другорядних класифікацій елементів, про котрі також може бути корисно знати.
Елементи підтримки сценаріїв
Елементи підтримки сценаріїв – елементи, котрі безпосередньо не докладаються до зображеного виводу документа. Натомість вони служать підтримкою сценаріям, або вміщаючи, або задаючи код сценаріїв, або вміщаючи дані, котрі будуть використані сценаріями.
Елементи підтримки сценаріїв:
Модель прозорого вмісту
Коли елемент має модель прозорого вмісту, то його вміст мусить мати таку структуру, що була б дійсним HTML 5, навіть коли сам прозорий елемент був би прибраний і заміщений власними дочірніми елементами.
Наприклад, елементи <del>
і <ins>
– є прозорими:
<p>
Ми вважаємо ці істини <del><em>священними & незаперечними</em></del>
<ins>самоочевидними</ins>.
</p>
Якщо ці елементи прибрати, то такий уривок все одно буде дійсним HTML (хоч і не коректною українською).
<p>
Ми вважаємо ці істини <em>священними & незаперечними</em> самоочевидними.
</p>