Semantic HTML elements are ones that convey their use to the developer AND the user.
For example, a <main>
tag is semantic as it tells the developer that it contains the main contents, whereas a <div>
doesn’t.
#WorldWideWeb
Types
There are several semantic elements that can be used to define different parts of a web page:
<article>
<aside>
<details>
<figcaption>
<figure>
<footer>
<header>
<main>
<mark>
<nav>
<section>
<summary>
<time>
Header
This element is for introductory content or contains navigational links.
Headers can be used for more than just site-wide navbars, they pair great with <sections>
and <articles>
.
Header elements typically contain:
- one or more heading elements (
<h1>
-<h6>
) - logo or icon
- authorship information
Article
This element is for independent and self-contained content, it should make sense on its own. Example uses include:
- Forum posts
- Blog posts
- User comments
- Product cards
- Newspaper articles
Aside
This element defines content aside from the content it’s placed in. A common example are sidebars.
The <aside>
content should be indirectly related to the surrounding content.
HTML <figure>
and <figcaption>
Elements
The <figure>
tag specifies self-contained content, like illustrations, diagrams, photos, code listings, etc.
The <figcaption>
tag defines a caption for a <figure>
element. The <figcaption>
element can be placed as the first or as the last child of a <figure>
element.
The <img>
element defines the actual image/illustration.