In the development of HTML5, Google or someone looked at a lot of web pages and found that many contained code like this to indicate the structure of a web page

<div id="header"></div>

<div id="nav"></div>

<div id="main">

<div id="section"></div>

<div id="aside"></div>

<div id="section></div>

</div>

<div id="footer"></div>

-----------------------------------------

and so the HTML5 developers decided on a set of tags to do the same thing, i.e.

<header></header>

<nav></nav>

<main>

<section></section> <!-- can have one or more section elements; if these could stand alone, <article> would be a better choice -->

<aside></aside> <!-- for content is only indirectly related to the main content, generally formatted as a sidebar or callout box -->

<section></section> <!-- one can have more than one section element on a page

</main>

<footer></footer>

-----------------------------------------------------