Archive for May, 2005

Obscure Internet Explorer Bugs: #1 of… who knows?

Tuesday, May 17th, 2005

The Web Standards Group presented ten questions to Tommy Olsson, one of which addresses the thorny issue of the abbr and acronym elements in HTML.

Tommy’s discussion of this was informative, and I was particularly entertained by his assertion that

Netscape invented ABBR, while Microsoft invented ACRONYM, and both types meant the same thing. Then the W3C incorporated both in HTML 3, but with subtly different semantics. Microsoft’s meaning of ACRONYM was replaced by something different, which made the people at Microsoft so furious that to this day they still don’t support the ABBR element type!

as I came across a manifestation of this (possibly imaginary) dislike for the abbr element in Internet Explorer quite recently.

Consider the following markup fragment:


<p>An example of an abbreviation might be <abbr title="Limited Liability Company">Ltd.</abbr>, used in the UK to denote a private company with limited liability.</p>

One would expect a browser which supports HTML 4 (which IE is claimed to have done since version 4) to produce a DOM structure as follows:

  • Element: p
    • Text: An example of an abbreviation might be
    • Element: abbr
      • Text: Ltd.
    • Text: , used in the UK to denote a private company with limited liability.

Whereas IE actually produces the following:

  • Element: p
    • Text: An example of an abbreviation might be
    • Element: abbr
    • Text: Ltd.
    • Element: /abbr
    • Text: , used in the UK to denote a private company with limited liability.

Yes, that’s correct: the initial abbr is parsed into an element, the text within remains as a childNode of the paragraph, and an element with the name /abbr is created.

If you try to use the createElement method of the document to create such an element, you naturally get an exception. But internally, IE manages to create an element whose name begins with a slash.

I don’t have a PC at home, so I can’t check right now whether or not spurious markup like <goat>Hello</goat> produces the same result, but I’ll check at work tomorrow and report back.

Long-delayed update: The <goat> example above does indeed produce the same results.

Hello world

Sunday, May 15th, 2005

Being a coder, I naturally intended to create my own content management system, implement a design which would look awful but be all my own work, and launch in a blaze of glory and obscure details of XSLT techniques. But, as with so many projects too closely related to what I do at work all day, nothing happened. I was tempted to modify the stylesheet to put a cobweb across the corner of the page; that would have been the most exciting update to the site in ages.

So I’ve bitten the bullet, installed WordPress (which seems like an excellent piece of kit) and will actually start saying stuff, instead of dithering over details until finally giving up and going down the pub.

I will gradually work out and implement a redesign, and will ultimately replace the WordPress code with my own, reinventing wheels being (as with all coders) virtually an obsession of mine. But in the meantime, I’ll even stick with the default “Hello world” that came with this; on with the motley!