After the introduction of many new elements and attributes in the past lessons, it is time to talk about what you should be avoiding in HTML5.

Ever since CSS was invented, web developers have been always told to segregate design from content. Let's CSS take care of the styles and HTML take care the structure and content of your page.

In HTML5, The life of the following elements have come to an end. They have no role to play in HTML5 because CSS has grab it all.

  • <basefont>
  • <big>
  • <center>
  • <font>
  • <strike>
  • <tt>
  • <u>

The following elements has nothing to do with styling but they are simply a bad guys in HTML coding because they have been blamed of "damages usability and accessibility"

  • <frame>
  • <frameset>
  • <noframes>

The following elements are not included in HTML5 because they have not been used often, created confusion, or their function can be handled by other elements:

  • <acronym> is gone, use <abbr> instead for abbreviations.
  • <applet> has been obsoleted in favor of object.
  • <isindex> usage can be replaced by usage of form controls.
  • <dir> has been obsoleted in favor of <ul>.
  • Finally the <noscript> element is only conforming in the HTML syntax. It is not included in the XML syntax as its usage relies on an HTML parser.

If you still insist on using these element, you web page will not blow, and yet, web browser will still be supporting it. So, the cost of doing is, your page will not pass in HTML5 validation.