Semantic HTML

The last couple of weeks have featured some really excellent videos from Yahoo!’s Nate Koechley on Semantic HTML and Unobtrusive JavaScript. One was at MIX in Vegas, a Microsoft conference, but the other was at Yahoo!, and has been put on YUI Theater. I’ve gone ahead and embedded the video below.

Utlimately, I’ve always been a fan of semantic HTML. Was I not simply using default templates for this blog, I’d have strived to do them in a semantic fashion. I am working on this upgrade, but other things have taken their priority. However, in the code that I design, I strive for a meaningful layout and semantic accuracy. It probably helps that with my recent return to MUDding, and therefore to hanging out online with Blind-folks, the ability of the Semantic Web to aid Screen Readers is more apparent to me.

This video was nothing I’d never seen from Yahoo!, but it underscores part of why I’m so in love with Yahoo!’s attitude toward the web. The feeling that you always need to offer some experience, even if it’s not the prettiest experience, is a powerful one particular when paired with the principle of Progressive Enhancement. Now, admittedly, there are other companies that also follow this tenet, but I know of plenty of websites, including those I use regularly, that simply won’t function without JavaScript (and fairly modern JavaScript at that), and I’m unsure how they function for the blind.

It’s an interesting choice, to choose not to support a given demographic for whatever reason, and while I fully support people’s ability to do so, I also believe it’s not terribly difficult to simply do things in a standards compliant and semantic fashion, which can certainly ease the process of offering more universal support.

There is one place where my benevolence doesn’t extend however. Recently, Washington State University re-did their homepage, which I think is a major improvement. The flash-object in the center of the screen is dynamically loaded at runtime using the swfobject library to detect flash, and provide good content even if Flash isn’t available. I’ve been working on a JavaScript widget that would support my video embeds more cleanly on this blog using swfobject, but again, other things…

This did raise the ire of a web developer or two on campus who had installed flash-blocking add-ons into Firefox. The issue is that SwfObject detected that Flash was available, but the Extension stepped in and prevented the flash from loading, replacing the nice noscript/noflash version of the page with ugly ‘click here to play flash’ mechanisms. My argument, and the opinion held by the head of the team that designed the site, is that people who’ve chosen to handicap their web browsers in this sort of way (which isn’t to say there aren’t reasons you’d want to), can deal with the consequences of such decisions. Ideally, these extensions would provide some mechanism to detect their presence, and if they’d object to Flash being loaded (given that most of these extensions allow whitelisting), but until such a time as that happens, I believe the implementation we have is the best we can. However, I am open to suggestions.