Skoro zamknięto już specyfikację HTML5 na nowe elementy i rozpoczęto prace nad HTML 5.1, to warto rzucić okiem na to, co następna wersja może nam przynieść. Okazuje się, że być może doczekamy się tagu <main> w nowej strukturze HTML.

HTML 5.1Element <main> posiada już swój szkic specyfikacji, można także zajrzeć bezpośrednio do repozytorium W3C na GitHubie. Autorem pomysłu wprowadzenia tego elementu jest Steve Faulkner. Z definicji <main> jest kontenerem ("main content section"), w którym zawiera się główna treść naszej strony - jak najbardziej logiczne. Na stronie powinien znajdować się tylko jeden taki element, poza tym nie ma on wpływu na tzw. outline dokumentu. Zanim doczekamy się implementacji elementu <main> możemy używać ról WAI-ARIA, a więc role="main".

Dziwi mnie, że dopiero teraz doczekaliśmy się tego elementu. Mamy już <header>, <footer>, nawet <aside>, a nie mieliśmy elementu, który występuje na stronie niemal zawsze? Semantyczny kod HTML5 z powyższymi tagami i jednym <div class="main">...</div> w środku wyglądał co najmniej dziwnie.

Zobaczmy jak to może wyglądać w praktyce:
<header>
	<h1>Tytuł strony</h1>
	<nav>
		<a href="#adres1">Tytuł artykułu 1</a>
		<a href="#adres2">Tytuł artykułu 2</a>
		<a href="#adres3">Tytuł artykułu 3</a>
	</nav>
</header>
<main>
	<section>
		<h2>Tytuł artykułu 1</h2>
		<p>Lorem ipsum dolor sit amet.</p>
	</section>
	<section>
		<h2>Tytuł artykułu 2</h2>
		<p>Lorem ipsum dolor sit amet.</p>
	</section>
	<section>
		<h2>Tytuł artykułu 3</h2>
		<p>Lorem ipsum dolor sit amet.</p>
	</section>
</main>
<footer>copyright</footer>

Przykład banalny, prawda? Więcej o <main> przeczytać można w artykułach poniższych osób: Ian Devlin, Dudley Storey, Jeremy Keith. A co wy o tym myślicie? Niezbędny element, czy nadprogramowy dodatek?