Design Issues

Thanks to everyone who tries to help on this issue.

This is more for feedback and other peoples way of dealing with this issue.

I recently set up a fresh design for my company website. This new design works without any issues in Safari (100% compliant), Opera (89%), Firefox (85%) and Chrome but does not work in either IE8 or IE9 without the compatibility function activated.

My gut feeling is that this is still a problem with IE rather than an actual website design issue but i am willing to be shown/proven wrong.

Anyone else with any ideas or comments on this issue.

The site is

Many thanks

My guess as to what is stuffing IE are the cack-handed conditional comment constructions like

<!--[if IE 7]><!--></a><!--<![endif]-->

But apart from that, you’ve got a whole load of problems. A good place to start might be here:

Without wanting to sound harsh, XHTML should only ever be used by people who know what they are doing. It is more likely to go horribly wrong than HTML 4.01. When you’ve got 100 errors covering a range of minor, serious and structural mistakes, that’s a pretty good clue that you should stick to the simple stuff. I’m not saying that that would solve the problems here, but if you’re pretending to write XHTML then it absolutely must be valid.

How exactly do you calculate things like ‘89% compliance’?


The menu isn’t working in IE8 because you haven’t excluding them from the conditional comments.

<!-[B]-[if IE 7][/B]><!--></a><!--<![endif]-->

That means that IE6, IE8 and IE9 all miss the closing anchor. It’s only IE6 that doesn’t need to see that anchor.

You need to do this:

[B]<!--[if gte IE 7[/B]]><!--></a><!--<![endif]-->

That says if greater than or equal to IE7 then you can see this closing anchor.

All the nested table code is just to make IE6 work and is a high price to pay in overhead when a few lines of js could have achieved the same.

It’s based on a menu from Stu Nichols and while very clever does add complication and in reality is just nesting anchors which is invalid (if you hadn’t hidden the invalid parts from the validator with CCs).