HTML 5 Impressions

The World Wide Web Consortium (W3C) began nine months ago to redesign HTML to fit in better with today’s Web Application world. Today, they published the first draft of HTML 5. While far too early to actually think about using, the draft shows that quite a bit of good consideration has gone into redefining the standard.

In fact, there is only one aspect that I’m a bit leery about. The new standard tries to combine HTML and XHTML by allowing the web developer to choose which syntax to use. While convenient, I can’t help but wonder if this is going to make parsers harder to build. I suppose that doesn’t really matter, as I’ve always preferred HTML4 over XHTML1, and at least with this new version of HTML I’m not being forced down any path.

That aside, almost all the changes are definitely for the better. The DOM API is being moved into the standard, new standard drawing APIs are being created, the last vestiges of formatting are being pulled out of HTML in favor of CSS, and several more elements to aide in data organization and layout. One of my favorite new features is the ability to put headers and footers in any block-level element. Actually, I can see a lot of things about HTML 5 that would make formatting my Blog far easier. Each entry would be an

which could have one or more within it, each Article would have it’s own
and
, allowing for easier formatting and organization.

Sure, all of this was possible before using

tags, but now we we’ll have something better. Document structure will be far cleaner than before. Plus, Forms have had major improvements. Form elements can now belong to more than one form, there are built-in inputs for Dates, Times, URLs, Emails, and so on, allowing for more consistent user experiences in the browser (no more Javascript calendars), and better data checking on the browser side. Input elements can be marked as required, causing the browser to not submit forms until you have all the data you’ve requested.

Of course, this potentially will open up security holes in web applications, as web developers continue to forget that all the data from the client must be verified, something web developers still have trouble with. Overall though, the benefits gained by client-side controls are great, and I’m looking forward to it.

Frames have been dropped (finally), and iFrames have better support for cross-document communication, allowing more interesting things to be done via them. Embedding media will become easier, and other aspects of embedding have been simplified. In all, I can’t think of anything that I prefer from HTML 4 over the draft for 5. I can only hope that it is implemented soon after the standard is complete, so we can begin to take advantage of it early.