There are about ten (X)HTML doctypes. Differences are subtle (and sometimes nonexistent). It is recommended that you use the HTML5 doctype:
which triggers standard mode in every browser (even Internet Explorer 6).
<meta> element and
It is not uncommon to find source code with the following line:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
However, all Web browsers (even Internet Explorer 6) will act the same if you reduce it to:
<meta charset="UTF-8" />
Numerous deprecated values or non-standard values are still copied from one site to the other, perpetuating their use; although use of these elements is widespread, they are actually do not follow the specifications and are invalid. Especially, don't use:
<meta name="MSSmartTagsPreventParsing" content="true">which was useful only in one beta version of Internet Explorer 6. That version is not used anymore and the feature, smart tags, has been removed and won't come back.
<meta name="robots" content="all">. If the robots value does exists and is perfectly legitimate, don't use not existing values, like
all. By default it is
index, followwhich is basically what the non-existing
allis supposed to do. Just remove the whole
<meta name="copyright" content="…">. This meta doesn't exist. Remove it and create a copyright page or div, or link to it using the
<link>HTML element with the
<meta name="rating" content="…">. This meta doesn't exist. Just remove the whole
HTML comments in scripts
There was once a time in which some browsers understood the
<script> tag and others didn't. This sometimes led to browsers rendering as text what should be interpreted as script. A natural idea was to put scripts as HTML comments. This way, browsers executing scripts would execute them and those who did not understand scripts would just ignore them.
From this era, we inherit things like:
All of this is completely useless nowadays - even browsers which do not execute scripts just ignore
<script> tags. Just write your scripts within between the start and end
<script> tags. Better, insert your scripts as separate files with the
src attribute; while you're at it, consider trying the HTML5
Elements which should not be used anymore
The font tag should not be used any more. CSS is preferred to control typography appearance on the elements, targeted by tag or ID/Class attributes..
b, i, u
Exercise discretion when choosing which of these elements to use. Some development-oriented pages advise simply replacing
<em>. It is a bad idea to follow this advice.
<strong> is for statements of strong importance, while
<em> is for otherwise emphasized text. For example, it's a bad idea to use
<em> simply to achieve italicization; italic, non-emphasized text can be achieved by using
font-style:italic in your pages' CSS. Similarly, titles of books and works of art are traditionally styled with italic text, but using the
<cite> element for these items provides more semantic mark-up than