Уважаемые коллеги, добрый день.
В связи с тем, что 14.12.2017 года W3C в блоге объявила о выходе новой редакции HTML 5, предлагаю Вашему вниманию краткое описания основных нововведений.
Подробнее об изменениях можно почитать в параграфе Changes рекомендаций W3C.
В связи с тем, что 14.12.2017 года W3C в блоге объявила о выходе новой редакции HTML 5, предлагаю Вашему вниманию краткое описания основных нововведений.
Новации
Поддержка модульного JavaScript
На мой взгляд, самая интересная и ожидаемая новация связана с поддержкой модульного синтаксиса последнего стандарта ECMA Script.
Использование будет происходить следующим образом:
<script type="module"> import { app } from './app'; app.run(); </script>
Для того, что бы обеспечить загрузку каждого импортируемого скрипта не более одного раза на документ или web воркер, реализована коллекция (module map), которая будет содержать ссылочные записи с одним из следующих значений:
— непосредственно модульный скрипт (module script);
— null, используемых для индикации неудавшихся загрузок;
— fetching -временный плейсхолдер.
Путь к файлу будет сначала пропущен через Парсер ссылки (URL parser), корректные значения будут использованы для разрешения пути. Повторяющиеся пути будут проигнорированы.
Следует отметить, что если путь начинается не с символов "/", "./" или "../" будет возвращена ошибка. Это обусловлено планируемым в будущем внедрением «голого» импорта.
Отдельно следует учесть, что некорректный MIME type, в отличие от обычных скриптов, в отношении модульного скрипта будет ошибкой.
Элемент <dialog>
Тэг <dialog> определяет окно или контейнер, предназначенный для создания всплывающих и модальных окон. Кроме стандартных html атрибутов, данному тегу будет доступен один булиевый атрибут open сообщающий о том, является ли элемент активным и доступным пользователю для взаимодействия. В качестве JavaScript объекта <dialog>, кроме стандартных свойст и методов, получил свойства:
— open — геттер/сеттер — активен ли элемент;
— returnValue — геттер/сеттер — значение возвращаемое элементом,
а также методы:
— close() — закрывает элемент;
-open() — показывает элемент;
-showModal() показывает элемент и делает его модальным элементов верхнего уровня.
Атрибут nonce для <link>
Элемент <link> получил атрибут nonce, представляющий собой криптографический nonce («специально для данного случая»), который может быть использован для определения будет ли внешний ресурс указанный в <link> загружен и применен к документу.
Элемент <iframe>
Элемент <iframe> получил сразу два изменения, новый атрибут allowpaymentrequest для интеграции с Payment Request API и новое значение для атрибута sandbox для интеграции с Presentation API.
Удалены из стандарта
- элементы <keygen>, <menu> и <menuitem>;
- атрибут inputmode для текстовых <input>, и dropzone атрибутов;
- метод showModalDialog.
Валидным с точки зрения стандарта стало
- использования тега <style> внутри <body>;
- — множественные <main> элементы в ДОМе, при условии, что только один видим для пользователя;
- презентации для <img>;
- пустой <option> для <datalist>.
Более не соответствует стандарту
- role у элемента <caption>;
- строгий HTML4 или XHTML1 Doctype.
Подробнее об изменениях можно почитать в параграфе Changes рекомендаций W3C.