I am reminded of the quote “The nice thing about standards is that there are so many of them to choose from.” attributed to “Andrew S. Tanenbaum”, whilst looking into the structure of web pages.
The Firefox browser add in ‘FireBug’ provides a nice tool under ‘Tools- Validate HTML’ which enables the page one is viewing to be checked by the W3C Markup Validation Service. By default it uses the standard defined at the start of most web pages, but the number and variety of possible standards is most interesting. The output is a nice listing of ‘errors' and ‘warnings’ upon the page structure and its elements. [Note that it excludes the ‘new’ standards mentioned below, although it does have ‘HTML5 Experimental’]
Whilst one can then proceed to correct and eliminate the errors and warnings it does raise the question as to what standard should one be writing web pages to: HTML5, XHTML 1.0 Transitional, XHTHL 1.0 Standard, XHTML 1.0 Framework, HTML 4.01 Strict etc. The list goes on to provide about 15 possible standards.
Wikipedia defines Web Standards as follows:
“Web standards are the formal, non-proprietary standards and other technical specifications that define and describe aspects of the World Wide Web. In recent years, the term has been more frequently associated with the trend of endorsing a set of standardized best practices for building web sites, and a philosophy of web design and development that includes those methods.”
This does not of course state which standard one should be coding towards. It does not seem possible from out tests to meet all of the standards with any one page, since each has certain attributes and criteria that the others object to. One therefore has to decide what might be appropriate and keep to that specific standard. Looking around there are a lot of pages purporting to be to HTML 4.01 xxx, HTML5 and XHTML 1.0 Transitional standards, with most of the others not appearing.
Waiting in the wings there are also two new standards, which are XHTML 2.0 and Web Applications 1.0, more commonly referred to as X/HTML 5. These specifications take different approaches and will have different outcomes in terms of the future development of markup languages.
XHTML 2 is intended to create an architecture that will become the host language to many other W3C technologies already in use, or in the works. XHTML 2 is based solely on XML, a technology that most believe will enable the Web to reach its full potential. XHTML 2 is driven by how markup should be used, rather than by how markup is currently used.
X/HTML 5 is an extension of HTML 4 and XHTML 1. It is an incremental step forward rather than a grand leap forward in the style of XHTML 2. Working within the confines of HTML 4 and XHTML 1, X/HTML 5 has devised clever solutions to address some of the faults in HTML 4 and XHTML 1. X/HTML 5 can be also be served as HTML or XML. So, unlike XHTML 2, X/HTML 5 is influenced by the current state of the art (Web browser technology, etc.) and how markup is currently used.
Both X/HTML 5 and XHTML 2 were (and continue to be AFAIK) at the stage of working drafts.
Should one be writing to these new standards. From our investigations it appears that few (if any) are using these ‘new’ standards so it seems apt that one continues to write to XHTML 1.0 Transitional with our coding.
It should be noted that even in cases where there is a clear violation of whichever web standard is being used on a web page, the page does in most cases display correctly. A credit to the ability of browser authors to bring some order to the number of standards available.