History of HTML

During the 1990's, the HTML standard had been evolving pretty steadily. But as Internet Explorer, with it's myriad of non-standard extensions, gained popularity with developers it caused a divergence between the standard and the implementation, which resulted in the evolution of the markup language becoming stagnant for almost a decade. Various attempts to make some additional improvements in HTML, such as XHTML, unfortunately backfired and resulted in even more fragmentation in HTML development.

Finally, HTML 5 promises to bring order back to the chaos. HTML 5 is a base standard that provides a good foundation on top of which future enhancements to the HTML language and related web development technologies can be built. There is enough support from vendors and standards bodies behind HTML 5 that developers who have been creating web sites using HTML and XHTML as well as Flash can confidently start their migration to this latest version of HTML. Many web browsers, including Chrome, Firefox, Internet Explorer, Opera and Safari already support most of the features of HTML 5. In particular, developers who are concerned about their web site content and apps running on mobile devices should convert their content to HTML 5.

Note that there is no DTD in HTML 5. See the HTML <!DOCTYPE> Declaration for more information.

Style vs. Content
Separation of content and presentation

In the early days of the Internet, presentation of web content was primarily limited to web browsers on desktop or larger computers. As the Internet evolved and became more ubiquitous, there came a greater need to view content in various other ways, such as with non-visual browsers for better accessibility. When a non-standard <font> tag was added to one of the browser implementations, it's various attributes provided much more control over the presentation of an HTML document, but assumed the user had a desktop-based browser with the correct fonts installed. Even by the time the HTML 3.2 specification was released it was recognized that such tight integration of the presentation style with markup of content would limit access to the content and hinder innovations such as machine translation and therefore needed to be phased out. With HTML 4, style sheets were introduced in order to separate style from content. HTML 5 continues to promote the separation of the semantic content of documents from the style of presentation of elements on web pages. Many of the HTML tags deprecated in HTML have been non-semantic tags which provide only some specific style for web page elements.

In addition, as the ratio of computing power to size and cost has increased (Moore's Law), the desire to view content on small handheld mobile devices is constantly increasing. Due to their screen size, however, it is often desirable to provide a different layout for small screen devices than for a desktop computer or printer. A common approach is to use different navigation code for small screen devices than when more screen real estate is available. As with previous versions of HTML, HTML 5 supports this by allowing common elements, such as a navigation section, to be put into templates, thus separating the layout from the content. An added benefit is that these templates can be cached by the client browser. By having only the page-specific content in the HTML documents and avoiding the need to download the same common elements with every web page, page load times can be much faster.