Мир меняется, а вместе с ним меняется и мир интернет-стандартов. Недавно рабочая группа консорциума W3C опубликовала черновой вариант пятой версии стандарта HTML - языка разметки гипертекста, что используется для формирования содержания в WWW (www.w3.org/2008/02/html5-pressrelease). Предыдущая, четвёртая, версия этого стандарта служила верой и правдой больше десяти лет, и вот пришло время немного обновиться.
По правде говоря, злые языки твердят, что знание этого HTML для создания успешных веб-проектов давно уже не является необходимым делом. И в доказательство этой глубокой мысли приводят пример заглавной страницы поисковика Google, чей аскетизм, согласно легендам, обусловлен именно незнанием основателями этой корпорации html-тегов. Но основатели Google - это люди великие, а вот простым смертным веб-разработчикам знать и изучать новые особенности этого стандарта нужно обязательно.
А изучать-то особенно много и не придётся. Пятая версия не является революцией и не содержит в себе такое уж большое количество дополнений и изменений. HTML 5 похож на дерево в саду, которое давно уже сформировалось и выросло и у которого просто появились некоторые новые ветки, а другие садовник удалил.
В данной статье и посмотрим, что же появилось в новом стандарте, а что было сдано в архивы компьютерной истории. Несмотря на то, что пока мы имеем лишь черновой вариант пятой версии и многое может ещё измениться, на мой взгляд, финальная версия вряд ли будет кардинально отличаться от черновика.
Для меня самыми любопытными стали новые элементы <audio> и <video>. Мультимедиа народ очень любит и уважает, и уже давно пора нам увидеть какой-нибудь стандарт интернет-мультимедиа в дополнение к ныне весьма распространённому Flash.
У норвежской компании Opera уже есть браузер с частичной поддержкой тега video. Уже сейчас можно загрузить версию браузера Opera 9.50 для демонстрации работы этого тега. В Opera на данный момент реализована поддержка кодека Ogg Theora.
В стандарте HTML 5 в дополнение к тегам <audio> и <video> также прилагается элемент <source> для вставки ссылок на аудио- и видеофайлы в нескольких альтернативных форматах, из которых браузер сможет делать наиболее предпочтительный выбор из имеющихся в системе кодеков.
Ещё одним новым мультимедийным тегом является элемент <canvas>. Этот тег придумала и реализовала в своём браузере Safari компания Apple. Идею подхватили Mozilla и добавили поддержку тега canvas в движок Gecko, используемый в Firefox. Затем инновацию поддержала компания Opera.
Этот элемент предназначен для рисования динамической 2D-графики непосредственно в браузере средствами специального API. Это, например, динамически создаваемый график функции, всякие диаграммы и т.д. Раньше для этого использовались ява-апплеты или Flash, что не всегда было приемлемо, так как требовало установки отдельных плагинов.
Из новых тегов следует также отметить логические <header>, <nav>, <article>, <aside> и <footer>. Уже давно создателями веб-контента используется типовая структура страницы сайта: заголовок-шапка, раздел навигации, основное содержание, дополнительное содержание, нижний колонтитул. Раньше всю эту логику определяли через блок <div>. В новой версии HTML за эту логику документа уже отвечают вышеперечисленные теги. Элемент nav предназначен для навигационных ссылок. Article определяет основной контент документа, страницы или сайта. Контейнер aside используется для вспомогательных материалов и информации. Элемент footer представляет собой аналог нижнего колонтитула для страницы "бумажного" документа, где содержатся ссылки на связанные материалы, информация о правах на копирование и т.д. Header - это, естественно, общий заголовок сайта.
Но не могу сказать, что эти логические элементы так уж актуальны и необходимы среднестатистическому веб-кодеру, но они и не помешают.
Кроме новых дополнительных возможностей для веб-разработчиков, не забыты также и простые пользователи. Изменения в стандарте HTML 5 для пользователей обеспечивают прежде всего больший комфорт при работе с формами. Например, через тег <datalist> можно создавать комбо-боксы из простого поля ввода наподобие адресной строки браузера, когда значение в поле можно или ввести вручную, или выбрать из выпадающего списка. Ещё в стандарте определена возможность проверки на стороне браузера вводимых данных по типу дата, время, месяц, число, год, email, URL.
Пользователю браузера новый стандарт предполагает дать возможность перетаскивания элементов мышкой, а также возможность редактировать элементы, что раньше было возможно лишь в Firefox через установку соответствующего расширения.
Теперь скажем о том, каких элементов и атрибутов в новом стандарте не будет. В основном, исключаются элементы и атрибуты, которые отвечают за отображение и типографический вид элементов. Из элементов это <basefont>, <big>, <center>, <font>, <s>, <strike>, <tt>, <u.>. То есть удаляется то, что можно реализовать средствами CSS. Но всё же популярные народные теги <b> и <i> в новой версии стандарта оставили.
Фреймов и, соответственно, элементов <frame>, <frameset>, <noframes> тоже не будет. Как-то невзлюбили разработчики эту фишку. Что ж, насильно мил не будешь.
В наступившую эпоху тотального господства XML стандарт HTML 5 будет, на радость педантам, иметь возможность соответствовать жёстким требованиям XML-синтаксиса. Проще говоря, в html-документе всё должно быть без ошибок, все теги должны быть обязательно закрыты. Это способствует тому, чтобы писать более качественную разметку, даёт возможность интеграции с другими XML-стандартами (например, SVG и MathML). А то, понимаешь, попривыкли кривой код писать, а потом жалуются на производителей браузеров.
Кстати, несколько слов о производителях этих самых браузеров и, в особенности, о разработчиках самого "передового" браузера в мире Internet Explorer.
Пока разработчики Apple, Opera, Mozilla, не жалея живота своего, активно содействуют развитию новых возможностей в новом стандарте HTML, Microsoft по старой доброй традиции занимается своими любимыми происками и переделыванием стандарта под себя. Сейчас в Microsoft стараются избежать повторения казуса, возникшего с выходом Internet Explorer 7, когда многие сайты, оптимизированные под предыдущую, шестую версию IE, стали криво отображаться в новой версии браузера. Предложение MS заключается в том, чтобы в каждом документе указывалось в дополнительном теге, для каких браузеров он был предназначен, а более новая версия браузера эмулировала бы рендеринг каждой старой версии в соответствии с этим указанием. Естественно, идея эмулировать предыдущие версии IE мало вдохновила остальных создателей браузеров. В конце концов, есть же тег комментариев <!- ->. Как сказали на одном из форумов, пусть в нём и указывают, что хотят. Хотя, учитывая мощь рэдмондского гиганта в области де-юре, думаю, своего Microsoft добьется.
Но де-факто самыми прогрессивными браузерами на данный момент следует считать Opery, Firefox. Именно с их помощью можно практически усвоить уже сейчас некоторые вещи из будущего стандарта HTML 5. А кто первый начинает, тот и выигрывает.
Михаил АСТАПЧИК
Горячие темы