Thank you. Yes on reflection I think you are right. I was experimenting with a general purpose js module that claimed to make IE5.5, IE6 and IE7 fully W3C compliant. It seemed to me that something like this might have had general applicability for openacs and xowiki. However, testing established that it doesn't work properly anyway!
The server side user agent detection option would certainly seem to be a more robust route to take for simple tcl pages, however I am not clear how I might go about arranging for xowiki to do this. I presume multiple versions of each page would be required which may not be ideal.
I will do as you suggest and load a script that modifies my stylesheet after it is loaded for each of the older non-compliant browsers.
As an aside, if one wanted to provide a stylesheet for different user agents (i.e. cellphone, braille machine or some other device) from xowiki, how would this be done?
Browser detection won't work. Feature detection is better, and the abstractions in YUI and other libraries pretty much do most of the work for you.
However, where your requirements are restricted to the need to supply minor CSS modifications that are absolutely specific to IE6 (for example to cope with the incorrect implementation of the block width calculations, or the lack of a child selector), is it better to start poking around in the DOM of ALL browsers to establish the reported block width for a single element (or the property value you set with the child selector), or better to use the conditional comments that Microsoft has provided for the purpose to insert changes only with IE6?