Intereting Posts
Как выполнить проверку в диалоговом окне JQuery? Как я могу сделать ширину 100% TextArea без переполнения, когда заполнение присутствует в CSS? Столбец двухцветный по диагонали Клавиатура вверх и вниз стрелки Разметка Schema.org работает, если разметка динамически построена с использованием JavaScript? : после вставки html через JavaScript Получите наивысшие и самые низкие значения определенного атрибута в jQuery или Javascript Использовать getElementById () для нетекстового документа HTML Как указать другой цвет для выбранного элемента списка с помощью CSS? Почему этот код работает в Safari, но не в Chrome? Arrrgh Загрузка заказа динамически добавленных тегов сценариев Google графические динамические значки устарели. Альтернативы? Когда страница загружается, как выполнить шесть функций, выполняемых каждым другим? IE8 не зависает при использовании li с позицией: absolute Текстовая реклама

Когда я могу безопасно использовать новый элемент в HTML5?

16 декабря спецификация расширения HTML5 для элемента была отправлена ​​в W3C под чьей-то редакцией . Реферат выглядит следующим образом:

Эта спецификация является расширением спецификации HTML5 [HTML5]. Он определяет элемент, который будет использоваться для идентификации основной области содержимого документа. Все нормативное содержание в спецификации HTML5, если оно специально не отменено этой спецификацией, не должно служить основанием для этой спецификации.

Основной элемент формализует общую практику идентификации основного раздела контента документа с использованием значений id, таких как «контент» и «основной». Он также определяет элемент HTML, который воплощает семантику и функцию ориентирной роли WAI-ARIA [ARIA] = main.

Пример:

   

Apples

The apple is the pomaceous fruit of the apple tree.

Red Delicious

These bright red apples are the most common found in many supermarkets.

...

...

Granny Smith

These juicy, green apples make a great filling for apple pies.

...

...

У меня есть вся информация, и я чувствую, что должен начать включать ее в веб-страницы. Насколько я знаю, спецификация HTML5 просто прогрессивна, но новые функции были «привязаны» к спецификации без обновления. Я предполагаю, что это означает, что браузеры начнут внедрять его, когда они могут, – вопрос в том, как долго это происходит и как я знаю, что все браузеры поддерживают его? Должен ли я просто построить его так и сейчас и прибегнуть к полиполнению?

Поддержка

будет очень похожа на поддержку любого другого нового элемента контейнера, представленного в HTML 5.

  • Будут поддерживаться новые достаточно браузеры.
  • Старые браузеры позволят вам стилизовать его, чтобы он display: block и давать визуальные эффекты
  • Старые версии IE не будут поддерживать его вообще без шага JavaScript (который будет работать точно так же, как и для всех остальных новых элементов контейнера).

«Когда» зависит от уровня поддержки браузера, который вам нужен, и от того, насколько вы готовы зависеть от JS-прокладки.

На данный момент я был бы осторожен в том, чтобы использовать его.

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

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

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

Однако изменение парсера требует некоторого ухода. Помните, что

является обязательным. Теперь предположим, что вы решили, что перед вашим «основным» содержанием вам нужен параграф преамбулы. Вы могли бы написать:

 < !DOCTYPE html>  

This is my page preamble ...

My main content ...
A story ...

Если и когда браузер реализует элемент

тег
автоматически закрывает элемент

а в DOM элемент

и

будут братьями и сестрами друг друга. Элемент

и его содержимое будут дочерними элементами элемента

. т.е. DOM будет:

 HTML +--HEAD +--BODY +--P | +--This is my page preamble ... +--MAIN +--My main content ... +--DIV +--A story 

Однако прямо сейчас в браузерах

становится дочерним элементом элемента

, а в то время как «My main content …» является дочерним элементом элемента

элемент

не является. т.е. DOM имеет такую ​​структуру:

 HTML +--HEAD +--BODY +--P | +--This is my page preamble ... | +--MAIN | +--My main content ... +--DIV +--A story 

Теперь, конечно, этого легко избежать, явно используя

, в пункте преамбулы, но это ловушка для неосторожного.

Основной элемент HTML 5.1 теперь реализован в Webkit. Поддержка проверки в ближайшее время. Ожидайте реализацию Firefox в ближайшее время.

Вы можете использовать его, Chrome 26 и Firefox 21 уже реализовали его.

Так же, как и при введении многих других новых элементов HTML5, не все браузеры распознают

или имеют для него предустановленные стили. Вам нужно убедиться, что он отображается как элемент уровня блока в вашем CSS:

 main {display:block;} 

На данный момент вам также потребуется использовать JavaScript для создания элемента для более старых версий IE:

  

Конечно, если вы используете html5shiv ,

теперь выпекается напрямую.