As you may or may not have noticed, I switched my web site to serving pages as XHTML, using a Wordpress plug-in Content Negotiation. Until I work through all the kinks, the pages may serve up oddly based on browser.
One thing about this approach is that whenever I make a mistake when manually adding elements–forgetting to close a tag or some such–you and I will both know immediately: for most browsers, the page should show an error.
I'm also having to modify the JavaScript for the photo expansion application. As noted in my comments, using innerHTML when serving up pages as XML can cause some problems. In Opera, it caused the sidebar float to not work properly. Right now, I've made this change so that it only takes effect when a person is actually expanding a photo. It works in many browsers, but Opera still has a problem and I'll continue to refine the example until it works properly in all my target browsers.
By serving pages as properly formatted XML, not only am I made acutely aware of my markup errors, I'm able to experiment around with newer technologies, such as the use of inline SVG. I'm using SVG in this post, though it will only show in browsers that support inline SVG. There are plugins for Internet Explorer that allow it to display SVG, but not when served inline. Same with Safari.
I'm using a proper DOCTYPE, though I'm not using the most efficient subset of the SVG specification. That will all come in time, though I'd love to hear suggestions and comments.
Why experiment with SVG and, eventually, the Canvas element? I think we're getting to the point where we need to take our browsers to the next level, and that level includes a more sophisticated CSS, as well as the ability to work with advanced graphics–without having to use Flash or plug-ins. To make a start, we need to increase the use of such technologies, and encourage browser developers to support the specifications.
I favor SVG because it's not a proprietary graphics concept, and it a proper markup. In particular, SVG allows Document Object Model (DOM) access, which makes it a very attractive approach–though the use of Canvas is more cross-browser compatible. VML is a dead-end because it's a Microsoft specification. So was innerHTML but that one now has broad user agent support, and is not going away.
I believe that web pages and applications can be both valid and accessible, and still make use of advanced graphics techniques as well as scripted effects. The key, though, is finding ways of communicating all of this to people who aren't so-called experts, so that everyone can benefit from advances made in specifications–not just the hackers.
I don't have access to every browser or other user agent in every environment, so I've also created a page where people can leave comments whenever the site generates errors or doesn't display well in their browser. This way, people have a place to put their comments without adding them on to whatever is the last post. Well, unless the comment is related to the post, such as anything to do with serving the pages as XHTML and the use of SVG associated with this post.
