This HTML course for web developers provides a solid overview for developers,
from novice to expert level HTML.

*HyperText Markup Language*, or HTML, is the backbone of the web, providing the
content, as well as the structure of that content, that you see displayed in
your web browser.

Unless you're reading a PDF or a printed version of this page, this content is
made up of various HTML elements and text. HTML is the content layer of the web.
HTML elements are the nodes that make up the
[Document Object Model](https://developer.mozilla.org/docs/Web/API/Document_Object_Model).

[Cascading Style Sheets](https://web.dev/learn/css) provide the look and feel, or presentation
layer of the page. [JavaScript](https://web.dev/learn/javascript) is the behavior layer, often
used to manipulate the objects within a document. Sites that are built with
JavaScript frameworks are really just manipulating HTML. In turn, it's important
to mark up your HTML in a way that scripts can easily parse and that
assistive technologies can understand.

This means writing HTML code with modern standards.
[![Sign up for the web.dev newsletter.](https://web.dev/static/images/newsletter/opt2_banner.png)](https://web.dev/newsletter?nl_cta=true)

## What you'll learn

This HTML course for web developers provides a solid overview for developers,
from novice to expert level HTML. If you're completely new to HTML, you'll
learn how to build structurally sound content. If you've been building websites
for years, this course may fill in gaps in knowledge that you didn't even know
you had.

Along this journey, we'll build the structure for
[MachineLearningWorkshop.com](https://machinelearningworkshop.com). No machines
were harmed in the creation of this series.

**This is not a complete reference** . Each section introduces the section topic
with brief explanations and examples, providing you an opportunity to explore
further. There are links to topic references, such as
[MDN](https://developer.mozilla.org) and
[WHATWG](https://html.spec.whatwg.org/multipage/) specifications, and other
[`web.dev`](https://web.dev/learn) articles. While this is not an accessibility course, each
section includes accessibility best practices and specific issues, with links to
deeper dives on the topic. Each section has a short assessment to help people
confirm their understanding.

Here's what you'll learn:

### [Overview of HTML](https://web.dev/learn/html/overview)

A brief introduction to the key concepts in HTML.

### [Document structure](https://web.dev/learn/html/document-structure)

Learn how to structure your HTML documents with a solid foundation.

### [Metadata](https://web.dev/learn/html/metadata)

How to use meta tags to provide information about your documents.

### [Semantic HTML](https://web.dev/learn/html/semantic-html)

Using the correct HTML elements to describe your document content.

### [Headings and sections](https://web.dev/learn/html/headings-and-sections)

How to correctly use sectioning elements to give meaning to your content.

### [Attributes](https://web.dev/learn/html/attributes)

Learn about the different global attributes along with attributes specific
to particular HTML elements.

### [Text basics](https://web.dev/learn/html/text-basics)

How to format text using HTML.

### [Links](https://web.dev/learn/html/links)

Everything you need to know about links.

### [Lists](https://web.dev/learn/html/lists)

Lists and other ways of grouping your content.

### [Navigation](https://web.dev/learn/html/navigation)

Navigation is a key element of any site of application, and it starts with HTML.

### [Tables](https://web.dev/learn/html/tables)

Understanding how to use tables to mark up tabular data.

### [Forms](https://web.dev/learn/html/forms)

An overview of forms in HTML.

### [Images](https://web.dev/learn/html/images)

An overview of images in HTML.

### [Audio and Video](https://web.dev/learn/html/audio-video)

Discover how to work with HTML media such as audio and video.

### [Template, slot, and shadow](https://web.dev/learn/html/template)

An explanation of template, slot, and shadow.

### [HTML APIs](https://web.dev/learn/html/apis)

Learn how HTML information can be exposed and manipulated using JavaScript.

### [Focus](https://web.dev/learn/html/focus)

How to manage focus order in your HTML documents.

### [Other inline text elements](https://web.dev/learn/html/inline-text)

An introduction to the range of elements used to markup text.

### [Details and summary](https://web.dev/learn/html/details)

Discover how the very useful details and summary elements work, and where to
use them.

### [Dialog](https://web.dev/learn/html/dialog)

The `<dialog>` element is a useful element for representing any kind of dialog
in HTML, find out how it works.

### [Conclusion and next steps](https://web.dev/learn/html/conclusion)

Wrapping up with some further resources.

So, are you ready to learn HTML? [Let's get started](https://web.dev/learn/html/overview).

> [!NOTE]
> **Note:** This course was written by [Estelle Weyl](https://front-end.social/@estelle), with input and review from [Rachel Andrew](https://twitter.com/rachelandrew), and [Jhey Tompkins](https://twitter.com/jh3yy).