Yesterday W3C has published document named HTML5 differences from HTML4. Interesting here is that the standard provides two syntax variants HTML5 and XHTML5:

  • HTML5 - is compatible with HTML4 and XHTML1 documents published on the web, but is not compatible with the more esoteric SGML features of HTML4. Documents using this syntax need to be served with the text/html MIME type. HTML5 also defines detailed parsing rules (including “error handling”) for this syntax which is largely compatible with popular implementations. User agents will follow these rules for resources that have the text/html MIME type.
  • XHTML5 is compatible with XML and correct XHTML1 documents. Documents using this syntax need to be served with an XML MIME type and elements need to be put in the http://www.w3.org/1999/xhtml namespace following the rules set forth by the XML specification.

At first the new version handles more strictly some constructs e.g. the div and li content, so that these elements can have only blog or in line content but no both. Furthermore guys and ladies of W3C are now very careful and try to create a true markup language so that no information is provided how the elements should be represented in browser, for example the following:

  • The b element now represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is emboldened.
  • The hr element now represents a paragraph-level thematic break.
  • The i element now represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose, such as a taxonomic designation, a technical term, an idiomatic phrase from another language, a thought, a ship name, or some other prose whose typical typographic presentation is italicized. Usage varies widely by language.

And of cause there are Elements and Attributes that will no longer Supported:

  • Elements acronym, applet(has been obsoleted in favor of object), basefont,big,center, dir, font, frame, frameset, isindex, noframes, noscript(only dropped in XHTML5), s, strike, tt, u.
  • The rev and charset attributes on link and a.
  • The target attribute on link.
  • The nohref attribute on area.
  • The profile attribute on head.
  • The version attribute on html.
  • The name attribute on map (use id instead).
  • The scheme attribute on meta.
  • The archive, classid, codetype, declare and standby attributes on object.
  • The valuetype attribute on param.
  • The charset attribute on script.
  • The summary attribute on table.
  • The headers, axis and abbr attributes on td and th.

In addition, HTML5 has none of the presentational attributes that were in HTML4 (including cellpadding and cellspacing).

In my humble opinion with HTML5 we become serious upgrade for modern needs.