HTML5 is a new version of HTML and XHTML. The HTML5 draft specification defines a single language that can be written in HTML and XML. It attempts to solve issues found in previous iterations of HTML and addresses the needs of Web Applications, an area previously not adequately covered by HTML. (source)
Internet Explorer supports the use of a document compatibility
<meta> tag to specify what version of IE the page should be rendered as. Unless circumstances require otherwise, it's most useful to instruct IE to use the latest supported mode with edge mode.
For more information, read this awesome Stack Overflow article.
All HTML pages should be verified against the W3C validator, to ensure that the markup is well formed. This in and of itself is not directly indicative of good code, but it helps to weed out problems that are able to be tested via automation. It is no substitute for manual code review.
The markup that you write should always be as semantic as possible. Easily readable and understandable by both humans and Bots( site crawlers ). This even helps the SEO of the site.
Here is an awesome article that will help you understand the sematics in depth, ( lets-talk-about-semantics )
You can learn about the Semantic elements in HTML5 over here, ( html5 Semantic Elements )
Though we are using HTML5, which allows for either HTML or XHTML style syntax, we prefer the strictness of XHTML. Therefore, all tags must be properly closed. For tags that can wrap nodes such as text or other elements, termination is a trivial enough task. For tags that are self-closing, the forward slash should have exactly one space preceding it
<br /> vs. the compact but incorrect
<br/>. The W3C specifies that a single space should precede the self-closing slash ( source ).
All tags and attributes must be written in lowercase. Additionally, we prefer that any attribute values also be lowercase, when the purpose of the text therein is only to be interpreted by machines. For instances in which the data needs to be human readable, proper title capitalization should be followed, such as:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<a href="http://example.com/" title="Description Goes Here">Example.com</a>
In keeping with the strictness of XHTML code conventions, according to the W3C, all attributes must have a value, and must use double-quotes ( source ). The following are examples of proper and improper usage of quotes and attribute/value pairs.
<input type="text" name="email" disabled="disabled" />
<input type=text name=email disabled>
Checkout some more links about HTML Coding Standards: