HTML5 имеет несколько целей, которые отличают его от HTML4.
Согласованность при обработке искаженных документов
Основным является согласованный, определенный обработчик ошибок . Как вы знаете, HTML преднамеренно поддерживает «суп-тег» или возможность писать искаженный код и исправлять его в действительном документе. Проблема в том, что правила для этого нигде не записаны. Когда новый поставщик браузеров хочет выйти на рынок, он просто должен проверить искаженные документы в различных браузерах (особенно IE) и перепроектировать их обработку ошибок. Если этого не произойдет, то многие страницы будут отображаться некорректно (по оценкам примерно 90% страниц в сети, по крайней мере, несколько искажены).
Итак, HTML5 пытается обнаружить и систематизировать эту обработку ошибок, чтобы разработчики браузеров могли стандартизировать и значительно сократить время и деньги, необходимые для последовательного отображения информации. Кроме того, еще долго в будущем, после того как HTML утратит популярность как формат документа, историки все еще могут захотеть прочитать наши документы, и наличие полностью определенного алгоритма синтаксического анализа очень поможет этому.
Лучшие возможности веб-приложения
Вторичная цель HTML5 - развить способность браузера быть прикладной платформой с помощью HTML, CSS и Javascript. Многие элементы были добавлены непосредственно к языку, который в настоящее время (в HTML4) является хакером на основе Flash или JS, например <canvas>
, <video>
и <audio>
. Полезные вещи, такие как локальное хранилище (js-доступная встроенная в браузер база данных значений ключей, для хранения информации, выходящей за пределы того, что могут содержать файлы cookie), новые типы ввода, такие как дата, для которой браузер может предоставить простой пользовательский интерфейс (чтобы мы могли не нужно использовать наши средства выбора календаря на основе js), а поддерживаемая браузером проверка форм значительно упростит разработку веб-приложений для разработчиков и сделает их намного быстрее для пользователей (поскольку многие вещи будут поддерживаться изначально, вместо взлома через javascript).
Улучшенная семантика элементов
В HTML5 происходит много других небольших усилий, таких как более четко определенные семантические роли для существующих элементов (<strong>
и <em>
теперь фактически означают что-то другое, и даже <b>
и <i>
имеют неопределенную семантику это должно хорошо работать при разборе устаревших документов) и добавление новых элементов с полезной семантикой - <article>
, <section>
, <header>
, <aside>
и <nav>
должны заменить большинство <div>
s, используемых в сети страница, делая ваши страницы немного более семантическими, но, что более важно, легче читать . Больше не нужно мучительно сканировать, чтобы увидеть, что именно закрывает случайный </div>
- вместо этого у вас будет очевидный </header>
или </article>
, что сделает структуру вашего документа гораздо более интуитивно понятной.