Coming Attractions: HTML5 and XHTML5

 

1. Introduction HTML is being revised to include more support for rich internet applications (RIA), mobile computing, and other recent developments. The new revision will also include better support for sections, sidebars, etc. The revision of HTML is being developed by the WHATWG or Web Hypertext Applications Technology Working Group. http://www.whatwg.org/ (Just to make life a little more complicated, HTML5 and XHTML5 will not include all the new features of XHTML2.0 — notably not the ability to created a link on any element.)

 

The new version will be called HTML5 and it may be 'served' or 'serialized' as either HTML (which, of course, is more forgiving) or as XHTML (more complex, but also has support for namespaces, MathML etc.) These two ways are referred to as HTML5 and XHTML5.

 

HTML5 may be used now (just include the <!doctype html> tag), but most browsers are not yet supporting all of it. Some features (e.g. the canvas for bit maps) are supported, and HTML5 will become the standard when it is supported by at least two browsers.

 

The next sections of this document tell you what you need to know for HTML5 pages, for XHTML5 pages, and provide a list of references. That list is valuable as this is a work-in-progress. Until X/HTML5 is the standard I am continuing to write XHTML1.0 without the <?xml ... > processing instruction.

 

 

2. HTML5 documents begin

<!DOCTYPE html>
<html lang='en'>

 

You may write either <!DOCTYPE or <!doctype in the first tag, but (unlike HTML4.01) you must include a doctype. This will also guarantee that your browser will use the most recent version of HTML.

 

Anything transmitted with the MIME type text/html will be rendered as HTML5. The w3c recommends this for most authors as it will be compatible with older browsers. (see section 1.4.1 in http://www.w3.org/TR/html5/introduction.html ).

 

The lang attribute is optional and is specified in the html tag as lang='en'. (If not specified, it defaults to the lang value of the parent.)

 

The charset is specified as the FIRST element after <head>

<meta charset =&$39;utf-8'>

 

 

 

3. XHTML5 documents begin

 

<html xmlns='http://www.w3.org/199/xhtml'
     xml:lang='en'>

 

Anything transmitted with MIME type application/xhtml+xml or application/xhtml or application/xml will be processed with an XML processor in the web — i.e. rendered as XHTML. (See same reference.)

 

In HTML5, the DOM now is more than a way to manipulate the page (an API); each element in the DOM now has a meaning or semantics attached to it.

 

The lang attribute is mandatory and is specified in the tag as xml:lang='en'

 

The w3c recommends that you do NOT include the processing instructions for XHTML.

 

  <?xml version="1.0" encoding="UTF-8" ?>

 

This is because some user agents will render (produce) this. Lacking this line, the charset will default to UTF-8 encoding (or possibly UTF-16), which is just fine.

 

Note: You will need the processing instruction for XML documents — see Unit 4 — Ch. 7 of this course.

 

Please also see references on doctypes and xml processors.

 

4. References:

http://www.w3.org/TR/html5/ has the current (June 2008) working draft for HTML5 . A later version (August 2008) is at http://www.whatwg.org/specs/web-apps/current-work/ and this version includes a good description of how all the various HTMLs and XHTMLs are related.

http://www.w3.org/MarkUp/xhtml-roadmap/ has the plan for all XHTML modifications — especially see table near the bottom

http://www.w3.org/TR/html5-diff/ has the differences between HTML4.01 and HTML5, including information on the new elements in HTML5 in the Language section. (Also see the first reference or http://www.ibm.com/developerworks/xml/library/x-html5/ for a sophisticated introduction or http://www.runwalsoft.com/blog/?p=15 for a gentler version. The wiki on these differences is at http://wiki.whatwg.org/wiki/HTML_vs._XHTML )

 

http://simon.html5.org/html5-elements has all elements and attributes of HTML5 (click on the item of interest in the left column), but has no revision date, so I don't know if it is staying current or not.

http://www.whatwg.org/ is the group developing X/HTML5. They run a wiki at http://wiki.whatwg.org/wiki/Main_Page and http://wiki.whatwg.org/wiki/FAQ

http://xhtml.com/en/future/conversation-with-x-html-5-team/ is a gentle introduction to HTML5. (User agent means things like browsers.)

http://xhtml.com/en/future/x-html-5-versus-xhtml-2/ explains the differences between HTML5 and XHTML2.0

http://www.w3.org/QA/2008/01/html5-is-html-and-xml.html explains the HTML5 vs XHTML5 difference

 

http://meyerweb.com/eric/thoughts/category/tech/xhtml/ has Eric Meyer (the great guru of CSS) writings on XHTML and HTML5. He is always worth reading (e.g. http://meyerweb.com/eric/thoughts/2008/06/02/the-missing-link/ )

 

http://www.w3.org/QA/2002/04/valid-dtd-list.html has a list of valid doctype declarations — last updated in 2007, so it does NOT have the X/HTML5 recommendations. Note that the w3c now recommends that you NOT include the <?xml version ... > tag on your xhtml pages.

 

http://www.w3.org/QA/2008/03/html-charset.html has more information than you probably want to know about charsets and encoding.

 

http://www.w3.org/QA/2002/04/valid-dtd-list.html has a list (last revised in 2007) of all possible doctypes and which are recommended when. Because it is missing HTML5 I suggest you check periodically and NOT use the <?xml ... > line for XHTML documents.