HTML5
![]() | |
Розширення: | .HTML: .html, .htm |
---|---|
MIME-тип: | HTML: text/html |
Type code: | TEXT |
Узагальнений ідентифікатор типу: | public.html |
Розробник: | W3C HTML WG, WHATWG |
Тип формату: | Мова розмітки даних |
Стандарт(и): |
HTML5 — наступна версія мови HTML. До складу робочої групи з HTML 5 увійшли AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera і кілька сотень інших виробників.
- Зараз існує деяка плутанина щодо версійності, оскільки існують дві незалежні групи розробників — WHATWG та W3C.
- WHATWG відмовились від принципу «версійності», в користь «вічної розробки» при прийнятті HTML специфікації.[1] Таке рішення було спричинено намаганням пришвидшити втілення стандарту в життя, тобто розробникам веб браузерів не потрібно чекати допоки вийде офіційна затверджена версія специфікації (специфікація перейде в стан recomendation), вони можуть втілювати певні частини специфікації вже зараз. Тому по версії WHATWG існує тільки одна специфікація, яка постійно розвивається — HTML.
- W3C оголосили, що розробка HTML5 буде завершена в 2014-му році.[2]
- Зараз ці дві групи працюють в тандемі, WHATWG пише специфікації в режимі «живого стандарту», а W3C бере ці специфікації як «знімки», і впроваджує їх у чіткі версії своєї специфікації. W3C працює значно повільніше, бо повинен забезпечувати вимоги більшого спектру користувачів, а не тільки веб браузерів.[3]
Історія
Робота над HTML5 почалася в кінці 2003 року як доказ концепції, що можна розширити форми HTML4 багатьма можливостями з XForms 1.0, не вимагаючи змін несумісних із існуючими веб-сторінками. На цій ранній стадії, хоча проект уже був доступний для громадськості, і приймав критичні зауваження, специфікація була захищена авторськими правами Opera.
На початку 2004 року доробок був представлений спільно Mozilla і Opera на розгляд W3C на робочому обговоренні майбутнього веб-застосунків. Пропозицію було відхилено через суперечності з раніше обраним W3C напрямком еволюції Інтернету — XHTML.
Невдовзі після цього, Apple, Mozilla і Opera оголосили про свій намір спільно продовжити роботу. Було створено відкритий список розсилки, і проект було перенесено на сайт WHATWG. В авторське право була внесена поправка, що робота буде спільно належати всім трьом постачальникам, і допускатиме повторне використання специфікацій.
У 2006 році W3C висловило зацікавленість у специфікації, а також створила робочу групу для роботи разом із WHATWG над розробкою специфікації HTML5. Робоча група відкрита в 2007 році. Apple, Mozilla і Opera дозволили W3C опублікувати специфікацію під ліцензією W3C, зберігаючи при цьому версію з менш обмежувальною ліцензію на сайті WHATWG. З того часу обидві групи працюють разом.
22 січня 2008 представлена чернетка чергової, п'ятої версії мови гіпертекстової розмітки HTML.
Робота над HTML 5, що почалася в 2004 році, зараз доводиться до кінця спільними зусиллями W3С HTML WG і WHATWG. У розробці також беруть участь багато ключових фігур, включаючи представників найбільших розробників браузерів: Apple, Google, Microsoft, Mozilla і Opera; також інші організації й користувачі з різними інтересами і досвідом.
Структура документації (WHATWG)
Робоча група WHATWG пропонує наступну структуру документації:
- Загальні положення.
- Семантика, структура, та API HTML документу.
- Елементи HTML
- Microdata
- Завантаження веб сторінок
- API для веб застосувань
- Взаємодія з користувачем
- Відео конференції та peer-to-peer взаємодія
- Повідомлення
- HTML синтаксис
- XHTML синтаксис
- Застарілі функції
Нові можливості
Введено нові теги, а деякі прибрано
У загальному з нової версії мови розмітки пропонується прибрати близько 15 теґів.
При прийнятті рішення про введення нових тегів було розглянуто більшість популярних сайтів і виділено основні елементи, які були спільними для всіх веб-сторінок.
Розмічаючи області на сторінці за допомогою певних елементів, ця технологія може допомогти полегшити користувачеві навігацію. Наприклад, він може легко пропустити розділ навігації або швидко переходити від однієї статті до іншої без необхідності для авторів робити відповідні посилання. Автори також отримують вигоду в результаті заміни великої кількості div-ів одним з декількох відповідних елементів, що також приводить до чистого і легкого для автора початкового коду.
Елементами header є заголовки розділів. Вони можуть складатися з декількох частин — наприклад, було б виправдано розділяти блок заголовка на підзаголовки, історію версій або вказання авторства. Елемент footer визначає нижню частину розділу, до якого він відноситься. Зазвичай він містить інформацію про розділ — наприклад, ім'я автора, посилання на схожі документи, копірайт і тому подібне. Блок nav містить список посилань для навігації. Підходить, наприклад, для навігації по сайту, або для змісту. Елемент aside підходить для розміщення вмісту яким-небудь чином спорідненого основному контенту. У звичайному випадку буде корисний для розмітки бічної колонки. Тег section представляє загальний розділ документа або додатку, наприклад, такий як розділ. Тег article відзначає незалежний розділ документа, сторінки або сайту. Застосуємо для такого вмісту як новини, запису блога, повідомлення у форумі або коментарі користувачів.
Приклад розмітки веб-сторінки за допомогою HTML 5

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>Simple HTML5</title>
</head>
<body>
<header> header </header>
<nav> navigation </nav>
<section>
<article>
<h2> Article header </h2>
Article
</article>
<article>
<h2> Article header </h2>
Article
</article>
</section>
<aside> sidebar content </aside>
<footer> copyright </footer>
</body>
</html>
Підтримка тегів <video> та <audio>
В HTML 5 для того щоб підключити до сторінки відео або аудіо-доріжку, достатньо скористатись відповідними тегами.
Такі сайти як Youtube, Viddler, Revver, Myspace, і десятки інших дозволяють будь-кому опублікувати своє відео або аудіо. Багато сайтів удаються до Flash, щоб забезпечити потрібну функціональність, оскільки HTML 4.1 не вистачає засобів для вбудовування і управління мультимедіа. І, хоча такі можливості надають різноманітні плагіни (Quicktime, Windows Media тощо), в наш час[коли?] Flash — це єдиний широко поширений плагін, який надає крос-браузерне рішення з відповідним API для розробників.
Як доведено великою кількістю медіа-програвачів на основі Flash, автори зацікавлені в наданні інтерфейсу з їхнім власним дизайном, який, як правило, дозволяє користувачам включати, ставити на паузу, зупиняти, перемотувати і управляти гучністю. Стоїть завдання надати таку функціональність за допомогою додавання можливості вбудовувати відео і аудіо засобами браузера, а також надати DOM API для доступу скриптів.
Елементи video і audio легко дозволяють це зробити. Більшість API — загальні між цими елементами, з відмінностями лише відносно до visual і не-visual медіа. Всі сучасні браузери (окрім Internet Explorer) вже реалізували підтримку даних елементів. Найпростіший спосіб вбудувати відео — це використовувати тег video і дозволити браузеру відобразити інтерфейс за умовчанням. Булевий атрибут controls визначає чи включати за умовчанням цей користувацький інтерфейс.
Необов'язковий атрибут poster може використовуватися для вказання зображення, яке буде відображатися до того як відео почне програватися. Хоча є формати відео, що підтримують власний попередній перегляд (такі як Mpeg-4), цей спосіб — рішення, що дозволяє бути незалежним від відео-формату.
Також просто підключити і аудіо — використовуючи елемент audio. Хоча по очевидних причинах у тега audio немає атрибутів height, width і poster, між video і audio більшість атрибутів спільні.
У HTML 5 включений елемент source для вказівки альтернативних відео і аудіо файлів, щоб браузер міг вибрати той, який підходить до підтримуваного медіа-типу або кодеків. Атрибут media визначає вибір медіа-запиту, що базується на обмеженнях пристроїв, а атрибут type — можливості медіа-типів і кодеків. Коли використовується атрибут source, слід опускати src в елементах video (audio), інакше source буде проігнорований.
Є багато інших атрибутів і API для відео і аудіо елементів, не описаних тут. Докладніше можна дізнатися в поточній версії специфікації.
Векторна графіка
<canvas>
За допомогою нового елементу <canvas> розробники зможуть створювати двомірні зображення та анімацію засобами JavaScript.
Можна вставляти SVG графіку прямо в тіло HTML документу
Збереження даних на стороні клієнта
Крім того, HTML 5 дозволяє розробникам зберігати дані на стороні клієнта. Це значно зменшить обсяг інформації, що передається між веб браузером та сервером при використанні web-2.0 застосувань. Зараз триває робота над такими специфікаціями, що охоплюють даний розділ:
- Session Storage
- Local Storage
- IndexedDB
Редагування вмісту елементу
Вміст будь-якого елементу на сторінці можна легко поміняти за допомогою властивості contentEditable. Цей метод широко використовується при створенні WYSIWYG застосувань.
Технології, які не входять до HTML 5
Існує набір технологій, які дуже часто, помилково відносять HTML5, хоча вони насправді стосуються інших специфікацій
- WebGL
- FileReader
- XMLHttpRequest
- querySelector(All)
- Geolocation
- ECMAScript5
- CSS3
- XBL2
- Web Workers
- Web Sockets
- Faster JavaScript