Writing for the web bugs me.
In fact, it’s not writing for the web that bugs me. It’s marking-up text for the web that bugs me.
It’s not just IE’s rendering bugs, and its broken box model, or any of the bugs that make people proclaim that Gecko is the rendering engine of the Gods.
It’s the failure of every single browser to even implement what we consider the basics – HTML and CSS2, regardless of whether that implementation is broken or not. Maybe even parts of CSS1, I don’t know, I haven’t checked.
The thing that annoys me most is the complete absence of any support for generated content, stuff like quotation marks. How hard can it be? I mean, really? The other day Dave Hyatt asked:
If you had to pick a W3C technology to implement next in WebCore, which one would you choose?
Fucking HTML and CSS2, bitch.
Oh and of course, there are supposed to be quote marks around Dave’s question. But I’m not supposed to have to type them. I’ve already used the <q> tag thanks very much. Gecko puts in the quotation marks for me. Does anything else? Fuck knows.
Now OK, hands up here, I’ve not extensively tested Safari (I don’t have a Mac), but I’m more than willing to put large amounts of money on Safari not supporting the full range of CSS1 and CSS2, and people are talking about browser support for CSS3!! (and to be fairer still, it’s being talking about not just for Safari but for a host of browsers)
There’s pressure on the Mozilla team to produce the best rendering engine out there – the most standards compliant, full ranging, all-signing, all-dancing, w3-tastic engine there is. SVG? In the works. MathML? Coming soon. CSS2? No idea.
Maybe it’s just me. Maybe I just haven’t trawled through the travesty that is BugZilla enough (I’ll save a rant about that for another day) to see the outstanding troublesome issues surrounding the remaining parts of CSS2.
Generated content? no support. Pseudo-classes? some support (hellooooooo
first-child: where are you???) Pseudo-elements? sometimes they seem to work, sometimes not (ok, bit weird that one).
There’s just so much that browsers could and should do today but they just don’t. And we talk about moving forward and onto something else, just setting ourselves up for yet another unimplemented spec.
If even the most lauded of rendering engines can’t manage the CSS2 generated content, what chance is there that they’ll manage the CSS3 generated and replaced content ?
Consolidate. Make it work. Then move on. But only then.
Do I ask for too much? I think you’d better not answer that.