Three cheers for Internet Explorer

I haven’t used IE7 yet (because the now-defunct shop that sold me my computer also charged me for a pirated version of Windows, the bastards), but it seems to have some groovy enhancements to the (ahem) somewhat creaky support for css that we’d worked around in IE6.

This is particularly notable, as I imagine that the decision to upgrade IE was taken because of its dreadful security, which had more embarrassingly exposed holes than a Swiss Cheese at the gynaecologist. Let’s be honest: 99.99% of the world don’t give a hoot about Web Standards, as all the Websites they use for banking, online purchasing, doing whatever work fine with IE (because if they didn’t, the site’s business would obviously suffer). So we’re kidding ourselves, I think, if we say that customers demanded upgrades to the browser’s css support.

But when even the Department of Homeland Security warned about the security problems, big corporations began to get worried. And if that worry caused big companies moved from Internet Explorer to Firefox (say), they might realise that they’re no longer tied to the perpetual upgrade cycle of Windows and Office. So the mighty beast of Redmond stirred, to ensure that something as cobwebbed as IE6 didn’t embarrass shiny new Windows Vista.

The fact that we’ve got all the splendid new css loveliness is a bonus, and (as far as I can tell) is due to Chris Wilson and the über-shmoozer, Molly Holzschlag and my colleagues in the WaSP Microsoft Task Force. Chris, if you’re ever round Birmingham and at a loose end, there’s a pint of Guinness and a balti on me waiting for you. (Molly’s already had hers.)

Girlishness and churlishness

The reaction by the web development community has been unexpected. Mac-lovin’ designery types like Clarkey and Dave Shea have been blushing in maidenly joy as IE7 embraces their sites in his strong manly arms, and runs his fingers through their selectors.

Others in the community were less enamoured, saying that it’s a disgrace we had to wait this long, Firefox is the dog’s bollocks and Microsoft sucks rhinocerous cocks in hell. I agree that it is a shame we had to wait this long, and Firefox is the mutt’s nuts, although it’s hardly without its own rendering errors, ditto Opera and Safari. (And, for the record, I think what Microsoft does with pachyderms in its own time is its own affair.)

It seems pretty blummin’ churlish to berate Microsoft for not upgrading its browser, not listening to the many trillions of standards-evangelising web developers worldwide – and then, when they pull a rabbit out of a hat, putting the boot in. Assuming they don’t introduce new bugs, what they’ve done is a Good Thing, and I’m just glad that screaming in frustration while testing will go away (fingers crossed, fingers crossed).

So what next?

What’s missing from IE7 is a frequent topic for discussion. Some are up in arms because it can’t deal with “real” xhtml, as it refuses the application/xhtml+xml MIME type, which is evil and wrong. I’m evil and wrong, too, because I don’t much care – and anyway, it’ll be fixed.

More importantly for those of us who want to brighten the lives of millions with our web 2.0 mad skillz is the ommission of the before and after pseudo-elements and display:table-cell.

Personally, I’m a little sceptical about css generated content; I reckon that’s a job for JavaScript, although I use the css method, simply because it’s easier – which is shameful, because that’s like my saying that <font> is legitimate because it’s easier than css. The purist in me rebels more because content should be, well, in the content – the markup.

Gimme tables, or give me death! Errr …

Dave Shea suggests that IE7 might add css tables in version 7.5, and expresses his wish that they be added more urgently than generated content. I think he’s right, although I think the css spec for tables is flawed (but accept that no-one agrees with me except my mum, and that’s only out of loyalty).

As I see it, the main block to universal adoption of css is the mad fact that something as simple as genuinely equal-height boxes will still be a holy grail until IE supports them thar display tables.

If you can sort that out, Mr Wilson, I’ll even cook you my special evil chicken.

6 Responses to “ Three cheers for Internet Explorer ”

Comment by Matt Wilcox

The purist in me rebels more because content should be, well, in the content – the markup.

I think it rather depends on the content being generated. What about print style sheets, where you can use generated content to pull the value in an anchor href attribute and append it, inline, to the anchor text; thus displaying content that was already there in the mark-up, but in a format that exposes that content on a printed page, where it would otherwise have invisible and useless.

What about generated content used entirely for presentation? Isn’t it sometimes useful to have a new block element which you’re free to style to add extra graphical sparkle? I’ve certainly used that trick a few times and felt it perfectly legitimate.

I believe in scenarios such as those above, CSS generated content is perfectly fine, and in fact exactly the right thing to do. It de-obfuscate existing content or enhances only visual representation of the existing content. On the other hand, if you’re adding semantic content as an addition to the real content then that is an abuse of CSS generated content, and is better as a job for javascript.

Comment by Bruce

Matt – yeah, you’re right about the print stylesheet thing – that’s a jolly good example of the presentation of the destination of links. For pointing out my deliberate mistake, you win a free subscription to my RSS feed.

But should you add semantic content with JavaScript? I still maintain that real content should be in the markup – otherwise it’s inaccessible.

Jim: you bastard. Those are my real ears!

Comment by Jim

I saw a peanut stand, heard a rubber band,
I saw a needle that winked its eye.
But I think I will have seen everything
When I see a elephant web accessibility expert fly.

Re. generated content. I’d have thought Javascript-generated content might be difficult for screenreaders – how do you notify the reader that the page has changed etc. Does the same problem exist with CSS-generated content, or are we talking about content that’s generated before the screenreader parses the document?

Comment by Matt Wilcox

But should you add semantic content with JavaScript? I still maintain that real content should be in the markup – otherwise it’s inaccessible.

Oh I agree, but as a counter viewpoint, the world is going nuts over Web 2.0 hyperbole and there’s a general progression of the trend away from a whole page refresh and toward partial page updates via AJAX and other techniques, semantic content is being appended to HTML documents via JavaScript. Furthermore, I think the reasoning for doing this makes perfect sense – there just needs to be a way figured out to make such techniques accessible. (oh, if only it were that simple!)

Comment by Bruce

I agree with you Matt that “the whole world is going nuts” over Web 2.0 “hyperbole”. In the late 90s, the whole world went nuts over frames, and in the early 2000s, inaccessible Flash splash screens were the wankfest du jour, and the world recovered from it (thank Goodness!).

But I’m anxious to use My Mighty Leverage to persuade Microsoft that the world needs css display tables before it needs generated content.