Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
142
Добавлен:
10.05.2015
Размер:
171.01 Кб
Скачать

9. Новые возможности гипертекстовой разметки в HTML 5.0

Цель лекции: представить новые возможности разметки веб-страниц, предоставляемые в рамках спецификации HTML5 для веб-разработчиков.

HTML5 - пятая версия HTML-стандарта и находится в стадии разработки. Основной её целью является улучшить язык, поддерживающий работу с новейшими мультимедийными приложениями, при этом сохраняется лёгкость чтения кода для человека и ясность исполнения для компьютеров и приложений (веб-браузеры, синтаксические анализаторы и т.д.).

HTML5 включает в себя не только HTML 4, но и XHTML 1, а также DOM2HTML (особенно JavaScript).

HTML5 - также попытка определить единый язык разметки, который мог бы быть написан как в HTML, так и в XHTML и был бы синтаксически корректен. Он включает в себя детальные модели обработки, чтобы поддерживать больше взаимодействующих процессов; он расширяет, улучшает и рационализирует разметку, пригодную для документов, и вводит разметку и API для сложных веб-приложений.

В HTML5 добавлено много новых синтаксических особенностей. Например, элементы <video>, <audio>, <header> и <canvas> такие же как и в SVG. Эти особенности разработаны для того, чтобы сделать проще внедрение и управление графическими и мультимедийными объектами в сети Веб без обращения к плагинам и API. Другие новые элементы, такие как <section>, <article>, <header> и <nav> разработаны для того, чтобы более представлять более структурировано семантическое содержимое документа (страницы). Новые атрибуты были введены с той же целью, хотя при этом некоторые из ранее существоваших элементов и атрибутов были удалены. Некоторые элементы, например, <a>, <menu> и <cite> были изменены, переопределены или стандартизированы.

API и DOM являются фундаментальными частями спецификации HTML5.

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

В дополнение к определению разметки HTML5 устанавливается сценарный интерфейс прикладного программирования (API). Существующий интерфейс DOM расширен.

Также добавлены новые API, например:

  1. элемент Canvas для непосредственного метода рисования в 2D.

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

  3. хранение баз данных off-line;

  4. редактирование документа;

  5. перетаскивание объектов на веб-странице (drag-and-drop);

  6. управление историей браузера;

  7. тип MIME и регистрация обработчика протокола;

  8. поддержка микроданных.

    1. Хотя, что HTML5 может обеспечивать анимацию внутри веб-страницы, это утверждение требует уточнения. Для поддержки такой возможности необходимо привлечение JavaScript или CSS 3. Новый элемент управления Canvas служит для отображения графики на виртуальном "полотне". Описание элемента дается в следующем виде:

    2. <canvas height="значение высоты"

    3. width="значение ширины">

    4. </canvas>

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

    1. Отдельные элементы веб-страницы и текста можно перемещать в окне веб-браузера с помощью мыши. Эта возможность реализована с помощью функции перетаскивания (drag-and-drop) через атрибуты элементов HTML5. По умолчанию можно перетаскивать ссылки, выделенные текстовые фрагменты и изображения.

    2. К существовавшим ранее элементам управления веб-форм добавились новые элементы: селектор даты и времени, элементы задания числового диапазона, цвета, адреса электронной почты, URL, номера телефона. Появились также новые атрибуты у элементов управления.

    3. Пользователь может править содержимое элементов HTML5. Для этого достаточно атрибуту contenteditable присвоить логическое значение true.

    4. Объект history позволяет перемещаться вперед и назад по состояниям веб-страниц, которые просматривались в веб-браузере. Пользователь также может помещать текстовые данные в предысторию текущей страницы для последующего их восстановления.

    5. Используя простой код JavaScript и HTML5, можно сохранять данные с текущей веб-страницы для последующего их восстановления даже после полной ее перезагрузки. Эти данные могут сохраняться глобально в текущем сеансе (в течение 15 минут, при отсутствии активности пользователя), либо локально в самом веб-браузере.

Семантическая разметка в HTML5

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

В HTML5 появились новые элементы для сруктурирования веб-страницы:

  • header - содержимое верхней (начальной) части страницы или ее секции

  • footer - содержимое нижней (завершающей) части страницы или ее секции

  • section - секция веб-страницы

  • article - содержимое внешней статьи

  • aside - связанное содержимое или фрагмент

  • nav - навигационные ссылки

Ко всем из перечисленных элементов могут применяться стили CSS. Фактически, как уже отмечалось, когда мы рассматривали применение принципа полезности при проектировании веб-страниц, HTML5 поощряет разделение представления и содержимого, поэтому для стилевого оформления страниц HTML5 рекомендуется использовать CSS.

HTML5 вводит не только новые семантические элементы, но и новые упрощенные способы поиска элементов в DOM-модели страниц.

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

  • getElementById - возвращение элемента с указанным значением атрибута id

  • getElementsByName - возвращение всех элементов с атрибутами name, имеющиюми указанное значение

  • getElementsByTagName - возвращение всех элементов, имя дескриптора которых соответствует указанному имени тега.

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

К сожалению, не все (или не в полной мере) из новшеств спецификации HTML5 на сегодняшний день поддерживаются веб-браузерами.

XHTML5 - это, по-сути, XML-сериализация языка HTML5. Документы XML должны быть снабжены нотацией XML Internet media type, например, application/xhtml+xml или application/xml.

XHTML5 требует соблюдения строгого и правильно оформленного синтаксиса XML. Выбор между HTML5 и XHTML5 сводится к выбору типа MIME содержимого. В HTML5 и XHTML5 doctype html необязателен и может быть просто пропущен.

Спецификация HTML5 предъявляет определенные требования как к клиентским приложениям (браузерам), так и к документам.

Документы могут не всегда содержать корректный синтаксис, но HTML5-совместимые браузеры, так же, как и их предшественники, применяют алгоритмы разбора ошибок разметки в документах для построения правильной объектной модели (DOM).

В старых версиях браузеров новые теги HTML5 будут игнорироваться.

Отличия HTML5 от HTML 4.01 и XHTML 1.x:

  • Новые правила синтаксического анализа.

  • Возможность использовать встроенные SVG и MathML в text/html.

  • Новые элементы: article, aside, audio, bdo, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, meter, nav, output, progress, rp, rt, ruby, section , source, summary, time, video, wbr.

  • Новые типы средств управления за формой: dates and times, email, url, search, number, range, tel, color.

  • Новые атрибуты: charset (в meta), async (в script).

  • Глобальные атрибуты, которые могут быть применены ко всем элементам: id, tabindex, hidden, data-* (пользовательские атрибуты данных).

  • Элементы, которые будут исключены: acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt.

В приведенной ниже таблице сведены все теги HTML с указанием новых элементов (выделены зеленым цветом), появившихся в 5-ой версии, и элементов более не поддерживаемых в новой версии HTML (выделены серым).

Элемент

Описание

<!-- -->

Определяет комментарии

<!DOCTYPE>

Определяет тип документа

<a> </a>

Определяет гиперссылку

<abbr> </abbr>

Определяет аббревиатуру

<acronym> </acronym>

Не поддерживается в HTML 5

<address> </address>

Отображают текст в формате адреса

<applet> </applet>

Не поддерживается в HTML 5

<area />

Определяeт активную область навигационной карты

<article> </article>

Определяет внешний контент

<aside> </aside>

Определяет дополнительный контент

<audio> </audio>

Определяет фоновый звук

<b> </b>

Отображают часть текста полужирным шрифтом

<basefont>

Не поддерживается в HTML 5

<bdo> </bdo>

Определяет направление текста

<big> </big>

Не поддерживается в HTML 5

<blockquote> </blockquote>

Определяет блочную цитату

<body> </body>

Определяет тело документа

<br />

Осуществляет перенос строки

<button> </button>

Создают кнопку

<caption> </caption>

Определяет надпись над таблицей

<center> </center>

Не поддерживается в HTML 5

<cite> </cite>

Преобразуют текст в наклонный (курсивный)

<code> </code>

Преобразуют текст в моноширинный

<col />

Определяет свойства колонок таблицы

<colgroup> </colgroup>

Группируют колонки таблицы

<command> </command>

Добавляют команду к кнопке

<datalist> </datalist>

Определяет допустимые значения

<dd> </dd>

Определяет определение списка определений

<del> </del>

Отображают перечеркнутый текст

<details> </details>

Определяет детали документа

<dialog> </dialog>

Определяет диалог

<dfn> </dfn>

Преобразуют шрифт в наклонный

<dir> </dir>

Не поддерживается в HTML 5

<div> </div>

Определяет секцию документа

<dl> </dl>

Создают список определений

<dt> </dt>

Oпределяют определяемый термин

<em> </em>

Преобразуют текст в наклонный (курсивный)

<embed />

Внедряет интерактивный объект

<fieldset> </fieldset>

Объединяют элементы формы

<figure> </figure>

Группируют элементы страницы

<font> </font>

Не поддерживается в HTML 5

<footer> </footer>

Нижняя часть документа

<form> </form>

Определяет HTML форму

<frame />

Не поддерживается в HTML 5

<frameset> </frameset>

Не поддерживается в HTML 5

<h1> </h1> - <h6> </h6>

Определяет заголовки

<head> </head>

Содержат информацию о документе, инструкции

<header> </header>

Определют верхнюю секцию документа

<hgroup> </hgroup>

Определяет группу заголовков

<hr />

Создает горизонтальную линию

<html> </html>

Определяет HTML документ

<i> </i>

Преобразуют текст в наклонный (курсивный)

<iframe> </iframe>

Создают документ внутри документа

<img />

Определяет изображение

<input />

Создаeт поля для ввода данных, кнопки

<ins> </ins>

Преобразуют текст в подчеркнутый

<kbd> </kbd>

Преобразуют текст в моноширинный

<label> </label>

Определяет лeйбу для тега <input />

<legend> </legend>

Заголовок для тегов <fieldset> </fieldset>

<li> </li>

Определяет элемент (пункт) списка

<link />

Определяет ссылку на внешний источник

<map> </map>

Определяет навигационную карту

<mark> </mark>

Определяет важную часть текста

<menu> </menu>

Определяет список-меню

<meta />

Содержит информацию о документе

<nav> </nav>

Определяет группу ссылок

<noframes> </noframes>

Не поддерживается в HTML 5

<noscript> </noscript>

Предупредят если браузер не читает скрипты

<object />

Внедряет объекты в web-страницу

<ol> </ol>

Определяет упорядоченный (нумерованный) список

<optgroup> </optgroup>

Определяет группу элементов <option> </option>

<option> </option>

Определяет элемент выпадающего списка

<p> </p>

Определяет параграф

<param />

Определяет проигрыватель

<pre> </pre>

Определяет отформатированный текст

<q> </q>

Определяет короткую цитату

<s> </s>

Не поддерживается в HTML 5

<samp> </samp>

Преобразуют текст в моноширинный

<script> </script>

Определяет скрипт

<section> </section>

Определяет секцию документа

<select> </select>

Определяет выпадающий список

<small> </small>

Преобразуют обычный текст в текст более мелкий

<span> </span>

Определяет линейную секцию в документе

<strike> </strike>

Не поддерживается в HTML 5

<strong> </strong>

Преобразуют шрифт в полужирный

<style> </style>

Определяет стилевые описания

<sub> </sub>

Преобразуют обычный текст в текст в нижнем индексе

<sup> </sup>

Преобразуют обычный текст в текст в верхнем индексе

<table> </table>

Определяет таблицу

<tbody> </tbody>

Определяет тело таблицы

<td> </td>

Определяет ячейку таблицы

<textarea> </textarea>

Определяет текстовое поле

<tfoot> </tfoot>

Определяет нижнюю часть таблицы

<th> </th>

Определяет заголовок таблицы

<thead> </thead>

Определяет верхнюю часть таблицы

<time> </time>

Определяет дату или время

<title> </title>

Определяет основной заголовок документа

<tr> </tr>

Определяет табличный ряд

<u> </u>

Не поддерживается в HTML 5

<ul> </ul>

Определяет ненумерованный список

<var> </var>

Определяет переменную

<video> </video>

Размещает видео-ролик на web-странице