Semantic HTML refers to the use of HTML5 elements that convey the meaning or structure of the content, rather than just how it looks. It makes web pages more understandable both for developers and browsers, and improves SEO (Search Engine Optimization) and accessibility for screen readers. These elements clearly describe their purpose in the document and define the different sections of a webpage.
Each of these HTML5 elements serves a unique purpose to define the structure of a webpage.
<header>
The <header>
element defines the header section of a webpage or a section of the page. It typically contains introductory content, such as logos, navigation menus, or headings.
Example:
<header>
<h1>Website Title</h1>
<nav>
<ul>
<li><a href="home.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
</header>
<nav>
The <nav>
element defines the navigation section of the page, typically containing links to other sections or pages.
Example:
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
<main>
The <main>
element represents the main content of the webpage. There should only be one <main>
element per page, and it should not contain any content that is repeated across pages (like sidebars or footers).
Example:
<main>
<h2>Welcome to Our Website</h2>
<p>This is the main section of the webpage where the most relevant content appears.</p>
</main>
<section>
The <section>
element groups related content within a page. It represents a thematic grouping of content, typically with its own heading.
Example:
<section>
<h2>Our Services</h2>
<p>We offer a wide range of web development services.</p>
</section>
<article>
The <article>
element defines independent, self-contained content. This could be a blog post, a news article, a forum post, or any other piece of content that could stand alone.
Example:
<article>
<h2>Latest News</h2>
<p>This is a news article about the latest updates in web development.</p>
</article>
<aside>
The <aside>
element represents content that is tangentially related to the main content, such as sidebars, advertisements, or pull quotes. It’s used for content that supplements the main information.
Example:
<aside>
<h3>Related Articles</h3>
<ul>
<li><a href="article1.html">Understanding CSS Grid</a></li>
<li><a href="article2.html">Introduction to JavaScript</a></li>
</ul>
</aside>
<footer>
The <footer>
element defines the footer of the page or a section. It typically contains copyright information, contact links, or other relevant content for the end of the page or section.
Example:
<footer>
<p>© 2024 Your Company. All Rights Reserved.</p>
<a href="privacy.html">Privacy Policy</a>
</footer>
<figure>
and <figcaption>
The <figure>
element is used to encapsulate media content like images, illustrations, diagrams, or code snippets. It is typically accompanied by a <figcaption>
to provide a caption for the content.
Example:
<figure>
<img src="diagram.png" alt="A diagram explaining semantic HTML">
<figcaption>Figure 1: A diagram explaining the structure of semantic HTML.</figcaption>
</figure>
<time>
The <time>
element is used to represent a specific date and/or time.
Example:
<article>
<h2>Event Announcement</h2>
<p>The event will be held on <time datetime="2024-10-15">October 15, 2024</time>.</p>
</article>
<mark>
The <mark>
element highlights or marks text that is important or relevant.
Example:
<p>The <mark>introduction of semantic HTML</mark> has greatly improved web development practices.</p>
<dl>
, <dt>
, <dd>
These tags are used to create description lists, often used for key-value pairs or term-description combinations.
<dl>
: Defines the description list.<dt>
: Defines the term.<dd>
: Defines the description.Example:
<dl>
<dt>HTML5</dt>
<dd>The latest version of HTML, with new features for modern web development.</dd>
<dt>CSS</dt>
<dd>A style sheet language used to describe the presentation of a document written in HTML or XML.</dd>
</dl>
<summary>
and <details>
The <details>
element is used to create a collapsible section, and the <summary>
element provides a heading for the collapsible section.
Example:
<details>
<summary>More Information</summary>
<p>This is additional content that is hidden by default and can be shown when the user clicks the summary.</p>
</details>
Non-semantic elements like <div>
and <span>
do not provide any meaning about their content. They are often used for styling and layout purposes.
<div>
: A block-level element used for grouping content.<span>
: An inline element used for styling specific pieces of text.Although these elements are versatile, they do not add any meaning to the content, making the code harder to read and interpret.
<div>
and <span>
.alt
text for images to improve accessibility.<header>
, <main>
, <footer>
, etc.).<h1>
for the main heading, and use descending order for subheadings (<h2>
, <h3>
, etc.).By using semantic HTML5, developers create more meaningful, accessible, and maintainable web pages, benefiting users, search engines, and future development.
Next -> HTML Validation
Back to Contents page click here