This tutorial aims to guide you through best practices in writing HTML code. Following these practices will help you develop good habits, write cleaner, more efficient code, and make your code easier for others (and future you) to read and understand.
By the end of this tutorial, you will learn:
Prerequisites: Basic knowledge of HTML
Semantic HTML elements clearly describe their meaning in a human- and machine-readable way. Elements like <header>
, <footer>
, <article>
, <section>
, and <nav>
make it clear what type of content is being contained.
Example:
<!-- Good -->
<article>
<h2>Blog Post Title</h2>
<p>Blog post content...</p>
</article>
<!-- Bad -->
<div>
<h2>Blog Post Title</h2>
<p>Blog post content...</p>
</div>
In HTML, it's crucial to close all tags you open. This helps avoid unexpected results or errors.
<!-- Good -->
<p>This is a paragraph.</p>
<!-- Bad -->
<p>This is a paragraph.
HTML is case-insensitive, but it is a good practice to use lowercase for consistency and readability.
<!-- Good -->
<body>
<p>This is a paragraph.</p>
</body>
<!-- Bad -->
<BODY>
<P>This is a paragraph.</P>
</BODY>
<img>
tagThe alt
attribute provides alternative information for an image if a user cannot view it.
<!-- Good -->
<img src="image.jpg" alt="A beautiful sunrise">
<!-- Bad -->
<img src="image.jpg">
<title>
in <head>
The <title>
element is required in all HTML documents and it defines the title of the document.
<!-- Good -->
<head>
<title>Page Title</title>
</head>
<!-- Bad -->
<head>
</head>
In this tutorial, we have covered several best practices for writing HTML including the use of semantic HTML, always closing tags, using lowercase tag names, using the alt attribute in <img>
tags, and the importance of a <title>
in <head>
.
For further learning, consider exploring more about HTML5 semantics and accessibility features.
Exercise 1: Create a semantic HTML document with a header, main section, and footer.
Exercise 2: Add an image to the document from exercise 1. Include an appropriate alt
attribute.
Solutions:
<!-- Solution to Exercise 1 -->
<!DOCTYPE html>
<html>
<head>
<title>Exercise 1</title>
</head>
<body>
<header>
<h1>Header</h1>
</header>
<main>
<p>This is the main section</p>
</main>
<footer>
<p>Footer</p>
</footer>
</body>
</html>
<!-- Solution to Exercise 2 -->
<!DOCTYPE html>
<html>
<head>
<title>Exercise 2</title>
</head>
<body>
<header>
<h1>Header</h1>
</header>
<main>
<p>This is the main section</p>
<img src="image.jpg" alt="Description of image">
</main>
<footer>
<p>Footer</p>
</footer>
</body>
</html>
Tips for further practice: Once you're comfortable with these exercises, try to develop more complex HTML documents. Use different semantic tags, images, and other elements. Try to adhere to the best practices we've learned today.