HTML stands for HyperText Markup Language. To better understand this term, let’s slice it up piece by piece.

Hypertext is simply text displayed on a digital device that uses active links to make navigation easier. For instance, to get to this page you likely clicked on a piece of text that redirected your browser to the correct location.

Markup Language
A markup language is a way to annotate documents. With a markup language, we can turn plain text into richly formatted documents through the use of special syntax that tells the parser how to display the information and elements passed to it.

Put It Together…
With this in mind, HTML is a way to annotate and subsequently format documents for display that is dependent largely upon a system that enables text-based links. This is the very foundation of how the web works.


HTML5 is exactly what it sounds like, the fifth major iteration of HTML. HTML5 serves as a replacement for both HMTL 4.01 and XHTML 1.1, so any time you see references to these languages just know that HTML5 is the newer syntax.

HTML5 brings a ton of new features, elements and syntax changes to HTML, too many to list exhaustively here. Some that you might see mentioned regularly are a canvas element for rendering graphics, a new simplified doctype, the ability to embed video without custom plugins like Flash and new APIs for web application developers.

To learn all about HTML5, browse take a look at the following extensive resources:

On Semantics

Semantic HTML

When I first started in web design, I heard this phrase daily and it drove me nuts. Everyone always seemed to be up in arms about what was semantic and what wasn’t. It turns out, the reason for this is simple: a semantic web is a better one.

Basically, the core concept here is that your markup should convey as much meaning as possible. To accomplish this, you should use elements as they were inteded to be used and in a way that clearly communicates to anyone or anything that is looking at your code.

For instance, it used to be commonly the case that developers would structure entire web pages using HTML tables. The problem with this is that the table element has a very specific purpose: to display a table of information (think of a pricing table or feature comparison chart). When you see the

tag in use, you should immediately be able to say that what is inside is tabular data. However, when an entire site is contained in a table, this element loses all of its semantic meaning.

One of the great things about HTML5 is that it brings us several new clearly semantic elements to work with. A basic page outline might look something like the following. Even if you’re not familiar with HTML, there’s so much inherent meaning here that you can largely understand the flow of the document.