This is a small and simple project, but no task is too modest not to be torpedoed below the water line by the pathetic joke Microsoft purports to be a Web browser. The log form document displayed and printed correctly on the first try with both Mozilla Firefox (184.108.40.206) and Opera (9.25), but with both Internet Explorer 6 and 7 the rules beneath the items in the forms did not display. This turned out to be due not to one but two bonehead blunders in “The Moron's Choice™ for Browsing the Internet”. First of all, if you don't specify the colour of a border, it's supposed to default to the foreground colour of the element to which it is applied: in this case black. So what does Microsoft do? White, of course (or transparent, or some equally idiotic choice). After all, if the document specifies a border, isn't it obvious that most page designers will want it to be invisible? But specifying a colour of black for the borders still didn't make them appear! It turns out that for another of the incomprehensible reasons which spout from Redmond like a sewage geyser, if the content of a table field is void, a border-bottom specification is ignored—that makes sense, right? (And no, the empty-cells and border-collapse properties have no influence on this idiotic behaviour.) I ended up having to fill every underlined field in the table with an “ ” which was sufficient to persuade Bobo the Bonehead Browser to draw the border beneath it.
This man is my hero... go read it all to find out why.
A lot of hyperbole gets thrown around about how painful IE 6 and 7 make the world of JS development, and so I thought I'd do a bit of cataloging to help those using Dojo understand why it's built the way it is and indeed, why all JS widget libraries suffer similar design warts. I know the good folks up in Redmond are working hard at delivering something better, but the fact of the matter remains that until they outline when we're going to get it (and the version after) and how it's going to be distributed, IE 8 only serves to make the current situation look as shabby as it really is. Here are but 5 examples of how IE makes your toolkit of choice less elegant than it probably should be.