Category Archives: Standards

Standards, protocols, recommendations and guidelines.

Web Directions 2006

It was an absolutely phenomenal experience! Everything from the workshops and presentations to the people, and the after parties were just fantastic!

Accessibility 2.0 Workshop

On Wednesday, 2006-09-27, I went to Derek Featherstone’s workshop on accessibility. It was very informative and interesting to see many of the issues demonstrated. Throughout the day, he demonstrated the use of various assistive technologies, including a screen reader and voice recognition, showing just how badly common mistakes can affect the usability and accessibility of a site. Although I had previously read about several of the issues discussed, some were new to me and it was great to see the practical demonstrations.

Conference Day 1

Thursday, 2006-09-28, was day 1 of the conference. The most enjoyable presentations for me were Jeremy Keith’s Explaining Ajax (featuring a sexy, and rather hairy, topless photo of Cameron Adams) and John Allsopp’s Microformats. Derek also presented on accessibility, which was also good, but it was almost a subset of the topics addressed in his workshop, with only a few new points.

Conference Day 2

Friday, 2006-09-29, was the second and final day of the conference. At the beginning of the day, John Allsopp awarded prizes for cool and/or funny photos posted to flickr and . I was lucky enough to receive some prizes for my photo of Ben Buchanan in is Web 2.0MFG shirt. I won a SitePoint shirt that reads “Eat, Sleep, Code” and two books: The CSS Anthology and Deliver First Class Websites.

Andy Clarke’s presentation, Creating Inspired Design, was extremely interesting. As I’m a coder, not a designer, it was good to learn about web design from a designer’s perspective. Without showing any code at all, he illustrated ways to think about design and how to look for inspiration in the real world. He showed how, with just a little creativity, we can start to break out of the common 2 or 3 column layouts and into more interesting concepts.

However, the highlight of the day was Cameron Adams getting his revenge with a topless photo of Jeremy. But, according to Jeremy, that photo was actually photoshopped.

The People

Despite all the great presentations and workshops, the most exciting part of the conference was getting to meet so many wonderful people. It was an absolute pleasure to meet the likes of Molly Holzschlag, Derek Featherstone, Jeremy Keith and James Edwards (Brother Cake), as well as catching up with people I’d met before like Russ Weakley, Cameron Adams, John Allsopp and many others.

I got plenty of great photos over the 3 days I was there. In particular, the Lachlan³ photo featuring myself, Lachlan Hardy and Lachlan Donald, and myself with a bunch of fairly hot chicks.

Finally, the t-shirt slogan competition to come up with a Web 2.0 slogan is yet to be announced, but I’m hoping to win for my “Wake Me for Web 3.14” shirt. Of all the shirts I saw at the conference and those on Flickr, I’m predicting the major prize of a Sony MYLO will be awarded to either myself or Anson Parker for “Wallet Inspectr Nigerian Division”. John told me it would be announced on the Web Directions blog some time this week.

XML Prologue

One thing I come across frequently is incorrect terminology. I’ve written about this topic once before (see HTML Tags) and others have discussed similar topics as well, particularly relating to elements, attributes and tags. But a more specific area that deserves a little more attention is the distinction between the DOCTYPE, the XML declaration and the XML prolog and other things within it.

The XML Prolog is the section at the beginning of an XML document which includes everything that appears before the document’s root element. The XML declaration, the DOCTYPE and any processing instructions or comments may all be a part of it. The following figure illustrates this concept.

The diagram highlights the XML Prolog at the beginning of a sample XHTML 1.0 document containing the XML declaration, a processing instruction, a comment and the DOCTYPE.

In fact, the XML Prolog is always present in every XML document, though it may in fact be empty because all of those are optional in some circumstances.

The XML Declaration

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

The XML declaration, if present, must occur at the very beginning of the file. It may not be preceded by anything except for a possible Byte Order Mark (depending on the character encoding). It is mostly used to provide XML version information and to declare the character encoding of the document. There is another thing called the standalone document declaration; but since it’s rarely needed or used and its purpose is not easy to explain, just ignore it.

Presently, only XML 1.0 and XML 1.1 are defined. Either may be used, but the decision should not be made lightly. Do not just use version="1.1" because it is higher version number. For most authors these days, version="1.0" should be used. In fact, unless you have a specific reason that requires the use of XML 1.1 features, you should stick with 1.0.

The encoding declaration, if present, must declare the encoding of the document. Authors may use any encoding supported by user agents, but are encouraged to use charsets registered with IANA (preferably UTF-8 or UTF-16). If the declaration is not present, the document must be encoded as UTF-8 or UTF-16 (unless it specified by a higher level protocol, like HTTP).

Processing Instructions

<?xml-stylesheet type="text/css" href="/style/design"?>

Processing Instructions are used to provide instructions to applications processing the document. The example of the xml-stylesheet PI given in the above diagram is used to instruct an application to apply a stylesheet to the document.

PIs can be used almost anywhere within the document. Though, only those that appear prior to the root element are considered part of the prolog.

Comments

<!-- This is a comment -->

Most people know what comments are, there’s not much I need to say about them. However, like PIs, they’re only considered part of the prolog if they appear before the root element.

The Document Type Declaration

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Many authors will have seen and used a DOCTYPE in their documents, although there are still many who don’t. The DOCTYPE is used to reference a Document Type Definition and is mostly used for validation purposes.

Many people know that using specific DOCTYPEs will trigger standards mode in browsers, but this does not apply to XML documents. DOCTYPE sniffing only applies to HTML documents (i.e. any document served as text/html). Browsers have, thankfully, not introduced it into XML processing. Henri Sivonen explains more about this in Activating the Right Layout Mode Using the Doctype Declaration.

Web Forms 2.0 W3C Working Draft

The Web Forms 2.0 specification that was drafted by the WHATWG has been published as a W3C Working Draft. This spec provides many enhancements to traditional HTML forms including new form controls, a repetition model, XML submission, and DOM interface and event enhancements.

The spec is still being developed by the WHATWG, but has been published by the The Web Application Formats Working Group’s Rich Web Clients activity.