Первый взгляд на HTML 5

Original author: Lachlan Hunt
  • Translation

Preamble

В статье рассматриваются новые интересные возможности, которые предоставит пятая версия стандарта HTML. Приводится несколько примеров кода с применением новых тегов, а так же поясняются понятия HTML- и XML-сериализации с описанием преимуществ применения каждой из них.

Вводная «лирическая» часть текста сокращена, т.к. она во многом пересекается с ранее опубликованным обзорным постом об HTML 5, в котором был приведен фрагмент интервью того же автора.

Автор: Лахлан Хант, http://lachy.id.au
Оригинал: http://www.alistapart.com/articles/previewofhtml5
Перевод: Александр Мусаев, http://paradigm.ru

Введение

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

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

Структура

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

На иллюстрации приведена типовая разметка страницы с двумя колонками, сделанная с помощью контейнеров div с атрибутами class и id. В ней содержится «шапка», горизонтальный блок навигационных элементов, блок для основного текста страницы, вспомогательная колонка справа от него и нижний колонтитул.

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

Контейнеры div заменяются в нашем примере новыми элементами: header, nav, section, article, aside, и footer. HTML-код при этом принимает следующий вид:

<body>
  <header>...</header>
  <nav>...</nav>
  <article>
        <section>
            ...
        </section>
  </article>
  <aside>...</aside>
  <footer>...</footer>
</body>


Существует ряд причин отдавать предпочтение перечисленным выше новым тегам. Например, при их использовании снимается существовавшее ранее ограничение в шесть уровней заголовков (h1-h6). В спецификации подробно описан алгоритм формирования оглавления, в котором не только учитываются новые структурные элементы, но и сохраняется обратная совместимость с предыдущей версией стандарта. Это нововведение может быть использовано для автоматической генерации оглавлений, что упростит навигацию внутри веб-страниц.

В следующем примере совместно используются контейнеры section и h1:

<h1>Level 1</h1>
<section>
  <h1>Level 2</h1>
  <section>
    <h1>Level 3</h1>
  </section>
</section>


Обратите внимание, что для лучшей совместимости с существующими браузерами, помимо h1 так же возможно использование заголовков других уровней (h2-h6).

Когда предназначения секций страницы может быть автоматически определено по специфичным именам тегов, появляется возможность организации более легкой и эффективной навигации по документу. Например, пользователи смогут одним кликом проматывать оглавление, быстро переходя к содержательной части большого документа, или переходить от одной статьи к следующей. Что самое интересное, при этом становится вовсе необязательным добавление в страницу вспомогательных навигационных ссылок. Код при этом становится менее «захламлен» второстепенными деталями, без которых можно обойтись.
Элемент head интерпретируется как заголовок секции. Такие контейнеры при необходимости могут содержать не только, собственно, название, но и подзаголовок, историю изменений, ссылку на автора и любую другую информацию, которую логично отнести к заголовочной части.

<header>
  <h1>A Preview of HTML 5</h1>
  <p class="byline">By Lachlan Hunt</p>
</header>

<header>
  <h1>Example Blog</h1>
  <h2>Insert tag line here.</h2>
</header>


Элемент footer представляет собой завершающий блок секции, к которой относится (аналог нижнего колонтитула для страницы «бумажного» документа). Такие блоки, как правило, содержат вспомогательную информацию о секции. Например, ссылки на связанные материалы, информацию о правах на копирование и т.д.

<footer>© 2007 Example Inc.</footer>

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

<nav>
  <ul>
    <li><a href="/">Home</a></li>

    <li><a href="/products">Products</a></li>
    <li><a href="/services">Services</a></li>
    <li><a href="/about">About</a></li>

  </ul>
</nav>


Контейнер aside используется для вспомогательных материалов, например, для определения дополнительных колонок с второстепенным текстом (сайдбаров).

<aside>
  <h1>Archives</h1>

  <ul>
    <li><a href="/2007/09/">September 2007</a></li>
    <li><a href="/2007/08/">August 2007</a></li>
    <li><a href="/2007/07/">July 2007</a></li>
  </ul>
</aside>


Элемент section интерпретируется как секция общего назначения. Такой секцией может быть, например, параграф.

<section>
<h1>Chapter 1: The Period</h1>
<p>It was the best of times, it was the worst of times,
  it was the age of wisdom, it was the age of foolishness,
  it was the epoch of belief, it was the epoch of incredulity,
  it was the season of Light, it was the season of Darkness,
  ...</p>
</section>


(в примере приведена выдержка из «Повести о двух городах» Чарльза Диккенса)

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

<article id="comment-2">
  <header>
    <h4><a href="#comment-2" rel="bookmark">Comment #2</a>
      by <a href="http://example.com/">Jack O'Niell</a></h4>
    <p><time datetime="2007-08-29T13:58Z">August 29th, 2007 at 13:58</time>
  </header>

  <p>That's another great article!</p>
</article>


Аудио- и видеоматериалы

В последние годы аудиозаписи и видеоролики получили широкое распространение в интернете благодаря многочисленным сервисам, облегчающим их публикацию (YouTube, Google Video, MySpace, etc.). Из-за недостатка встроенных возможностей HTML, большинство сайтов, размещающих подобный контент, используют Flash, в качестве вспомогательного средства. Выбор этой технологии обычно обоснован тем, что Flash на данный момент имеет наиболее широкую поддержку среди браузеров, по-сравнению с альтернативными технологиями, с помощью которых можно было бы обеспечить воспроизведение мультимедиа-контента (QuickTime, Windows Media).

Огромное количество мультимедиа-плееров, написанных на Flash, является подтверждением того, что разработчики чаще всего предпочитают самостоятельно формировать их интерфейс, не смотря на то, что в большинстве случаев пользователям предоставляется одна и та же функциональность (воспроизведение, пауза, перемотка и управление громкостью). Планируется, что в будущем эти функции будут поддерживаться самими браузерами, что обеспечит базовую возможность для встраивания аудио- и видеозаписей в веб-страницы, а так же возможность управлять этими элементами через DOM API.
С помощью новых тегов video и audio это будет действительно просто. Большая часть функций их API будет совпадать, с одной лишь разницей в ориентации на воспроизведение визуального и невизуального материала.

У Opera и WebKit уже есть релизы с частичной поддержкой тега video. Уже сейчас можно загрузить экспериментальную версию браузера Opera или последнюю еженочную сборку WebKit для демонстрации работы приведенных ниже примеров кода. Opera имеет поддержку Ogg Theora, а WebKit понимает все форматы, что и QuickTime, включая кодеки сторонних разработчиков.

Самый простой способ вставки видеозаписи в веб-страницу состоит в применении контейнера video, как показано на следующем примере. Атрибут controls предназначен для определения того, нужно ли будет отобразить интерфейс стандартного медиаплеера или нет (в нашем случае элементы управления воспроизведением будут отображены).

<video src="video.ogv" controls poster="poster.jpg"
  width="320" height="240">
  <a href="video.ogv">Download movie</a>
</video>


Необязательный атрибут poster может быть использован для определения статического изображения, отображаемого в контейнере video до того, как начнется воспроизведение записи. Существуют форматы видео, которые имеют аналогичную встроенную возможность (напрмиер, MPEG4), но использование описанного выше подхода позволяет добиться этой функциональности без привязки к конкретному кодеку.



Точно таким же образом можно встраивать в документы аудиозаписи с помощью элемента audio. Большинство атрибутов у тегов audio и video совпадают, но у audio по понятным причинам отсутствуют width, height и poster.

<audio src="music.oga" controls>
  <a href="music.oga">Download song</a>
</audio>


В стандарте HTML 5 предусмотрен элемент source для вставки ссылок на аудио- и видеофайлы в нескольких альтернативных форматах, из которых браузер сможет делать выбор наиболее предпочтительного варианта, на основе поддерживаемых им кодеков и указанных в коде типов формата контента. При использовании вложенных тегов source, атрибут src контейнеров audio и video должен быть опущен, в противном же случае, теги source будут проигнорированы.

<video poster="poster.jpg">
  <source src="video.3gp" type="video/3gpp"
    media="handheld">
  <source src="video.ogv" type="video/ogg;
    codecs="theora, vorbis">
  <source src="video.mp4" type="video/mp4">
</video>

<audio>
  <source src="music.oga" type="audio/ogg">
  <source src="music.mp3" type="audio/mpeg">
</audio>


Для разработчиков, которые сами желают контролировать функционирование пользовательского интерфейса и обеспечивать лучшее его соответствие общему дизайну страниц, предоставлен специальный API, через который можно управлять процессом воспроизведения. В этом API определены методы play() и pause() (смысл которых понятен из названия), а так же свойство currentTime, которое в следующем примере используется для «перемотки» видеозаписи в начало.

<video src="video.ogg" id="video"></video>

<script>
  var video = document.getElementById("video");
</script>

<p>
  <button type="button" onclick="video.play();">Play</button>
  <button type="button" onclick="video.pause();">Pause</button>
  <button type="button" onclick="video.currentTime = 0;">
    << Rewind</button>
</p>


(похожий пример на opera.com)

Существует множество других атрибутов и функций API, помимо перечисленных в данной статье. Их подробное описание можно найти в актуальной на данный момент рабочей версии спецификации.

Представление документов

В отличии от предыдущих версий HTML и XHTML, описанных в терминах их собственного синтаксиса, HTML 5 описывается согласно терминам Document Object Model (DOM). Для внутреннего представления документа браузером используется древовидная структура.

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

Такое дерево содержит в себе элемент title в контейнере head, а так же h1 и p в body.

Основная причина (и преимущество) выбора DOM для определения стандарта HTML 5 состоит в том, что сам язык в таком случае может быть описан независимо от синтаксиса. Существуют два основных типа синтаксиса, согласно которым может быть представлен HTML документ: HTML-сериализация (так же известная как HTML 5) и XML-сериализация (или XHTML 5).
HTML-сериализация основана на обычном для более ранних версий синтаксисе HTML (созданном на базе SGML). Ее определение ориентировано на лучшее соответствие тому, как в действительности браузеры обрабатываю HTML.

<!DOCTYPE html>
<html>
  <head>
    <title>An HTML Document</title>
  </head>

  <body>
    <h1>Example</h1>
    <p>This is an example HTML document.
  </body>
</html>


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

XML-сериализация использует XML 1.0 и пространства имен, так же как и XHTML 1.0.

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>An HTML Document</title>
  </head>

  <body>
    <h1>Example</h1>
    <p>This is an example HTML document.</p>
  </body>

</html>


В отличие от предыдущего примера, здесь присутствует атрибут xmlns, а так же закрывающий тег p (чье наличие в контексте XML обязательно). Для определения разницы между сериализациями, браузеры будут использовать значение MIME-типа. Любой документ, определенный как text/html, должен соответствовать требованиям HTML-сериализации. В случае же если MIME-тип имеет значение application/xhtml+xml, должны быть удовлетворены требования XML-сериализации.

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

Преимущества использования HTML-сериализации:
  • Обратная совместимость.
  • Хорошо знакомый синтаксис по предыдущим версиям стандарта HTML.
  • «Мягкие» синтаксические правила, которые прощают мелкие ошибки. Благодаря этому, пользователи с меньшей вероятностью смогут увидеть сообщение от браузера о невозможности отображения документа (даже если ошибки в нем действительно присутствуют).
  • Удобный, лаконичный синтаксис, в котором можно опускать некоторые теги и значения ряда атрибутов.

Примечание переводчика: многие из перечисленных преимуществ так же являются и недостатками. В частности, снижение жесткости синтаксических правил автоматически провоцирует порождение небрежного, «грязного» кода.

Преимущества применения XHTML-сериализации:
  • Жесткие синтаксические правила XML заставляют писать более качественную разметку, что часто облегчает дальнейшую работу с контентом.
  • Интеграция с другими основанными на XML стандартами (например, SVG и MathML).
  • Совместимость со стандартными средствами обработки XML (часто применяется при обработке и публикации материалов).


Содействие развитию стандарта

Не смотря на то, что работа над HTML 5 идет семимильными шагами, до ее завершения остается еще немалое количество времени (по сегодняшним оценкам потребуется еще 10-15 лет). В течении этого времени, отзывы со стороны веб-дизайнеров, разработчиков CMS и браузеров, а так же иных специалистов, остаются крайне актуальными для успешного развития проекта. Инициатива всех желающих внести свой вклад в развитие HTML 5 не только приветствуется, но и активно поощряется.

Вспомогательные материалы и ссылки по теме:

Similar posts

Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 80

    +9
    На мой взгляд полезными тегами являются только video и audio. Header, nav, article - лишние усложнения.
      +7
      Согласен. Сейчас div с указанием адекватного id однозначно характеризует блок. Не очень понятно зачем вводить еще лишние теги. Имхо, надо стремиться не к расширению и усложнению, а к упрощению и универсализации.
        +5
        Главная проблема с новыми элементами — это совместимость со старыми браузерами. Возможно, нужно (ещё не поздно) пожертвовать наглядностью и простотой и ввести новый атрибут, который обозначает семантику элемента.
        Например: <div type="article"...
          0
          А чем не устраивает class?
            +1
            в class'е нет ни грамма семантики - сплошная "видимость"
              0
              это вы, батенька, с микроформатами не сталкиваись - как раз они проблему скрытой семантики классов прекрасно решают без подобных вышеописанным усложнений :)
          +1
          Сейчас div с указанием адекватного id однозначно характеризует блок.
          Обозначает-то он однозначно, только семантики от этого не прибавляется к сожалению. HTML 5 призван навести порядок в структуре документа и внести больше семантики.
            0
            Порядка там не будет еще очень долго. До тех пор пока все браузеры не будут адекватно понимать этот HTML5. Учитывая, что происходит сейчас с поддержкой некоторыми браузерами стандартов, то увы и ах :(
              0
              Не всё так плохо, если не учитывать IE:
              http://intertwingly.net/blog/index.html5
              (сайт использующий разметку HTML 5)
                0
                В том-то и загвоздка, если не учитывать IE (читай "больше половины пользовталей интернета"). Даже с появлением новой версии Осла с поддержкой HTML5 будет не все так просто. Ибо наверняка будут косяки, да и юзеры не так быстро пересаживаются на новую версию IE (7 вышла давно, а болшинство все еще 6 пользуются)
                  +2
                  Будем надеятся, что через несколько лет доля IE упадёт хотя бы до 50%.
                  А для этого есть все основания, и тенденции только подтверждают это:

                  Ну, а пока — только что прочитанный мною диалог в тему:
                  Borbus: How come Mozilla can do a thorough implementation of CSS yet Microsoft's dedicated team of paid programmers cannot?
                  Jim: Borbus, never mind Mozilla, how come iCab has a better CSS implementation than Internet Explorer, despite being the work of one person?
                    0
                    сафари не так и плох. когда дома, им пользуюсь
                      0
                      сафари стал довольно приличным брацзером, с выхода новой беты исправлено много косяков...но все равно использовать как основной браузер его неудобно
                      0
                      Даже если доля IE упадет до 50% и он при этом не будет поддерживать каку-либо технологию, то это большое основание не использовать ее (технологию), как это не прискорбно.
                        +1
                        Если доля IE упадёт 50%, то M$, прийдётся, таки, начать считаться со стандартами, и разработчиками, а не только преследовать свои корыстные цели.
                        Кстати, главный редактор HTML 5, Ian Hickson, сейчас работает в Google, так что, есть надежда, что Google заинтересован в стандарте, и будет проталкивать его.
                          0
                          Будем надеяться, конечно. Только, судя по всему это весьма далекая перспектива.
                      • UFO just landed and posted this here
                          –1
                          Скорее до тех пор пока остальные браузеры не научаться работать, например, с доменной авторизацией. Или поддерживать ActiveX, т.к. очень многое ныне на него завязано.
                            0
                            Мы же не хотим вторую Южную Корею, правда?
                            Остальные производители браузеров не будут поддерживать Active X, иначе бы уже давно поддержали, ещё на вершине популярности этой технологии в интернете. Так, что ждущим, ждать не стоит. Всё уже начало развиваться в сторону открытости.
                            0
                            Ну почему же... не забывайте об антимонопольных законах. Представьте если MS придётся убрать IE из стандартной поставки. Однажды так было WMPlayer'ом.
                          • UFO just landed and posted this here
                              0
                              А HTML 5 ждать 10-15 лет, судя по статье :-)
                              • UFO just landed and posted this here
                                  0
                                  Вот-вот, и я о том же! :)
                    +1
                    мне кажется наоборот это все упрощает - теперь не нужно придумывать "адекватный id однозначно характеризует блок". тем более что у каждого свое понимание "адекватного id", поэтому если под руки попадается верстка сделаная другим человеком, то обычно имена id и классов кажутся как раз неодыкватными

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

                    я бы кстати рекомендовал использовать именно имена этих тегов в качетве id или class, хоть какая-то стандартизация. а потом и перейти будет проще.
                      0
                      Лишние теги помогут, например, обрабатывать html-файлы программно.
                    +5
                    Через 10-15 лет уже будут нужны совсем другие тэги.. Да и вообще, будут ли ещё тэги.
                    Слишком долго они разрабатывать собираются, имхо.
                      +2
                      К счастью, в HTML 5 проглядывается некая модульность. Например: элементы CANVAS, VIDEO, AUDIO, Web Forms 2...
                      CANVAS уже поддерживается довольно неплохо в Opera, Safari, Firefox, а для IE написан "эмулятор".
                      Поддержка Web Forms 2 уже есть в Opera 9. Несколькими разразнёнными командами пишутся библиотечки для поддержки стандарта во всех основных браузерах.
                      Всего, сразу и везде, мы к сожалению не получим, но есть надежда получать "вкусности" порционально в течение 10-15 лет.
                        +1
                        Вашими бы устами..)
                      0
                      Лет через пять, когда MS IE 10 научится понимать HTML 5, буду пользоваться =)
                        +1
                        Ну выйдет скоро IE8 — думается даже намёков на html5 в нем не будет. =(
                          +2
                          Я думаю и в 10-я версии ничего не будет понимать.

                          "На wiki WHATWG сказано, что стандарт выйдет (внимание!) не ранее 2022 года (: А если учесть, что в оценке сроков разработчики обычно выдают слишком оптимистичные значения, так и вовсе можно расслабиться". :)
                          © http://www.paradigm.ru/2007/11/29/what-i…
                            0
                            Страшно. Я не думал, что все так плохо.
                            в 2022-м году вообще HTML не упрется никуда, я думаю.
                              0
                              Да, нет, HTML будет ещё долго жить, как основной информационный носитель в Интернет.
                              Вот, сколько лет уже есть компьютеры — бумага же не отмерла ещё... ;)
                                0
                                Как сказать.. Налицо тенденция увеличения интерактивности сайтов. Так что HTML если и выживет, то наконец-то станет именно тем, чем задумывался - языком разметки, а не дизайна или (упаси боже) управления.
                                  0
                                  средство достижения валидности. хихих
                                    0
                                    А что с управлением? Практически всё сводится к обычным формам, так или иначе...
                                    Дизайн уже не делается на HTML, для этого есть CSS.
                                    HTML выживет хотя бы потому, что уже накопились миллионы страничек на этом языке разметки, а так же потому, что проще и универсальнее пока ничего не придумали.
                                0
                                Есть шанс не успеть до технологической сингулярности :-)
                            +2
                            Возможно это только первая статья из цикла, потому что за кадром осталось еще целая куча "вкусняшек": поддержка MathML - можно будет писать 10-этажные формулы, а не вставлять их в виде картинки, SVG - векторная графика, возможность рисовать на канве браузера - для игрушек очень полезное свойство.
                            А вот про 10-15 лет это жёстко, я то думал что стандарт уже на подходе. А так есть шанс и не увидеть это светлое будущее.
                              +1
                              я думаю, что зря это всё. Не, конечно люди стараются, молодцы, но когда всё (HTML5 и CSS3) это будет поддерживаться всеми браузерами я буду стар и немощен. В принципе, мне и сейчас неплохо, если бы ещё все (привет, IE) браузеры соответствовали стандартам W3C, стало бы совсем скучно :)

                              Думаю, что верстка должна совсем измениться, но это будет похоже на строительство сайта по шаблонам.
                                0
                                все хорошо, но 15 лет....
                                  0
                                  Опять двадцать пять...
                                  Да отпустили бы уже эти теги, не бежали бы следом за всем миром. Делов-то.
                                  Пусть бы теги были чистой семантикой без жёстких предопределений и архаики; css — _чистым_ визуалом; любая дополнительная функциональность, будь то expressions, формы или MathML — на js +xhr (легко!); всякие объекты типа флеша и видео — плагинами (один тег). И всё. Чего громоздить-то? Сегодня nav а завтра gav.
                                    0
                                    Предопределённость тегов позволяет сайт индексировать, потому их и будут использовать... А если завтра будет gav, то это будет уже HTML 6 ...
                                      0
                                      Само собой, сайты нужно как-то индексировать. Только html, как основа, навряд ли должен плясать от поисковиков.
                                      Поисковикам, вроде, многого не нужно, вот и сделали бы отдельный формат/рекомендации для поисковых тегов, с возможностью независимого от html роста и свободой самого html, как базы, от нагромождений.
                                      А то они так и до микроформатов доберутся — с этими gav`ами к какой-нибудь десятой версии сам html большей своей частью будет доставлять радость только некрофилам.
                                    0
                                    Нужно научить IE хотябы html4 понимать адекватно
                                    • UFO just landed and posted this here
                                        0
                                        Если уж, молодцы, то WHATWG (Web Hypertext Application Technology Working Group) ;)
                                        • UFO just landed and posted this here
                                            0
                                            А по-моему у них слабые позиции: браузеры не будут использовать стандарт созданный не w3c или не одобренный ею, пока что это данность которую преодолеть очень трудно. Флэшу вон сколько лет, а тег никто не включил в действующий движок. Так что WHATWG придётся очен сильно попотеть чтобы продвинуть свой формат, который опять же, по-моему личному мнению, нарушает концепцию вёрстки.
                                            0
                                            Но это не так круто, чтобы оправдать 10--15 летнее ожидание :-(
                                              +1
                                              Семантика? Это что панацея от всех болезней? Или что это? Лично для меня html - это конструктор из которого я собираю страницу, некоторые элементы которого обладют скрытой связью, но! header, nav и т.п. не описывают взаимосвязь фотографии моего домашнего питомца, моей страницы и сайта mozilla foundation. Для того чтобы описать такую взаимосвязь информации есть 3S и микроформаты.
                                              Я не вижу смысла создавать кирпичи которые кричали бы: "я кирпичег!"
                                              –1
                                              хорошо придумано с тегами: header, nav, fotter и т.д. :)
                                              наконец будет чтото новее див-верстки :)
                                                0
                                                Мда, я тоже думал, что стандарт буквально в стадии последних доработок... А через 10 лет возможно flash возьмёт и станет главной технологией в вебе...
                                                  0
                                                  Только если похудеет или каналы внезапно у всех расширятся (:
                                                    0
                                                    Не обязательно у всех. Или флешки необязательно делать супермассивными. Опять же можно в флеш импортировать в HTML только текст, а вообще сайт разрабатывать под флеш. Да и широкие каналы постепенно приходят в массы, правда не в нашей провинции, но всё же мы мыслим глобально, прогрессивно ;)
                                                      0
                                                      Чтобы флеш заменил html ему нужно стать семантически-ориентированным языком ну или просто дванольным, поддерживать микроформаты и вообще включиться во всеобщую истерию веба т.п.
                                                        0
                                                        а ещё человечески индексироваться поисковиками
                                                  0
                                                  Я HTML 5 не читал, но поддерживаю.
                                                    +1
                                                    А что зря переживать о поддержке стандарта. К 2022 будет только один браузер G-browser и все разметки (XML,XHTML,HTML) превратятся в одину GML :))) это всё шутки конечно, но чего же так не скоро-то, может им помощь как нужна? сказали бы :)
                                                      0
                                                      а что было бы неплохо если бы был лишь один браузер... тогда бы проблема кроссбраузерности не было б ... но увы, эх, такого скорей не будет :(
                                                      хотя есть один выход - научить все браузеры понимать css и html одинаково :) но на это стоит лишь надеется :(
                                                        0
                                                        Скучно было бы. Вот только представьте: сверстал на ноуте сайт и не надо проеврять как он поведёт себя на других браузерах или на другой машине даже. Это так верстальщики от нечего делать пить начнут и сопьются до того что вымрут. Зато как ща весилаа!!)
                                                        (ещё не вдавался, но сайт на десктопе варит а на ноуте нет… интиресна так, причин ещё не искал но именно я озадачен)
                                                    • UFO just landed and posted this here
                                                        0
                                                        Это как разница между <b> и <strong> — "Видишь вон там суслика? Нет? А он там есть."
                                                          +1
                                                          Сейчас есть две известные альтернативы: нумерованные заголовки (HTML) и структурные (XHTML 2).
                                                          Структурные состоят из элемента H (без номера) и элемента SECTION. Вложенностью элементов H в SECTION и вычисляется важность заголовка в агенте.
                                                          HTML 5 заимствовал из XHTML 2 элемент SECTION, но оставил прежние нумерованые заголовки.
                                                          +3
                                                          Хмм... как я понял здесь все обсуждают HTML-XHTML в разрезе обычных браузеров, однако уже на сегодняшний день продажа ноутбуков превысила продажу настольных ПК. Я думаю продажи т.н. альтернативных устройств (КПК, смарты и т.д.) тоже растут тоже нехило. А на таких устройствах чем проще и жестче стандарт, тем лучше. Если честно мне очень сложно понять тех разработчиков, которые считают "мягкость" HTML стандарта плюсом - в любом случае на каком нибудь этапе эта мягкость сыграет злую шутку - допустим при парсинге "средствами JavaScript" да и если уж говорить то разница между HTML и XML/XHTML невелика и касается не смысла, а синтаксиса. Зато возможность "пропарсить" xhtml-страницу обычным xml парсером по моему большого стоит - тут и RSS и прочие стандарты, которые по сути являются xml, но в качестве исходника используют html-страницу.
                                                            +1
                                                            я понимаю что нечто можно имплементить в течении 10-15 лет (допустим реализовать поддержку 10 000 новых устройств в ядре Линукс), но как можно разрабатывать стандарт столько лет - я не понимаю (и подсчитали ведь как-то эти цифры!)

                                                            у кого есть какие идеи на этот счёт? :-)
                                                              +2
                                                              В этот временной промежуток вбиты минимальные две тестовые имплементации, требуемые с недавних пор в W3C, для принятия рекомендации.
                                                              Т.е., другими словами — через 10-15 лет должен быть не только голая рекомендация, но она уже будет имплементирована (возможно, неполностью в одном взятом браузере). Развивающихся браузеров, или правильнее считать движки, у нас три на данный момент: Mozilla (Firefox), Presto (Opera), KHTML (Konqueror), WebKit (Safari). Как я уже писал выше, тестовая имплементация уже началась — смотрим на данный момент:

                                                              • <canvas> — Mozilla, Presto, KHTML, WebKit

                                                              • getElementsByClassName() — Mozilla, Presto

                                                              • <a ping> — Mozilla

                                                              • Cross-document messaging — Presto

                                                              • Audio interface — Presto

                                                              • Server-sent DOM events — Presto

                                                              • Web Forms 2.0 — Presto
                                                              0
                                                              Кстати, есть отличная короткая презентация по HTML 5 (для включения режима презентации в Опере жмём F11).
                                                              Данные по тестовым имплементациям уже успели устареть за пол года, но всё равно много полезной информации в сжатом виде.
                                                                –1
                                                                новые теги типа это чушь
                                                                у IE были правильные начинания в развитии html
                                                                в 6 осле можно объявлять собственные теги, правда это довольно геморно.
                                                                мне както роднее был бы следующий подход
                                                                дается определенная свобода в выборе названия тегов, а их поведение как глифов описывается в css
                                                                например

                                                                My Article
                                                                Some article text


                                                                CSS:
                                                                aricle
                                                                {
                                                                display: block;
                                                                width: 100%;
                                                                ...
                                                                ...
                                                                }
                                                                title
                                                                {
                                                                font-size: 18px;
                                                                font-weight: bold;
                                                                ...
                                                                ...
                                                                }

                                                                это было бы огромным шагом к семантическому вебу
                                                                  0
                                                                  черт тэги обрезало (((
                                                                    0
                                                                    + очень нехватает такой вещи как отмена наследования стилей
                                                                    к примеру нужен блок совершенно другого вида, сейчас приходится все наложившееся стили перебивать. А хотелось бы запретить наследование и описать с чистого листа.
                                                                      0
                                                                      Полная свобода в выборе тэгов — это, наоборот, шаг назад от семантики, в глобальном смысле. Это как XML — семантичный язык разметки, но один человек заголовок поместит в элемент H, другой в HEADER, третий по-русски напишет ЗАГОЛОВОК. И, хотя все они, с помощью CSS могут быть оформлены одинаково, поисковик, например, никак не догадается что всё это одного поля ягоды.
                                                                        0
                                                                        а на это есть DTD & XML Schema - никогда не задумывались, что значит первая строчка в коде валидной веб-странички? Это определение типа документа, позволящее унифицировать допустимые элементы и порядок их вложения. Вот в данном случае оно и поможет. Лично я тоже считаю, что чего уж мелочиться - нормальный XML бы лучше организовали для Веба :)
                                                                          0
                                                                          А как помогут нынешние DTD и XML Schema?
                                                                          В них прописываются правила положения элемента в документе, типа данных. Где тут описывается его семантика?
                                                                          К тому же все эти схемы созданы в основном для проверки на правильность, и даже браузерами не просматриваются.
                                                                            0
                                                                            хм, ту же семантику можно оговаривать заранее в спецификациях, как в современных XML-based языках разметки, для самых непонятливых - зафигачить комментариями во внешнем (едином для однотипных страниц) DTD. Ну и строго проверять документ на валидность в соответствии с DTD, да. Пусть это потребует больше усилий от кодера, чем просто наляпать div'ов, но и свободы в плане семантики даст куда больше.
                                                                              0
                                                                              а поисковики можно заставить отслеживать ключевые слова вроде header или "заголовок" точно так же, как сейчас они парсят весь остальной текст...
                                                                            0
                                                                            семантика это когда структура документа повторяет или очень близка к структуре информации. ввод новых тегов в хтмл это лишь новые гвозди. везде стоит вопрос обратной совместимости. но думаю лучше кошке хвост образать одним махом чем резать по маленьким кусочкам. кошке от этого не легче.
                                                                          –1
                                                                          Вопрос спорный, для настольных ПК совершенно фиолетово - делай свои теги, описывай, как хочешь, полная свобода, а вот для мобильных устройств жосткая симантика больше подходит.

                                                                          Но, уверен, через 10-15 лет этот хтмл5 никому не будет нужен.
                                                                            0
                                                                            1. Скажу, что здесь наблюдается явление векового возраста, а именно принятие в штыки и отрицание каких либо нововведений. Лично меня в блочной вёрстке всё устраивает, но всё же ИМХО удобнее "сказать" что тут нужна колонка, заголовок или любой другой элемент, чем создавать блок и прописывать ему display, position, float и ещё кучу всего, после чего обнаружить что где-то всё это дело поехало не понятно куда, и продолжать верстать и выравнивать и т.д

                                                                            2. Вопрос поддержки всего этого дела старыми браузерами + время на внедрение поддержки в новые.

                                                                            ИМХО идея хорошая, и продвигать её нужно, но только сомневаюсь что это светлое будущее настипит в ближайшее время.
                                                                              0
                                                                              Чтобы голова не уезжала от тела, есть таблица. Выравнивает всё по вертикали и горизонтали. И не надо никуда плыть. ИМХО

                                                                            Only users with full accounts can post comments. Log in, please.