Mark-up Guide

A guide to the mark-up styles used throughout this site.

Header Examples

The main page header of this guide is an h1 element. Please reserve h1 for individual page titles only. Any header elements may include links, as depicted in the example.

The secondary header above is an h2 element, which may be used for any form of important page-level header. More than one may be used per page. Consider using an h2 unless you need a header level of less importance, or as a sub-header to an existing h2 element. Any header level may include links, as depicted in the example.

Third-Level Header

The header above is an h3 element, which may be used for any form of page-level header which falls below the h2 header in a document hierarchy. More than one may be used per page.

Fourth-Level Header

For all headers below third-level, follow the guidelines listed above. Only use lower header levels when necessary.

Fifth-Level Header

For all headers below forth-level, follow the guidelines listed above. Only use lower header levels when necessary.

Sixth-Level Header

For all headers below fifth-level, follow the guidelines listed above. Only use lower header levels when necessary.

Paragraphs

All paragraphs are wrapped in p tags. Additionally, p elements can be wrapped with a blockquote element if the p element is indeed a quote. Historically, blockquote has been used purely to force indents, but this is now achieved using CSS. Reserve blockquote for quotes. Here’s an example of correct usage:

Many forms of Government have been tried and will be tried in this world of sin and woe. No one pretends that democracy is perfect or all-wise. Indeed, it has been said that democracy is the worst form of government except all those other forms that have been tried from time to time.

Winston Churchill, in a speech to the House of Commons. 11th November 1947

Additionally, you might wish to cite the source, as in the above example. (The correct method involves the cite attribute directly applied to the blockquote element, but since no browser makes any use of that information whatsoever, it’s useful to also specify the standalone cite element.)

Additional paragraph styles

The introductory text below the main page header of this guide uses the .lede class applied to a p element. This style should be used for opening paragraphs only, and its use is optional.

The .caption class can be used for captions, hints to the type of data required on within form field and other such items of secondary importance.

Inline Text

You might have noticed all the monospaced text in this guide. There are a number of inline HTML elements you may use anywhere within other elements, including abbr, code, cite, del, dfn, em, ins, kbd, q, samp, strong, and var.

abbr
Used for any abbreviated text, whether it be acronym, initialism, or otherwise. Generally, it’s less work and useful (enough) to mark up only the first occurence of any particular abbreviation on a page, and ignore the rest. Any text in the title attribute will appear when the user’s mouse hovers the abbreviation (although notably, this does not work in Internet Explorer for Windows). Example abbreviations and usage: NASA, HTML, and Mass.
code

Used for computer code samples. Useful for technology-oriented sites, not so useful otherwise. Example code and usage:

function getJello() {
echo $aDeliciousSnack;
}

With line numbers:

  1. <?php
  2. echo 'Hello World!';
  3. ?>

Inline usage: just like elsewhere in this document, HTML elements like em or code can be considered code, and marked up as such.

cite
Used for defining a citation or reference to other information sources. Example cited text and usage: More information can be found in [ISO-0000]
dfn
Used to highlight the first use of a term. Like abbr and acronym, the title attribute can be used to describe the term.

Bob’s canine mother and equine father sat him down and carefully explained that he was an allopolyploid organism.

del
Used for deleted or retracted text which still must remain on the page for some reason. Since the default style includes a strikethrough line, it’s preferable to the s element. The del element also has a datetime attribute which allows you to include a timestamp directly in the element. Example deleted text and usage: She bought two five pairs of shoes.
em
Used for denoting emphasized text. In most instances where you’d want to italicize text (using the HTML element i or otherwise) you should use the em element instead. Notable exceptions are stylistic italicizing of proper titles, foreign languages, etc. where italicizing is used for differentiation instead of emphasis. In those cases, no proper HTML elements exist, so an i element or a span element with a custom class may be preferable. Example emphasized text and usage: You simply must try the negitoro maki!
ins
Used for inserted text and counterpart to the del element. Like del, ins has a datetime attribute which allows you to include a timestamp directly in the element. Example inserted text and usage: She bought two five pairs of shoes.
kbd
Used for text which should be typed by the user. Mainly useful for computer instructions. Example keyboard text and usage: Please press Enter to continue.
q

Used for quoting inline. Example usage illustrating nested quotations:

John said, I saw Lucy at lunch, she told me Mary wants you to get some ice cream on your way home. I think I will get some at Ben and Jerry’s, on Gloucester Road.

samp
Similar to code, but is used for a sample of outputted code.
strong
Used for denoting stronger emphasis than the em element. In most instances where you’d want to bold text (using the HTML element b or otherwise) you should use the strong element instead. Notable exceptions are stylistic bolding of examples, first occurences of names in an article, etc. where bolding is used for differentiation instead of emphasis. In those cases, no proper HTML elements exist, so b element or a span element with a custom class may be preferable. Example strong text and usage: Don’t stick nails in the electrical outlet.
var
Used for variables within computer code snippets. Useful for technology-oriented sites, not so useful otherwise. Example code and usage: Add 5 to $result and recalculate.

Lists

Then there are the lists. ul denotes an unordered list (ie. a list of loose items that don’t require numbering, or a bulleted list). ol denotes an ordered list, and various numbering schemes are available through the CSS (including 1,2,3… a,b,c… i,ii,iii… and so on). Each item within the ul or ol requires a surrounding <li> and </li> tag, to denote individual items within the list (as you may have guessed, li stands for list item).

Additionally, dl is another list type called a definition list. Instead of list items, the content of a dl consists of dt (Definition Term) and dd (Definition description) pairs. Though it may be called a “definition list”, dl can apply to other scenarios where a parent/child relationship is applicable. For example, it may be used for marking up dialogues, with each dt naming a speaker, and each dd containing his or her words.

Example lists and usage:

  1. This is an ordered list.
  2. It has two items.
  3. No, I lied, it has three.
This is a term.
This is the definition of that term, which both live in a dl.
Here is another term.
And it gets a definition too, which is this line.
Here is term that shares a definition with the term below.
Here is a defined term.
dt terms may stand on their own without an accompanying dd, but in that case they share descriptions with the next available dt. You may not have a dd without a parent dt.

Tables

Tables should be used when displaying tabular data. The thead, tfoot and tbody elements enable you to group rows within each a table.

If you use these elements, you must use every element. They should appear in this order: thead, tfoot and tbody, so that browsers can render the foot before receiving all the data. You must use these tags within the table element.

The Very Best Eggnog
Ingredients Serves 12 Serves 24
Milk 1 quart 2 quart
Cinnamon Sticks 2 1
Vanilla Bean, Split 1 2
Cloves 5 10
Mace 10 blades 20 blades
Egg Yolks 12 24
Cups Sugar 1 ½ cups 3 cups
Dark Rum 1 ½ cups 3 cups
Brandy 1 ½ cups 3 cups
Vanilla 1 tbsp 2 tbsp
Half-and-half or Light Cream 1 quart 2 quart
Freshly grated nutmeg to taste

Forms

Forms can be used when you wish to collect data from users. The fieldset element enables you to group related fields within a form, and each one should contain a corresponding legend. The label element ensures field descriptions are associated with their corresponding form widgets.

Legend
Note about this field.
Note about this field.
Note about this field.
Note about this selection.
Checkbox *
Radio

Parts of this markup guide attributable to Dave Shea, and licensed under a Creative Commons License.

PreviousAbout The Author
Next Colophon