Понятие HTML6, несмотря на то, что спецификация HTML5 планировалось полностью принять и достичь максимально широкой совместимости в 2014 году, теперь стали появляться идеи о том, как выглядит эта спецификация следующего поколения — HTML.next, как это обычно упоминается в W3C-консорциум.
Новые элементы семантики
<Dеcompress>
Этот элемент предлагается для интеграции файлов из ZIP-архива (формат ZIP в качестве основного, но возможны и другие) непосредственно в веб-страницу. Преимущества такого подхода: доступ веб-браузера к файлам из ZIP, снижение требований к пропускной способности (что особенно важно для мобильных платформ).
Пример использования:
<decompress href="http://example.com/mobile/familyreunion.zip"> <a href="familyreunion.zip/html/activities.html">Activities from our family reunion</a> <img src="familyreunion.zip/img/family.jpg">
Семантика для описания названий и авторов
Он используется для идентификации имен книг, сообщений в блогах, фильмов и т. Д. Связанных с ним авторов, даже если макет применяется только для нескольких абзацев. Эта семантика может быть реализована в виде псевдометки и определять отношения между элементами.
[title: The praise of Shadow id:praise by:junichiro] is a book written by [author: Junichiro Tanizaki id:junichiro] explaining … etc.
<Lоcation>
Этот элемент (аналог <time />) используется для описания геоинформации. Предлагается использовать атрибуты: широта, долгота, высота:
<location lat=27.9 long=-71.3 altitude=-100>The Bermuda Triangle</location>
<Tеaser>
Элемент предназначен для переноса блока контента, имеющего ссылку на полный блок. Такие структуры мы видим повсюду: в результатах поиска на первой странице блога, в блоке резюме с (или без) медиаресурсами и так далее. Как правило, это должен быть элемент сечения, который может быть расположен в других элементах сечения, например на странице навигации:
<nav> <teaser> <header> <h1><a href="http://www.example.com/myFirstPost.html">My First Post</a></h1> </header> <p>This is my first article on the page, and it's really cool.</p> <footer> <time>3 Days Ago</time> <div><a href="http://www.example.com/myFirstPost.html">http://www.example.com/myFirstPost.html</a></div> </footer> </teaser> <teaser> <header> <h1><a href="http://www.example.com/mySecondPost.html">My Second Post</a></h1> </header> <p>This article is on superconducting fields, and is even cooler than my first article.</p> <footer> <time>1 Days Ago</time> <div> <a href="http://www.example.com/mySecondPost.html">http://www.example.com/mySecondPost.html</a> </div> </footer> </teaser> </nav>
Преимущества использования этого элемента:
- описание общих часто используемых структур в HTML
- помогает оптимизировать поисковые системы и компоненты управления, потому что разные виджеты могут использовать эту структуру по-разному
- не нужно участвовать в механизме нумерации списков
- может использоваться вместе с якорями для создания быстрого ToC
- хорошо работает в блогах HTML5, видимо, взят за основу для разделения контента
формы
Автоматическая запись в формы ввода заглавными буквами
Семантическое описание типа данных для записи в поле. Этот атрибут позволяет браузеру предоставить пользователю лучший интерфейс для ввода текста.
<form> Name: <input name="name" autocapitalize="words"> State: <input name="state" autocapitalize="characters"> </form>
Тег autocapitalize = «words» означает, что каждое новое слово пишется с заглавной буквы. Это актуально для полей, где вам нужно указать имена, например. «Джон Доу». Тег autocapitalize = «characters» означает, что каждый символ будет написан заглавной буквой. Это актуально для сокращений.
Улучшена аутентификация форм
Сегодня большинство браузеров имеют эвристику, которая определяет, что страница имеет форму аутентификации, смены пароля и так далее. Часто эти эвристические алгоритмы не всегда работают правильно. Добавление аннотаций к формам и полям позволяет браузерам более точно обрабатывать сценарии и улучшать взаимодействие.
Локализация элементов управления
Веб-разработчикам часто не хватает возможности локализовать элементы управления, например: кнопка «Обзор» в полях <input type = ‘file’ />, элементы управления для установки даты / времени
мультимедиа
Адаптивные изображения
HTML6 предоставляет возможность загружать изображения разных размеров, в зависимости от текущих настроек на стороне клиента.
Адаптивная потоковая передача
Существует множество различных форматов адаптивной потоковой передачи (а также несколько различных форматов прогрессивного медиа для загрузки контента). Во многих случаях с помощью потоковой передачи нам необходимо передавать некоторый защищенный контент. Текущие медиа-элементы HTML5 поддерживают выбор различных форматов. Тем не менее, существуют определенные аспекты адаптивной потоковой передачи и защищенного контента, которые требуют улучшения возможностей HTML для общего использования. В частности, они включают в себя:
- дополнительный медиа-элемент для статуса, который позволяет отображать текущий статус (например, синхронизация данных с сервером)
- дополнительный медиа-элемент для ошибок (например, ошибка передачи)
- дополнительный медиа-элемент для событий (например, изменение битрейта потока)
- дополнительный элемент мультимедиа для свойств (например, текущая скорость передачи, которая может быть связана с другими показателями QoS)
Аудио баланс
Регулировка баланса звука (правый / левый канал) с HTML5 для стерео треков.
Улучшение воспроизведения видео
- быстрое / медленное движение / быстрая перемотка вперед
- предыдущий / следующий кадр
Полноэкранный режим и скриншоты
Вот пример того, как мы можем работать с полноэкранным режимом и получать скриншоты:
domElement.fullScreen(); domElement.getImageData(0, 0, domElement.offsetWidth, domElement.offsetHeight);
Редактирование текста
Элемент <editоr>
Этот элемент позволяет сохранить набранный текст.
<tеxtarea type = ”wysiwyg”>
Основная задача: WYSIWYG-редактор для структурированного (семантического) текста. Использование по назначению: блоги, электронные письма, редактирование статей на сайтах CMS и т. Д. Примерный список поддерживаемых элементов:
- блоки : p, ul / li, ol / li, dl / dt / dd, blockquote, pre
- пролеты : сильный / EM / A / SUP / Sub / U / код / забастовка
- встроенные блоки : img, br
- таблицы: таблица / tr / th / td
Особенности:
- поддержка копирования / вставки изображений из / в системный буфер обмена (связанный по атрибуту)
- поддержка копирования / вставки текста и HTML из / в системный буфер обмена (связанный по атрибуту)
- не должен поддерживать встроенные стили
- может иметь атрибут content-style = «style.css», задающий стиль элементов в редакторе
Особенности копирования / вставки
Список, представленный в левой части таблицы, будет отображаться так, как показано в правой части таблицы.
|
|
Если вы копируете элемент «Dolor» и вставляете его в обычный текстовый редактор WYSIWYG вместо простой записи без необходимости получать номер элемента «3. Dolor».
Компоненты и ECMAScript
«Поведения» или динамические подклассы элементов DOM
Эта функция очень полезна для каркасов и инструментов компонентов пользовательского интерфейса.
document.behaviors["ul.some>li"] = { // the behavior class: attached: function() {...}, detached: function() {...}, onmousedown: function() {...}, onclick: function() {...}, ... };
«Поведения» — это набор методов, которые назначаются всем элементам, которые соответствуют селектору в объявлении. Когда элемент получает событие, он вызывает связанную функцию. Также предложено работать с CSS. Это поведение похоже на «цепочку» событий в jQuery.
включают ( ‘URL’);
Многим программистам, которые привыкли писать на C ++, PHP и т. Д., Не хватало такой возможности. Для сохранения модульности рекомендуется использовать подключение внешних файлов следующим образом (работает аналогично @import url (…) в CSS):
window.include("url"[,mime/type])
avaScript: пространство имен и классы
JavaScript-код становится все более сложным. На одной и той же странице может использоваться несколько разных библиотек, и отсутствие пространств имен (и классов) становится все более проблематичным для веб-разработчиков.
Подсветка синтаксиса для элементов <cоde>
Учитывая тот факт, что в браузерах уже есть инструменты парсинга HTML, JS и CSS, было бы неплохо иметь встроенную поддержку подсветки синтаксиса без необходимости разбора кода на стороне клиента с помощью Javascript. Для начала было бы достаточно всех перечисленных выше языков, другие можно добавить, подключив соответствующий CSS.