html-элемент main

Html5 привнес в разметку новые элементы призванные более качественно систематизировать контент, четче определить структуру документа, сделать его более семантичным. Помимо прочих, в него были включены такие элементы как:

  • <article>
  • <aside>
  • <footer>
  • <header>
  • <section>

Однако, элемент, которым можно было бы определить основную область контента остался не учтенным, потому, многие разработчики делают так — <div id="main"> или <div id="content"> и прочее. Кто-то добавляет role="main".

После того, как 27 ноября 2012 года Steve Faulkner изложил свои соображения в статье Rationale and use cases for standardizing a ‘main content’ HTML feature на w3.org элемент <main> был включен в черновик — w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element.

Ожидается, что элемент <main> станет аналогом role="main". Он предназначен показать область основного содержания, он может способствовать более точной работе браузеров и специальных устройств. Он также может быть использован для адаптации контента, например, как это делает Instapaper, мобильные браузеры cмогут увеличивать размер блока <main> если встретят их на не адаптируемых сайтах.

Если я верно понимаю, то в настоящий момент, обсуждаются правила использования этого элемента. Одна из проблем — необходимость определить, можно ли использовать этот элемент на странице неоднократно.

Новый элемент уже реализован в Firefox и Chrome Nightlies. Тем не менее, использование role="main" до сих пор целесообразно потому, что мало кто использует Firefox или Chrome Nightlies.

Источники:
adactio.com/journal/6014
brucelawson.co.uk/2013/the-main-element
w3.org/html/wg/drafts/html/master/grouping-content.html#the-main-element
whatwg.org/specs/web-apps/current-work/multipage/grouping-content.html#the-main-element

Опубликовано

Обратите внимание на предыдущие записи: