Архив рубрики: Новые теги HTML5

Тег 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 элемент (который выступает в качестве вторичного название) из схемы алгоритма.

Тег header — заголовок документа

header элемент представляет группу вводных или навигационных средств.

Note: header элемент предназначен обычно для включения названия раздела (h1 - h6 элемент или hgroup  элемент), но это не требуется. header  элемент также может быть использован для упаковки таблицы разделяемого содержания, формы поиска, или любых логотипов.

Вот некоторые примеры заголовков. Это первая для игры:

<header>
 <p>Welcome to...</p>
 <h1>Voidwars!</h1>
</header>

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

<header>
 <hgroup>
  <h1>Scalable Vector Graphics (SVG) 1.2</h1>
  <h2>W3C Working Draft 27 October 2004</h2>
 </hgroup>
 <dl>
  <dt>This version:</dt>
  <dd><a href="http://www.w3.org/TR/2004/WD-SVG12-20041027/">http://www.w3.org/TR/2004/WD-SVG12-20041027/</a></dd>
  <dt>Previous version:</dt>
  <dd><a href="http://www.w3.org/TR/2004/WD-SVG12-20040510/">http://www.w3.org/TR/2004/WD-SVG12-20040510/</a></dd>
  <dt>Latest version of SVG 1.2:</dt>
  <dd><a href="http://www.w3.org/TR/SVG12/">http://www.w3.org/TR/SVG12/</a></dd>
  <dt>Latest SVG Recommendation:</dt>
  <dd><a href="http://www.w3.org/TR/SVG/">http://www.w3.org/TR/SVG/</a></dd>
  <dt>Editor:</dt>
  <dd>Dean Jackson, W3C, <a href="mailto:dean@w3.org">dean@w3.org</a></dd>
  <dt>Authors:</dt>
  <dd>See <a href="#authors">Author List</a></dd>
 </dl>
 <p><a href="http://www.w3.org/Consortium/Legal/ipr-notic ...
</header>
Note: header элемент не вводит новый раздел.

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

<body>
 <header>
  <h1>Little Green Guys With Guns</h1>
  <nav>
   <ul>
    <li><a href="/games">Games</a>
    <li><a href="/forum">Forum</a>
    <li><a href="/download">Download</a>
   </ul>
  </nav>
  <h2>Important News</h2> <!-- this starts a second subsection -->
  <!-- this is part of the subsection entitled "Important News" -->
  <p>To play today's games you will need to update your client.</p>
  <h2>Games</h2> <!-- this starts a third subsection -->
 </header>
 <p>You have three active games:</p>
 <!-- this is still part of the subsection entitled "Games" -->
 ...

Тэг footer — нижний колонтитул

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

Note: Контактную информацию автора или редактора раздела помещают в тег address, возможно, сам footer.

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

Note: footer элемент не вводит новый раздел.

Вот страница с двумя нижними колонтитулами, один вверху и один внизу, с тем же содержанием:

<body>
 <footer><a href="../">Back to index...</a></footer>
 <hgroup>
  <h1>Lorem ipsum</h1>
  <h2>The ipsum of all lorems</h2>
 </hgroup>
 <p>A dolor sit amet, consectetur adipisicing elit, sed do eiusmod
 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
 veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
 ea commodo consequat. Duis aute irure dolor in reprehenderit in
 voluptate velit esse cillum dolore eu fugiat nulla
 pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
 culpa qui officia deserunt mollit anim id est laborum.</p>
 <footer><a href="../">Back to index...</a></footer>
</body>

Вот пример, который показывает как footer используется для веб-узла в целом и для статьи отдельно.

<!DOCTYPE HTML>
<HTML><HEAD>
<TITLE>The Ramblings of a Scientist</TITLE>
<BODY>
<H1>The Ramblings of a Scientist</H1>
<ARTICLE>
 <H1>Episode 15</H1>
 <VIDEO SRC="/fm/015.ogv" CONTROLS PRELOAD>
  <P><A HREF="/fm/015.ogv">Download video</A>.</P>
 </VIDEO>
 <FOOTER> <!-- footer for article -->
  <P>Published <TIME DATETIME="2009-10-21T18:26-07:00">on 2009/10/21 at 6:26pm</TIME></P>
 </FOOTER>
</ARTICLE>
<ARTICLE>
 <H1>My Favorite Trains</H1>
 <P>I love my trains. My favorite train of all time is a K?f.</P>
 <P>It is fun to see them pull some coal cars because they look so
 dwarfed in comparison.</P>
 <FOOTER> <!-- footer for article -->
  <P>Published <TIME DATETIME="2009-09-15T14:54-07:00">on 2009/09/15 at 2:54pm</TIME></P>
 </FOOTER>
</ARTICLE>
<FOOTER> <!-- site wide footer -->
 <NAV>
  <P><A HREF="/credits.html">Credits</A> —
     <A HREF="/tos.html">Terms of Service</A> —
     <A HREF="/index.html">Blog Index</A></P>
 </NAV>
 <P>Copyright © 2009 Gordon Freeman</P>
</FOOTER>
</BODY>
</HTML>

Некоторые дизайны сайтов включают то, что иногда называют «жирные нижние колонтитулы» — подвалы, которые содержат большое количество материалов, включая изображения, ссылки на другие статьи, ссылки на страницы для отправки обратной связи, специальные предложения… В некотором роде исполняя роль «главной страницы» в подвале.

В этом фрагменте показан низ страницы на сайте с «жирным подвалом»:

...
 <footer>
  <nav>
   <section>
    <h1>Articles</h1>
    <p><img src="images/somersaults.jpeg" alt=""> Go to the gym with
    our somersaults class! Our teacher Jim takes you through the paces
    in this two-part article. <a href="articles/somersaults/1">Part
    1</a> · <a href="articles/somersaults/1">Part 2</a></p>
    <p><img src="images/kindplus.jpeg"> Tired of walking on the edge of
    a clif<!-- sic -->? Our guest writer Lara shows you how to bumble
    your way through the bars. <a href="articles/kindplus/1">Read
    more...</a></p>
    <p><img src="images/crisps.jpeg"> The chips are down, now all
    that's left is a potato. What can you do with it? <a
    href="articles/crisps/1">Read more...</a></p>
   </section>
   <ul>
    <li> <a href="/about">About us...</a>
    <li> <a href="/feedback">Send feedback!</a>
    <li> <a href="/sitemap">Sitemap</a>
   </ul>
  </nav>
  <p><small>Copyright © 2015 The Snacker —
  <a href="/tos">Terms of Service</a></small></p>
 </footer>
</body>

Тег command — команда пользователя

Тег command — команда пользователя

Тег command представляет собой команду, которую пользователь может вызвать.

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

Тег command, который использует type, label, icon, disabled, checked, radiogroup, и title атрибуты определяет новую команду. Тег command, который использует атрибут command определяет команду со ссылкой на другой тег. Это позволяет авторам определить команду один раз, и установить его состояние (например, является ли он active или disabled) в одном месте, и все ссылки на эту команду пользовательского интерфейса, изменятся одновременно.

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

Атрибут является перечислимым типом с тремя ключевыми словами, т. е. состояниями. Ключевое слово «command» сопоставляется нормальной команде, ключевое слово «checkbox» соответствует состоянию, когда опции или состояния могут быть переключены и «radio» соответствует выбору одного элемента из списка. Отсутствующее значение атрибута — по умолчанию командный режим.

  • Командный режим — Элемент представляет собой нормальную команду связаную с действием.
  • Checkbox — Элемент представляет собой состояния или опции, которые могут быть отключены.
  • Radio — Элемент представляет собой выбор одного элемента из списка элементов.

Атрибут label дает имя команды, которое будет показано пользователю. Атрибут должен быть определен и должен иметь значение — не пустая строка.

Атрибут title подсказывает описание команды, которое может быть показаны пользователю, чтобы помочь ему.

Атрибут icon дает рисунок, который представляет команда. Если атрибут указан, значение атрибута должно содержать корректный непустой URL потенциально окруженный пробелами. Для получения абсолютного URL иконки, когда значение атрибута не является пустой строкой, значение атрибута должно быть разрешено по отношению к элементу. Если атрибут отсутствует или его значение является пустой строкой, или разрешение его значения вызывает сбой — иконка не отображается.

Атрибут disable — логический атрибут, который, если он присутствует, указывает, что команда недоступна в текущем состоянии.

Note: Есть тонкое различие между disable и hidden. Команда может быть отключена, если в том же контексте, она может быть включена, если только некоторые аспекты ситуации были изменены. Команда будет отмечена как скрытая, если в этой ситуации, команда никогда не будет включена. Например, в контекстном меню для водопроводного крана, команда «открыт» может быть отключена, если кран уже открыт, но команда «съесть» будет отмечена как скрытая, так как кран никогда не может быть съеден.

Атрибут checked — логический атрибут, который, если он присутствует, указывает, что команда выбрана. Атрибут может быть применен, если атрибут type либо в состоянии checkbox, либо radio.

Атрибут radiogroup дает имя (label) для группы команд, которые будут переключаться, когда команда сама переключается, для команд, чей атрибут type имеет значение «radio«. Область действия этого имени — список дочерних элементов. Атрибут должен быть опущен, если атрибут type в radio состоянии.

Если тег command Раб имеет command атрибут и Раб находится в документе, то в документе присутствует элемент ID которого по значеню равно значению коммандного аттрибута раба и первый такой элемент в древе, в дальнейшем является мастером, сам себе назначает комманду, либо не является командным элементом, либо сам не имеет атрибута command, вот после всего этого «Master comand» Раба сам является мастером.

Вот пример панели инструментов с тремя кнопками, которая представляет пользователям команды выравнивания. Можно применить такую панель инструментов как часть редактора текста. На панели инструментов также за сепаратором hr есть кнопка, «Publish», хотя эта кнопка — инвалиды.

<menu type="toolbar">
 <command type="radio" radiogroup="alignment" checked="checked"
          label="Left" icon="icons/alL.png" onclick="setAlign('left')">
 <command type="radio" radiogroup="alignment"
          label="Center" icon="icons/alC.png" onclick="setAlign('center')">
 <command type="radio" radiogroup="alignment"
          label="Right" icon="icons/alR.png" onclick="setAlign('right')">
 <hr>
 <command type="command" disabled
          label="Publish" icon="icons/pub.png" onclick="publish()">
</menu>

Теги details и summary

Теги details и summary

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

Note: Тег details не подходит для сносок. Пожалуйста, обратитесь к разделу примечаний для получения подробностей о том, как помечать сноски.

Тег summary представляет собой резюме, заголовок, или легенда для остального содержания родительского элемента details, если таковой имеется.

Первый дочерний элемент summary тега details, если таковой имеется, представляет собой резюме или легенду о деталях. Если нет дочерних элементов, агент пользователя должен обеспечивать свою легенду (например, «Подробности»).

Остальное содержимое элемента представляет дополнительную информацию или элементы управления.

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

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

ПА (броузер) должен позволить пользователю запросить дополнительную информацию которую можно показать или скрыть. На запрос деталей, которые будут показаны, агент пользователя должен установить атрибут open элемента со значением ‘open‘. На запрос скрыть, агент пользователя должен удалить атрибут open элемента.

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

<section>
 <h1>Copying "Really Achieving Your Childhood Dreams"</h1>
 <details>
 <summary>Copying... <progress max="375505392" value="97543282"></progress> 25%</summary>
 <dl>
 <dt>Transfer rate:</dt> <dd>452KB/s</dd>
 <dt>Local filename:</dt> <dd>/home/rpausch/raycd.m4v</dd>
 <dt>Remote filename:</dt> <dd>/var/www/lectures/raycd.m4v</dd>
 <dt>Duration:</dt> <dd>01:16:27</dd>
 <dt>Color profile:</dt> <dd>SD (6-1-6)</dd>
 <dt>Dimensions:</dt> <dd>320?240</dd>
 </dl>
 </details>
</section>

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

<details>
 <summary><label for=fn>Name & Extension:</label></summary>
 <p><input type=text id=fn name=fn value="Pillar Magazine.pdf">
 <p><label><input type=checkbox name=ext checked> Hide extension</label>
</details>

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

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

Поскольку атрибут open добавляется и удаляется автоматически, когда пользователь взаимодействует с контролем, он может быть использован в CSS стилях элемента по-разному в зависимости от его состояния. Здесь стиль используется для анимации цвета резюме, если элемент будет открыт или закрыт:

<style>
 details > summary { transition: color 1s; color: black; }
 details[open] > summary { color: red; }
</style>
<details>
 <summary>Automated Status: Operational</summary>
 <p>Velocity: 12m/s</p>
 <p>Direction: North</p>
</details>

Теги figure и figcaption

Теги figure и figcaption

Тег figure представляет некоторый поток, возможно, с заголовком, который является самодостаточным и, как правило, ссылается как единое целое от основного потока документа.

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

Первый дочерний элемент тега figure тег figcaption, если таковой имеется, представляет заголовок, содержание элемента. Если нет дочернего элемента figcaption, то нет никакой подписи.

Этот пример показывает элемент figure для разметки кода:

<p>In <a href="#l4">listing 4</a> we see the primary core interface
API declaration.</p>
<figure id="l4">
 <figcaption>Listing 4. The primary core interface API declaration.</figcaption>
 <pre><code>interface PrimaryCore {
 boolean verifyDataLine();
 void sendData(in sequence&lt;byte> data);
 void initSelfDestruct();
}</code></pre>
</figure>
<p>The API is designed to use UTF-8.</p>

а здесь мы видим применение элемента figure для разметки фотографии:

<figure>
 <img src="bubbles-work.jpeg"
 alt="Bubbles, sitting in his office chair, works on his
 latest project intently.">
 <figcaption>Bubbles at work</figcaption>
</figure>

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

<h2>Malinko's comics</h2>

<p>This case centered on some sort of "intellectual property"
infringement related to a comic (see Exhibit A). The suit started
after a trailer ending with these words:

<blockquote>
 <img src="promblem-packed-action.png" alt="ROUGH COPY! Promblem-Packed Action!">
</blockquote>

<p>...was aired. A lawyer, armed with a Bigger Notebook, launched a
preemptive strike using snowballs. A complete copy of the trailer is
included with Exhibit B.

<figure>
 <img src="ex-a.png" alt="Two squiggles on a dirty piece of paper.">
 <figcaption>Exhibit A. The alleged <cite>rough copy</cite> comic.</figcaption>
</figure>

<figure>
 <video src="ex-b.mov"></video>
 <figcaption>Exhibit B. The <cite>Rough Copy</cite> trailer.</figcaption>
</figure>

<p>The case was resolved out of court.

Здесь часть стихотворения отмечено, используя figure:

<figure>
 <p>'Twas brillig, and the slithy toves<br>
 Did gyre and gimble in the wabe;<br>
 All mimsy were the borogoves,<br>
 And the mome raths outgrabe.</p>
 <figcaption><cite>Jabberwocky</cite> (first verse). Lewis Carroll, 1832-98</figcaption>
</figure>

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

<figure>
 <img src="castle1423.jpeg" title="Etching. Anonymous, ca. 1423."
 alt="The castle has one tower, and a tall wall around it.">
 <img src="castle1858.jpeg" title="Oil-based paint on canvas. Maria Towle, 1858."
 alt="The castle now has two towers and two walls.">
 <img src="castle1999.jpeg" title="Film photograph. Peter Jankle, 1999."
 alt="The castle lies in ruins, the original tower all that remains in one piece.">
 <figcaption>The castle through the ages: 1423, 1858, and 1999 respectively.</figcaption>
</figure>