HTML Document

no posts found no posts found

Document Outline

The most basic function of a website is to present information in a hierarchical structure called the Outline. The Document Outline is created using the heading elements h1, h2, h3, h4, h5, and h6.

Heading elements have a rank given by the number in their name. The h1 element has the highest rank, the h6 element has the lowest rank, and two elements with the same name have equal rank.

Use the rank of heading elements to create the document outline.


More Resources

HTML Elements


The <article> element should contain a piece of self-contained content that could be distributed outside the context of the page. This includes things like news articles, blog posts, or user comments.


        As my fellow HTML5 Doctor, Oli Studholme has showed, people seldom quote exactly – so sacrosanctity of the quoted text isn’t a useful ideal – and in print etc, 
citations almost always appear as part of the quotation – it’s highly conventional.
        - <cite>Bruce Lawson</cite>


The header element is not sectioning content; it doesn’t introduce a new section in a document outline.


  • The Inline Frame Element <iframe> represents a nested browsing context, effectively embedding another HTML page into the current page.
  • iframe
  • Iframes and CSS
  • How to apply CSS to iframe?
  • NOTE: In order to improve speed, It’s a good idea to set the iframe’s src attribute with JavaScript after the main content is done loading. This makes your page usable sooner and decreases your official page load time (an important SEO metric.)


The <main> element should contain the main content for your web page. All of this content should be unique to the individual page and should not appear elsewhere on the site. Any content that is repeated on multiple pages (logos, search boxes, footer links, etc.) should not be placed within the <main> element.

The main tag can only be used once per page and it can not be a descendant of an <article>, <aside>, <footer>, <header>, or <nav> element. According to IE11 does not currently support the main element, but use of the HTML5 Shiv will fix this.


The nav element is intended to contain links to other pages within the site. Links to external sites is discouraged. Optionally nav tags can be put inside header tags.


    <option selected value="">Choose an Option</option>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>


            <td>A nice ball point pen.</td>
            <td>A package of top-shelf paper.</td>
            <td>Sturdy and powerful stapler</td>
no posts found

Semantic HTML


        <div id="logo">...</div>
        <nav role="navigation">
                <li><a href="/"><span>Home</span></a></li>
                <li><a href="/archives/"><span>Archives</span></a></li>
                <li><a href="/about/"><span>About</span></a></li>
                <li><a href="/contact/"><span>Contact</span></a></li>
    <main role="main">

More Resources

Jump Links

When a jumplink is used, it scrolls the browser window to a specific element on the page.
You can link to any element with an id attribute.

Placing a hashtag followed by the target elements ID at the end of a URL will cause the browser to scroll-to the top of the target element.

Note: In HTML5 the name attribute on the <a> element is obsolete. The name attribute was often used in HTML4 for jumplinks.

<!-- The target object. -->
<div id="my-target-element">Target element here.</div>

<!-- On-page link. -->
<a href="#my-target-element">Jump-To My Element</a>

<!-- Off-page link. -->
<a href="">Jump-To My Element</a>

<!-- With parameters. -->
<a href="">Jump-To My Element</a>

Social Media Head Tags

Even if there is no social media share widget on the page (and especially if there is) people may attempt to share the URL anyway, directly in Facebook, Twitter, Pinterest, Google+, etc. If we want direct shares to appear nicely on social sites, we need Social Metadata Tags.

Page Type

This determines the type of page to be shared. Regular pages should use “website” while news and blog posts should use “article”.

<meta property="og:type" content="website" />

Account IDs

<meta name="twitter:site" content="@websightdesign" /><!-- Twitter @username -->
<meta property="fb:admins" content="Facebook numeric ID" /><!-- Facebook numeric account ID -->

Site Name

Determines the name of the site to be used when sharing the page.
This tag isn’t always needed as the name of a site will not appear when sharing but it is still useful to include.

<meta property="og:site_name" content="Sounds True" /><!-- FB/Open Graph -->

Page Title

<meta property="og:title" content="Awake at Work" /><!--FB/Open Graph -->
<meta itemprop="name" content="The Name or Title Here"><!-- -->
<meta name="twitter:title" content="This is the title that will display in a tweet" /><!-- Twitter -->

Page URL

This tag is here to specify which URL this content comes from.
There could be instances where the same content will be on several pages.

<meta property="og:url" content="h" /><!-- FB/Open Graph -->
<meta name="twitter:url" content="URL to be used in the card" /><!-- URL at the top of the Twitter card. -->

Page Images

This tag helps site owners choose exactly which image to use. It is useful for pages lacking images.

<meta property="og:image" content="" /><!-- FB/Open Graph -->
<meta itemprop="image" content=""><!-- image. -->
<meta name="twitter:image" content=""><-- Twitter Summary card images must be at least 120x120px -->

Page Description

Use this tag to customize the summary (description) that will appear on a Twitter Card. It should be shorter than 140 characters.

<meta property="og:description" content="How Can I Realize My Full Potential?"/><!-- FB/Open Graph -->
<meta itemprop="description" content="This is the page description"> <!-- -->
<meta name="twitter:description" content="Insert the exact page summary of the page and it will be shown as is on Twitter" /> <!-- Twitter -->

More Resources

ARIA Web Standards

Markup Validation