Все записи автора Андрей Семенов

тег ruby — разметка контента в аннотации ruby

ruby  элемент позволяет одним или несколькими пролетами фразировки размечать контент в аннотации ruby. ruby аннотации — короткие участки текста, представленные вместе с основным текстом, в первую очередь используется в типографии Восточной Азии в качестве руководства для произношения или на другие аннотации. В японском языке эта форма типографики также известна как furigana .

ruby  элемент представляет пролеты формулировки содержания в нем, игнорируя все дочерние rt и rp  элементы и их потомков. Эти пролеты формулировки содержания были связаны аннотации создаются с помощью rt элемента.

В этом примере, каждый иероглиф в японском тексте ?? примечанием с чтением в хирагана.

...
<ruby>?<rt>??</rt>?<rt>?</rt></ruby>
...

 Это может быть показано как:

В этом примере, каждый иероглиф в традиционном китайском языке ?? примечанием с чтением Бопомофо.

<ruby>?<rt>???</rt>?<rt>??</rt></ruby>

 Это может быть показано как:

 

В этом примере, каждый иероглиф в упрощенном китайском языке ??примечанием с пиньинь чтения.

...<ruby>?<rt>h?n</rt>?<rt>z?</rt></ruby>...

 Это может быть показано как:

тег rt — компонент текста в аннотации ruby

rt элемент отмечает ruby компонент текста в аннотации ruby.

rt элемент , который является дочерним ruby  элемента представляет аннотации (с учетом его детей) на ноль или более узлов формулировкой содержания, который непосредственно предшествует его ruby элементу, игнорируя rp  элементы.

rt элемент, который не является ребенком ruby элемент представляет то же самое своим детям.

Тег rp — скобки ruby компонента

rp элемент может быть использован для обеспечения скобки компонента ruby текст аннотации ruby, который будет показан пользовательским агентом, которые не поддерживают ruby аннотации.

rp  элемент, который является дочерним ruby  элементу и ничего не представляет, и его содержимое должны быть проигнорировано. rp элемент чей родительский элемент является не ruby  элемент представляет свое содержимое.

В приведенном примере, в котором каждый иероглиф в тексте ?? снабжен примечанием их фонетического прочтения, может быть расширена для использования rp  в невизуальных агентах пользователя:

...
<ruby>?<rp> (</rp><rt>??</rt><rp>) </rp>?<rp> (</rp><rt>?</rt><rp>) </rp></ruby>
...

В соответствующие ПА оказании бы быть выше, но в ПА, не поддерживающих ruby,  будет выглядеть так:

... ? (??) ? (?) ...

Тег progress — ход выполнения задачи

progress  элемент представляет ход выполнения задачи. Прогресс или неопределенность, указывают, что прогресс, это когда не ясно, как много работы еще предстоит сделать до выполнения задачи (например, потому, что задача ждет ответ удаленного хоста), либо прогресс число в диапазоне от нуля до максимума, отображая какая часть работы до сих пор была завершена.

Есть два признака, которые определяют текущее выполнение задачи представляются элементом. value  атрибут указывает, насколько задача была завершена, и max атрибут определяет, сколько работы эта задача требует в общей сложности. Единицы, являются произвольными и не уточняются.

Note: Чтобы сделать определенный прогресс бар, надо добавить value  атрибут с текущим прогрессом (либо число от 0,0 до 1,0, или, если max  атрибут указан, то число от 0 до значения max атрибута). Для того, чтобы создать неопределенный индикатор, удалите value атрибут.

Авторам рекомендуется также включать в тег текущее значение и максимальное значение, встроенный текст внутри элемента, так чтобы progress становился доступным для пользователей невизуальных агентов пользователей.

Вот фрагмент web-приложения, которое показывает прогресс некоторых автоматизированных задач:

<section>
 <h2>Task Progress</h2>
 <p>Progress: <progress id="p" max=100><span>0</span>%</progress></p>
 <script>
  var progressBar = document.getElementById('p');
  function updateProgress(newValue) {
    progressBar.value = newValue;
    progressBar.getElementsByTagName('span')[0].textContent = newValue;
  }
 </script>
</section>

(UpdateProgress() метод в этом примере будет вызвать другой код на странице, чтобы обновить фактические значения индикатора, так чтобы задача прогрессировала.)

value и max атрибуты, если он присутствуют, должны иметь значения, которые являются действительными числами с плавающей точкой. value  атрибут, если он присутствует, должен иметь значение, равное или большее нуля, и меньше или равный значению max  атрибута, если он присутствует, или 1.0, в противном случае. max атрибут, если он присутствует, должен иметь значение больше нуля.

Note: progress неправильно использовать для того, чтобы просто показать датчик, в отличие от выполнения задачи. Например, указание использования дискового пространства с помощью progress  было бы неуместным. Вместо этого используйте meter  элемент для таких случаев.

Требования агента пользователя : Если value  атрибута не указано, то прогресс-бар неопределенный индикатор. В противном случае, это определенный индикатор.

Если индикатор представляет собой определенный прогресс бар и элемент имеет max  атрибут, агент пользователя должен проанализировать max  значение атрибута в соответствии с правилами для разбора значений с плавающей точкой. Если это не приведет к ошибке, и если проанализированное значение больше нуля, то максимальное значение индикатора принимает это значение. В противном случае, если элемент не имеет max  атрибут, или если он есть, но разбор привел к ошибке, или если проанализированное value было меньше или равна нулю, то максимальное значение индикатора выполнения 1.0.

Если индикатор представляет собой определенный прогресс бар, агенты пользователей должны проанализировать value  значение атрибута в соответствии с правилами для разбора значений с плавающей точкой. Если это не приведет к ошибке, и если проанализированное значение меньше, чем максимальное значение, и больше нуля, то текущее значение прогресс-бара принимает это значение. В противном случае, если проанализированное value было больше или равно максимальному значению, то текущее значение прогресс-барa max значение индикатора. В противном случае, если разбор value  значения атрибута приводит к ошибке, или число, которое меньше или равно нулю, то текущее значение индикатора выполнения равно нулю.

Тег output — результат вычислений

output  элемент представляет результат расчета.

for  атрибут устанавливает явную связь  между результатом расчета и элементами, которые представляют собой значения, которые вошли в расчет или иным образом повлияли на расчет. for атрибут, если он указан, должен содержать строку, состоящую из неупорядоченного набора уникальных, разделенных пробелами, с учетом регистра, каждый из которых должен иметь значение ID элемента в том же документе.

form  атрибут используется для явного связывания output  элемента с его формой. name атрибут представляет имя элемента.

Элемент имеет  value mode flag который содержит или текущее значение или значение по умолчанию. Первоначально, значение флага режим должен быть установлен по умолчанию.

Элемент также имеет default value (значение по умолчанию). Первоначально, значение по умолчанию должно быть пустой строкой.

Если значение флага режима в состоянии по умолчанию, содержимое элемента представляют как значение элемента и его значение по умолчанию . Если значение флага режима в состоянии значения, содержание элемента представляют собой значение элемента и только, а значение по умолчанию доступны только использованием DefaultValue  атрибут IDL.

Всякий раз, когда потомки элемента меняется в любом случае, если значение флага в режиме в режиме по умолчанию, элемента значение по умолчанию должен быть установлен в значение элемента textContent атрибут IDL.

Сброс алгоритм для output  элементов для установки элемента значение режима флаг в по умолчанию, а затем установить элемента textContent  IDL атрибут со значением элемента значение по умолчанию (то есть заменить ребенку элемента узлов).

Простой калькулятор может использовать output для отображения результатов расчета:

<form onsubmit="return false" oninput="o.value = a.valueAsNumber + b.valueAsNumber">
 <input name=a type=number step=any> +
 <input name=b type=number step=any> =
 <output name=o></output>
</form>

Тег nav — раздел навигационных ссылок

nav  элементов представляет раздел страницы, объединяющий ссылки на другие страницы или части на странице — раздел навигационных ссылок.

Note: Не все группы ссылок на странице должны быть в nav элементе, он предназначен прежде всего для разделов, которые состоят из основных блоков навигации. В частности, он является общим для колонтитулов, которые имеют короткий список ссылок на различные страницы сайта, такие как условия обслуживания, домашняя страница, а также авторские страницы. header элемента достаточно только для таких случаев, в то время как nav элемент может быть использован в таких случаях, как правило, ненужной.
Note: Агенты пользователей (таких как программы чтения с экрана), которые ориентированы на пользователей, которые могут извлечь выгоду из навигационной информации опущены в начальной визуализации, или кто может извлечь выгоду из навигационной информации, являющейся доступной прямо сейчас, можете использовать этот элемент как способ определить, какой контент на странице на начальном этапе перехода и/или предоставить по запросу.

В следующем примере, на странице есть несколько мест, где имеются ссылки, но только одно из этих мест считается разделом навигации.

<body itemscope itemtype="http://schema.org/Blog">
 <header>
  <h1>Wake up sheeple!</h1>
  <p><a href="news.html">News</a> -
     <a href="blog.html">Blog</a> -
     <a href="forums.html">Forums</a></p>
  <p>Last Modified: <span itemprop="dateModified">2009-04-01</span></p>
  <nav>
   <h1>Navigation</h1>
   <ul>
    <li><a href="articles.html">Index of all articles</a></li>
    <li><a href="today.html">Things sheeple need to wake up for today</a></li>
    <li><a href="successes.html">Sheeple we have managed to wake</a></li>
   </ul>
  </nav>
 </header>
 <div>
  <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
   <header>
    <h1 itemprop="headline">My Day at the Beach</h1>
   </header>
   <div itemprop="articleBody">
    <p>Today I went to the beach and had a lot of fun.</p>
    ...more content...
   </div>
   <footer>
    <p>Posted <time itemprop="datePublished" datetime="2009-10-10">Thursday</time>.</p>
   </footer>
  </article>
  ...more blog posts...
 </div>
 <footer>
  <p>Copyright ©
   <span itemprop="copyrightYear">2010</span>
   <span itemprop="copyrightHolder">The Example Company</span>
  </p>
  <p><a href="about.html">About</a> -
     <a href="policy.html">Privacy Policy</a> -
     <a href="contact.html">Contact Us</a></p>
 </footer>
</body>

Обратите внимание как div элементы используются, чтобы обернуть все содержимое страницы, кроме верхнего и нижнего колонтитула, и все содержимое блога, помимо его верхнего и нижнего колонтитула.

Вы также можете увидеть микроданные в приведенном выше примере, которые используют schema.org словарный запас, чтобы указать дату публикации и другие метаданные о блоге.

В следующем примере, есть два nav  элемента, по одному для основной навигации по сайту, и один для вторичной навигации по самой странице.

<body>
 <h1>The Wiki Center Of Exampland</h1>
 <nav>
  <ul>
   <li><a href="/">Home</a></li>
   <li><a href="/events">Current Events</a></li>
   ...more...
  </ul>
 </nav>
 <article>
  <header>
   <h1>Demos in Exampland</h1>
   <p>Written by A. N. Other.</p>
  </header>
  <nav>
   <ul>
    <li><a href="#public">Public demonstrations</a></li>
    <li><a href="#destroy">Demolitions</a></li>
    ...more...
   </ul>
  </nav>
  <div>
   <section id="public">
    <h1>Public demonstrations</h1>
    <p>...more...</p>
   </section>
   <section id="destroy">
    <h1>Demolitions</h1>
    <p>...more...</p>
   </section>
   ...more...
  </div>
  <footer>
   <p><a href="?edit">Edit</a> | <a href="?delete">Delete</a> | <a href="?Rename">Rename</a></p>
  </footer>
 </article>
 <footer>
  <p><small>© copyright 1998 Exampland Emperor</small></p>
 </footer>
</body>

nav элемент не обязательно должен содержать список, он может содержать и другие виды контента. В этом блоке навигации, приводятся ссылки в прозе:

<nav>
 <h1>Navigation</h1>
 <p>You are on my home page. To the north lies <a href="/blog">my
 blog</a>, from whence the sounds of battle can be heard. To the east
 you can see a large mountain, upon which many <a
 href="/school">school papers</a> are littered. Far up thus mountain
 you can spy a little figure who appears to be me, desperately
 scribbling a <a href="/school/thesis">thesis</a>.</p>
 <p>To the west are several exits. One fun-looking exit is labeled <a
 href="http://games.example.com/">"games"</a>. Another more
 boring-looking exit is labeled <a
 href="http://isp.example.net/">ISP™</a>.</p>
 <p>To the south lies a dark and dank <a href="/about">contacts
 page</a>. Cobwebs cover its disused entrance, and at one point you
 see a rat run quickly out of the page.</p>
</nav>

Тег meter — скалярное измерение

meter элемент представляет скалярное измерение в известном диапазоне, и дробные значения, например использование диска, актуальность результата запроса, или доля населения голосования выбрали того или иного кандидата.

Это также известно как измеритель.

Note: meter  элемент не должен быть использован для отслеживания прогресса (как в индикаторе). Для этих целей HTML предоставляет отдельный progress элемент.
Note: meter элемент также не представляет собой скалярное значение произвольного диапазона, например, было бы неправильно использовать это, чтобы сообщить о весе, или высоте, если есть известное значение максимума.

Есть шесть атрибутов, которые определяют семантику элемента.

min атрибут определяет нижнюю границу диапазона, а max атрибут определяет верхнюю границу. value атрибут указывает «измеренное» значение.

Три другие атрибута могут быть использованы в сегменте диапазона манометра в «низкий», «средний» и «высокой» части, и указать, какая часть калибровка «оптимальный» части. low  атрибут определяет диапазон, который считается «низким» стороны, и high атрибут определяет диапазон, который считается «высокой» части. optimum  атрибут дает той позиции, что является «оптимальной», если это выше, чем в «высокий» значение, то это означает, что чем выше значение, тем лучше, если она ниже, чем в «низкий» знак, то это означает, что меньшие значения лучше, и, естественно, если он находится между то это означает, что ни высокие, ни низкие значения хорошо.

Кроме того, значения атрибутов еще более ограничены:

Пусть value будет значение числа атрибутов.

Если min атрибут атрибут указан, то пусть минимальное значение, которое будет атрибут, в противном случае, пусть это будет ноль.

Если max атрибут атрибут указан, то пусть максимальный быть значение этого атрибута, в противном случае, пусть это будет 1.0.

Неравенства должны выполняться, если это применимо:

  • minimum ? value ? maximum
  • minimum ? low ? maximum (if low is specified)
  • minimum ? high ? maximum (if high is specified)
  • minimum ? optimum ? maximum (if optimum is specified)
  • low ? high (if both low and high are specified)
Note: При отсутствии минимального или максимального указан, то диапазон считается 0 .. 1, а значение имеет, таким образом, чтобы быть в пределах этого диапазона.

Авторам рекомендуется включать текстовое представление состояния измерителя в содержании элемента, для пользователей пользовательских агентов, которые не поддерживают meter элемента.

Следующие примеры показывают, трех датчиков, что все будет на три  четверти:

Storage space usage: <meter value=6 max=8>6 blocks used (out of 8 total)</meter>
Voter turnout: <meter value=0.75><img alt="75%" src="graph75.png"></meter>
Tickets sold: <meter min="0" max="100" value="75"></meter>

Ниже приведен пример неправильного использования элемента, потому что она не дает диапазон (и так как по умолчанию максимум 1, как датчики будут в конечном итоге глядя превышен):

<p>The grapefruit pie had a radius of <meter value=12>12cm</meter>
and a height of <meter value=2>2cm</meter>.</p> <!-- BAD! -->

Вместо этого можно было бы либо не включают счетчик элемент или использовать прибор элемент определенного диапазона давать размеры в контексте по сравнению с другими пирогами:

<p>The grapefruit pie had a radius of 12cm and a height of
2cm.</p>
<dl>
 <dt>Radius: <dd> <meter min=0 max=20 value=12>12cm</meter>
 <dt>Height: <dd> <meter min=0 max=10 value=2>2cm</meter>
</dl>

Существует не явным образом указывать единицы в meter  элемент, но единицы может быть указан в name атрибута в свободной форме текста.

Приведенный выше пример может быть расширен говоря уже о единицах:

<dl>
 <dt>Radius: <dd> <meter min=0 max=20 value=12 title="centimeters">12cm</meter>
 <dt>Height: <dd> <meter min=0 max=10 value=2 title="centimeters">2cm</meter>
</dl>

Тег menu — список команд

menu элемент представляет собой список команд.

type атрибут перечислимого типа с указанием вида меню. Атрибут имеет три состояния. context  - ключевое слово, при котором элемент объявляет контекстное меню. toolbar  - ключевое слово, при котором элемент объявляет панель инструментов. Атрибут может быть опущен. Отсутствующее значение по умолчанию представляет список (list), элемент является просто списком команд, не контекстное меню, не панель инструментов.

Если menu элемент с type атрибутом в context состоянии, то элемент представляет команды из контекстного меню, и пользователь может взаимодействовать только с командами, если контекстное меню активируется.

Если menu элемента с type атрибутом в toolbar состоянии, то элемент представляет список активных команд, которые пользователь может сразу использовать.

Если menu элемента с type атрибутом в list состоянии, то элемент либо представляет неупорядоченный список элементов (каждый из которых представлен li элементом), каждый из которых представляет собой команды, которые пользователь может выполнять либо активировать, либо, если элемент не имеет li  элементов, поток и содержание описания доступных команд.

label атрибут дает ярлык в меню. Он используется агентами пользователей для отображения вложенных меню в пользовательском интерфейсе. Например, контекстное меню, содержащее другое меню будет использовать вложенные меню  атрибута label меню подменю.

menu элемент используется для определения контекстных меню и панели инструментов.

Например, следующая представляет собой панель с тремя кнопками меню на ней, каждая из которых имеет выпадающее меню с рядом опций:

<menu type="toolbar">
 <li>
  <menu label="File">
   <button type="button" onclick="fnew()">New...</button>
   <button type="button" onclick="fopen()">Open...</button>
   <button type="button" onclick="fsave()">Save</button>
   <button type="button" onclick="fsaveas()">Save as...</button>
  </menu>
 </li>
 <li>
  <menu label="Edit">
   <button type="button" onclick="ecopy()">Copy</button>
   <button type="button" onclick="ecut()">Cut</button>
   <button type="button" onclick="epaste()">Paste</button>
  </menu>
 </li>
 <li>
  <menu label="Help">
   <li><a href="help.html">Help</a></li>
   <li><a href="about.html">About</a></li>
  </menu>
 </li>
</menu>

В пользовательском агенте, это могло бы выглядеть следующим образом:

 

Выглядел бы следующим образом маркированный список из трех элементов, первым из которых имеет четыре кнопки, второй из которых имеет три, а третий из которых состоит из двух вложенных пунктов bullet с двумя элементами, состоящих из ссылок.

Следующий листинг реализует аналогичную панель инструментов, с помощью одной кнопки, назначение которой, при выборе, перенаправить пользователя на веб-сайты.

<form action="redirect.cgi">
 <menu type="toolbar">
  <label for="goto">Go to...</label>
  <menu label="Go">
   <select id="goto">
    <option value="" selected="selected"> Select site: </option>
    <option value="http://www.apple.com/"> Apple </option>
    <option value="http://www.mozilla.org/"> Mozilla </option>
    <option value="http://www.opera.com/"> Opera </option>
   </select>
   <span><input type="submit" value="Go"></span>
  </menu>
 </menu>
</form>

Тег keygen — генератор пар ключей

keygen элемент представляет управление генератором пар ключей. Когда форма управления представляется, закрытый ключ хранится в местном хранилище, и открытый ключ, упаковывается и отправляется на сервер.

challenge атрибут может быть указан. Его значение будет упаковано с представленным ключом.

keytype атрибут перечислимого типа. ПА не обязаны поддерживать этот атрибут, и должны только признать, значения соответствующих алгоритмов, которые они поддерживают.

Note: Эта спецификация не определяет какие типы пар ключей должны поддерживать ПА.

Агент пользователя может привести пользовательский интерфейс для каждой keygen элемент позволяет пользователю настроить параметры ключевых генератор пара элемента, например, длину ключа.

Сброс алгоритм для keygen элементов для установки этих различных параметров конфигурации к их значениям по умолчанию.

Элемента значение является строкой, возвращенной из следующего алгоритма:

  1. Используйте соответствующий пункт из следующего списка:
  • Если KeyType атрибут в RSA состоянии . Генерация пары ключей RSA с помощью параметров задается пользователем, при необходимости, используя md5WithRSAEncription  RSA алгоритм подписи (подпись алгоритма MD5 и RSA алгоритм шифрования), указанные в п. 2.2.1 («RSA алгоритм подписи») в RFC 3279 и определена в RFC 2313. [RFC3279] [RFC2313]
  • В противном случае, KeyType атрибут находится в неизвестном состоянии. Данный тип ключа не поддерживается. Вернуться в пустую строку и прервать этот алгоритм.

Давайте закрытого ключа будет созданный закрытый ключ.

Давайте открытых ключей является сгенерированный открытый ключ.

Пусть алгоритм подписи быть выбранного алгоритма подписи.

  1. Если элемент имеет проблема  атрибут, то пусть проблема будет значение атрибута. В противном случае пусть оспорить быть пустой строкой.
  2. Пусть алгоритм будет ASN.1 AlgorithmIdentifier  структуры, как это определено RFC 5280, с алгоритмом  поле, задающее ASN.1 OID лоимм используется для определения алгоритма подписи , используя идентификаторы объектов, определенных в разделе 2.2 («подпись Алгоритмы») в RFC 3279, и Параметры  поля, создаваемого в соответствии с требованиями RFC 3279 для AlgorithmIdentifier структур для этого алгоритма. [X690] [RFC5280] [RFC3279]
  3. Давайте SPKI быть ASN.1 SubjectPublicKeyInfo структуры, как это определено RFC 5280, с алгоритмом  поле установлен алгоритм структуры на предыдущем шаге, и SubjectPublicKey  набор полей для BIT STRING значение в результате кодирования ASN.1 DER открытого ключа . [X690] [RFC5280]
  4. Давайте publicKeyAndChallenge быть ASN.1 publicKeyAndChallenge структуры, как это определено ниже, SPKI поле значение SPKI структуры на предыдущем шаге, и задача  поле значение строки задачей полученные ранее. [X690]
  5. Давайте подпись быть BIT STRING значение в результате кодирования ASN.1 DER подпись, полученная путем применения алгоритма подписи на байт строки получить ASN.1 DER кодирования publicKeyAndChallenge структура, с помощью закрытого ключа , как ключа подписи. [X690]
  6. Давайте signedPublicKeyAndChallenge быть ASN.1 signedPublicKeyAndChallenge структуры, как это определено ниже, publicKeyAndChallenge поле значение publicKeyAndChallenge структуры, signatureAlgorithm поле установлен алгоритм структуры и подпись поле значение STRING BIТ подпись на предыдущем шаге. [X690]
  7. Вернуться в результате base64 кодирования результат кодирования ASN.1 DER signedPublicKeyAndChallenge структуры. [RFC4648] [X690]

Данные объекты, используемые выше алгоритма определяется следующим образом. Эти определения используют тот же «ASN.1, как» синтаксис определяется RFC 5280. [RFC5280]

Ограничение проверки : keygen элемента запрещено ограничение проверки .

form  атрибут используется для явного связать keygen  элемент с формой владельца.

name  атрибут представляет имя элемента.

disable атрибут используется для управления неинтерактивном и предотвратить ее значение представляется.

autofocus  атрибут управляет фокусом.

Note: Эта спецификация не определяет, как закрытый ключ генерируется для использования. Ожидается, что после получения SignedPublicKeyAndChallenge (SPKAC) структуры, сервер выдаст сертификат клиента и предложить его обратно пользователю для загрузки, это свидетельство, когда загружаются и хранятся в хранилище ключей вместе с закрытым ключом, может быть используется для проверки подлинности для служб, которые используют TLS и сертификат подлинности.

Для создания пары ключей, добавьте секретный ключ для хранилища ключей пользователя, и представить публичный ключ на сервер, разметки, такие как следующие могут быть использованы:

Сервер будет принимать форму представления с упакованной открытым ключом RSA в качестве значения «key». Это может быть использована для различных целей, таких как создание клиентских сертификатов, как уже упоминалось выше.

<form action="processkey.cgi" method="post" enctype="multipart/form-data">
 <p><keygen name="key"></p>
 <p><input type=submit value="Submit key..."></p>
</form>

Тег hgroup — группировка заголовков

hgroup  элемент представляет заголовок раздела. Элемент используется для группировки набора h1 — h6  элементов, когда заголовок состоит из нескольких уровней, таких как подзаголовки, альтернативные названия или лозунги.

Для целей резюмирования документа, очерка, и тому подобное, текст hgroup элементов определяется как текст самого высокого рейтинга h1 — h6 элементов потомков hgroup  элемента, если есть такие элементы, и первый такой элемент если есть несколько элементов имеет ранг. Если таких элементов нет, то текст hgroup  элемента является пустой строкой.

Другие элементы заголовка содержания в hgroup элемента указывают подзаголовки или субтитры.

Ранг в hgroup звание самого высокого по рангу h1 — h6 элемент потомком hgroup  элемента, если есть такие элементы, или в противном случае такой же, как h1  элементов (самого высокого ранга).

В разделе, посвященном рубрикам и разделам определяет, как hgroup  элементы относятся к отдельным разделам.

Вот некоторые примеры правильных заголовков. В каждом случае выделенный текст представляет собой текст, который будет использоваться в качестве заголовка в приложении извлечения данных заголовка и игнорирование подзаголовков.

<hgroup>
 <h1>The reality dysfunction</h1>
 <h2>Space is not the only void</h2>
</hgroup>
<hgroup>
 <h1>Dr. Strangelove</h1>
 <h2>Or: How I Learned to Stop Worrying and Love the Bomb</h2>
</hgroup>

Смысл использования hgroup  в этих примерах, чтобы замаскировать h2 элемент (который выступает в качестве вторичного название) из схемы алгоритма.