These tags are used for titles and indicate the level of importance of the title and related information. <h1> is the most important and <h6> is the least.
Headings are very important for both 508, and SEO.
Headings are intended for a new section or subsection of the page.
The h1 element must not appear as a descendant of the address element.
<h1> - <h6> can be used in <body>
<h1> - </6> can be used in <header> Its less likely to use lower than <h1> or <h2>
<h1> - <6> can be used i n <main> Its unlikely that you will use lower headings within the main if you are including sections and or articles. <h1>-<6> can be used in <section>
<h1>-<6> can be used in <article>
<h1>-<6> can be used in <aside>
<h1>-<6> can be used in <nav>
<h1>-<6> can be used in <footer>
<h1>-<6> cannot be a descendent of <address>
<h1>-<6>cannot be a descendent of <p>
Whereas headings would be expected to be used in <main>, <section>, <article> and sometimes <header> or <aside> they are less likely to be used in <nav> or <footer>.
A while ago I gave the impression that the hgroup element was no longer part of the HTML specification, this is not the case at least for the moment. (January 2014) W3C still lists this element as part of the specification. You can also access the ongoing discussion regarding the possible changes/replacement for hgroup also at W3C.
Should it stay part of the specification here is how to use it:
The hgroup element is used to group headings together. It must contain at least two of the heading elements and no other information. It is for grouping a title with a subtitle. It can contain different combinations such as <h1> with <h2.> or <h3> with <h4> etc.
For those of you that create headings with display: inline ( to get rid of the unsightly gap) and then add a <br> you will not longer be able to do this because it will not validate if a <br> is inside an hgroup. You need to play with the margins inorder to reduce the gap.
Attributes: All Global