HTML stands for HyperText Markup Language. It is the standard language used to create and structure content on the web. Every web page you visit is built with HTML at its core.
| Version | Year | Key Changes |
|---|---|---|
| HTML 1.0 | 1991 | Basic text and links |
| HTML 2.0 | 1995 | Forms, tables |
| HTML 3.2 | 1997 | Scripts, style sheets |
| HTML 4.01 | 1999 | CSS separation, accessibility |
| XHTML 1.0 | 2000 | Stricter XML-based syntax |
| HTML5 | 2014 | Semantic elements, audio/video, Canvas, APIs - current standard |
Every HTML document follows this fundamental structure:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Web Page</title>
</head>
<body>
<h1>Hello, World!</h1>
<p>Welcome to my first web page.</p>
</body>
</html>
When you open an HTML file in a browser, the browser reads the HTML top to bottom, builds a DOM (Document Object Model) tree, and renders it visually. You don't need to install anything - just create a .html file and open it in any browser.
After the DOM is built, CSS styles are applied and JavaScript can update the page dynamically. This is why clean HTML structure is important before adding design or interactivity.
HTML describes document meaning. A button represents an action, a link represents navigation, headings create an outline, labels name controls, lists group related items, and tables associate tabular headers with data. Native elements already carry keyboard behavior, focus rules, form participation, and accessibility semantics that a generic div does not provide.
Choose elements from their purpose before styling. Inspect the accessibility tree as well as the visual page, and keep source order meaningful when CSS changes placement.
Browsers recover from many markup errors, but recovery can move nodes or close elements differently from what the author intended. Validate nesting, unique identifiers, form associations, language metadata, character encoding, and resource URLs. Use developer tools to compare the network response, parsed DOM, computed accessibility information, and console diagnostics.
The first response should contain useful structure even when CSS or JavaScript is delayed. Test keyboard navigation, zoom, narrow screens, missing images, and script failure before treating a page as complete.
<section aria-labelledby="what-title">
<h2 id="what-title">What</h2>
<p>This block uses meaningful tags so browsers, users, and assistive technology understand the content.</p>
<a href="/learn/what">Read the full What note</a>
</section>
<form>
<label for="what-input">What value</label>
<input id="what-input" name="what" required>
<button type="submit">Save</button>
</form>
<!-- Check: every interactive element has a name, purpose, and keyboard path. -->
It describes the structure and meaning of page content, while CSS controls presentation.
It tells the browser to use standards mode for modern HTML.
Browsers may repair invalid markup, but visible content belongs inside body.
Explore 500+ free tutorials across 20+ languages and frameworks.