Are you still checking your site in IE 6?

Yeah, I remember playing round with that in VB. A friend of mind thought he was a programming guru because he incorporated IE into a little VB project. :lol:

I didn’t think that anybody would actually use something like that. Certainly not for a business app.

Still, I cannot help but wonder if it would be possible to update the IE6 rendering engine to get rid of those bugs. Of course, if developers wrote with those bugs in mind, I suppose their stuff might not look right. When a bug is discovered in a newer browser like IE8, do the idiots at Microsoft fix it or just leave it?

IE8 ’<noscript>-ghost’ appearance bug

I’m sick of Microsoft and IE6 holding back progress. I have not developed with IE6 in mind for years. But I remember it being an incredibly frustrating experience. I don’t think hacking for it is as simple as you want us to believe. Even using a hidden input can trigger an IE6 bug. What? Don’t use hidden inputs? No comments between floated elements? Sorry. *&^% IE6 and anyone who uses it. I’d love to kick everyone still using IE6 for any reason in the crotch. :nono:

IE6 Duplicate Characters Bug - CSS fixes and workarounds

Time Breakdown of Modern Web Design | Flickr - Photo Sharing!

After recently redesigning a site, about the only bug I had a problem with using IE was the disappearing borders bug. Forcing HasLayout by applying a width of 100% fixed that bug. A pain in the butt, yes, but a very easy fix. Not the same situation with most IE6 bugs.

I’ll never forget my frustration dealing with the “duplicate characters” bug.

You can start with this. I don’t know if it is an exhaustive list.

Explorer Exposed!

Stop back and let us know how much time it took and how frustrating it was hacking for IE6.

That noscript one is a laugh – since it’s an invalid use of noscript. Regardless of whether it can or cannot accept styling, it’s invalid to put CDATA as a direct child of it. At least one full block level tag MUST be the child of noscript.

Meaning that bug is a non-issue if you bother using valid markup!

But what does one expect from a site with characters that don’t match the encoding scheme preventing it from even being validated, with XHTML self closers in a HTML4 document.

Much less the stupid/idiotic comments:
<!-- HERE IS THE NOSCRIPT TAG–>
<noscript class=“noscript”>

No ***, REALLY?!?

Even resorts to the garbage that I still say if you have to resort to, the page itself is horribly flawed:
<meta name=“mssmarttagspreventparsing” content=“true” />
<meta http-equiv=“MSThemeCompatible” content=“no” />

for example.

Do I dare look at the other links? Oh look, the second one doesn’t even mention the easiest fix for the duplicate characters/dissapearing content bugs… move the comment INSIDE the preceeding float instead of putting it in-between them.

</div><!-- end id column1–>
<div id=“column2”>
== FAIL

<!-- #column1 –></div>
<div id=“column2”>
== No IE or FF bugs.

Of course, I still don’t know where the blue blazes people get it takes “so much time” to support IE6, unless of course they are building their pages with flawed methodologies or aren’t telling the PSD jockey where to stick it when it comes to certain non-viable design elements.

But then there’s a reason 90% of the sites I see people come to ask for help on I say “You need to throw it out and start over” – BECAUSE FRANKLY THEY NEED TO THROW IT OUT AND START OVER from using flawed/bloated/problematic site-building methods.

Piss poor commenting and code formatting practices, (which CAN trigger rendering issues), sending different padding/margins/widths and heights for things haslayout, a valid doctype WITHOUT a prolog, or simply never declaring width/height the same time as padding/border could fix, relying on IE conditional comment bull rather than actually fixing broken code, faulty float box use, jumping the gun on specifications not even out of draft, “new” specifications like HTML5 ready to set coding practices BACK a decade, the list goes on and on and on…

… there’s a reason I can write pages that work from IE 5.5 through to 9 and on every modern browser with little to no difference in effort.

Can you recommend any books to get a novice (such as myself) up to speed. PDFs or anything that cover the level of details you’re referring to. Thanks and please don’t chew me out. You seem to be in a bad mood.

What DeathShadow said. :slight_smile:

Unless you’re designing for a very specific user base, you don’t get that luxury. Or you’re not adequately serving your user base.

I don’t cater for IE6 at all, regardless of what others have said, unless I’m working on a project that absolutely must work with IE6. I don’t work with large corps, or for the Chinese etc, so I’m unlikely to be in that position. I use an analytic app to determine whether I need to be catering for IE6 at all. So far, there hasn’t been any need to cater for IE6 or below.

Which “analytic” would that be… if you don’t support it, how can you trust any tool to tell you if you need it since your own demographics are probably only listing bounces.

I see that one all the time – “I don’t see any real traffic from IE6, so I don’t support it”

Ever occur to you that you don’t see any real traffic from IE6 because you don’t support it?

I still just don’t get where people think supporting IE6 is ‘hard’… but then I don’t understand how people can vomit up 50k of markup for 5k of plaintext either.

Sadly they are far and few between. Forgetting everything you THINK you know about markup and reading Build Your Own Web Site The Right Way Using HTML & CSS is a good start, if you ignore like the last third of the book where he suggests pointless crap like Google Analytics and so forth.

Really though there isn’t THAT much to supporting legacy IE if you follow a few simple rules and learn one or two minor fixes…

  1. Avoid declaring width and/or height the same time as padding or border. Even though haslayout fixes the box model in theory, you still cannot rely on it.

  2. use a simple reset that just turns off margins and padding on common elements and borders on IMG and FIELDSET. Do NOT use the “universal reset” as that shtups form elements, and do NOT use fat bloated train wrecks of idiocy that may as well be a framework like “reset reloaded”.

  3. Don’t use CSS frameworks, by definition they use presentational classes defeating the POINT of using CSS in the first place.

  4. Avoid putting comments BETWEEN elements as this can cause rendering errors in IE and FF. This means pointless comments like:

<!-- start content –>
<div id=“cc”>

Is a miserable /FAIL/. Not only for the vague/meaningless classname but for the comment that would be unneccessary if the ID name made any sense.

<div id=“content”>

All that’s needed. Opening a tag is the start of a section? Wow.

Likewise on the close you see this idiocy all the time too.

</div><!-- end content –>

Closing a tag ends a section of code? Who’d have thunk it?!? Putting the comment after could put it between floats, where all sorts of bad things tend to happen. Solution? Don’t waste time saying end, and move the comment before the close perhaps saying if it’s a class or ID you are closing.

<!-- Content –></div>

No rendering bugs, clear as a bell what’s going on!

When comments can trip rendering issues, changing your formatting and commenting style is NOT arbitrary formatting, no matter how much the lazy folks who just sleaze out pages any old way claim it is.

  1. Learn haslayout – not just it’s triggers, but when it’s going to be needed… When is it needed? If you are absolute positioning an element inside a relative parent – that parent needs haslayout. If you are using a bottom margin on a float the element AFTER the float needs haslayout… and if you have a display:block element surrounded by inline-level elements inside a parent with a background, that inner block may erase the background when scrolling unless the parent “haslayout”

That covers 99% of the times you “need” a haslayout trigger.

  1. margins doubling on floats? Display:inline on the float gets rid of it. Floats are inherently display:block and changing the display: value cannot change that – but for some reason display:inline makes IE’s margins on floats behave properly.

  2. Do NOT waste your time on outdated/half-assed float clearing methodologies like clearing DIV or worse, clearfix classes. Pretty much every case where float wrapping behavior is desired can be handled either by floating the wrapper and giving it a width, or by using overflow:hidden with a haslayout trigger.

  3. You MAY have to resort to an “expression” to fake one or two missing properties like min/max-width/heights. Really that’s the only time things like that should be used.

From there a few simple things like “never put text that goes to multiple lines in a fixed height container” and “always declare your content in a dynamic font” (%/em or even pt) can go a long ways not just towards making IE behave, but also making your page accessible and not broken just because a user is on a different system metric. (aka default font size).

It’s not that hard, and if you work that way from the start supporting IE6 or even 5.x on the same codebase as everything else – and that’s WITHOUT resorting to that stupid malfing useless IE conditional crap bloating out the markup on every page. Most every time I’ve seen someone resort to IE conditional comments for CSS or markup, it’s to hide how poorly written the markup and CSS are in the first place!

Still don’t get where people get that either… I’m in a cheery mood most of the time – I just happen to call things manure when it smells like a farm in Vermont.

This is the only one of those I disagree with. If you want to float an element to wrap it’s children floats, where does the floating end? What if you want to clear the floated parent? You’ll end up floating half your page for no reason at all.

Overflow:hidden I’ll use for very simple things, but when you start adding things like hover elements on top, it quickly becomes unfeasible.

I quite like having a clearfix class (though I don’t call it that, it’s a stupid presentational name), it adds nothing to the markup and it works perfectly.

Anyways back on topic…

I’ve just been given the go-ahead for the very first time to not worry about making a new site pixel perfect in IE6. It still has to be usable, functional, and accessible, but apart from that, no big deal.

This may just be one of the happiest days of my life.

No reason? Float clearing is no reason? Besides, MOST of a website ends up floated (or should) once columns are invovled, so ONE measly extra declaration in the CSS is a problem HOW exactly?

Which I suggest avoiding hovers in the first place, or using some other method to avoid the need for float clearing.

bloated pointless OUTDATED presentational markup – at that point you might as well start using moronic classes like “left”, “right” or “bigtext”.

Pixel perfect is a myth that should NOT be in the planning on any site in the first place – though try to convince the PSD jockeys with their “Accessibility, what’s that?” attitude.

IE 7 is our current floor, and I’m beginning a year long presentation layer rewrite that will set the floor at IE 8. Part of that rewrite is removing all the blasted layout tables and pulling the inline css out of the controller layer when it appears.

IE 8 is the new IE 6 – the bare minimum floor we have to support for the next 10 years thanks to the fact it will take that long for all the XP machines to get out circulation.

Still a bug nonetheless. And not one that most people would figure out right away. Comments should be allowed to be placed anywhere without any problems. And I’ve never had a problem with this in Firefox.

Because it does take time–time better spent doing other things than finding workarounds for a buggy and insecure 10-year-old browser. And unless you are an expert, you sure as hell aren’t going to know what to do to fix these stupid IE6 bugs. It is going to take hours for a newbie to get up to speed on crappy IE6. If you started doing web development in 1999, you are going to have grown up in the era of buggy IE and would have had no option but hack for it because IE controlled 90% of the market share. Someone starting in 2009 isn’t going to have that experience.

IE6 came out in 2001. It took years for some of these hacks to be discovered.

IE5/6 Doubled Float-Margin Bug - CSS fixes and workarounds

Up 'til now (Jan '04) this bug was thought to be unfixable, and was generally controlled by replacing the faulty margin with a left padding on a non-visible float, along with a nested inner box to serve as the visible box within the invisible float, or by hacking a one-half margin value for IE/win only. It works, but is clunky and messes up the clean source code. Well that’s all over now.

To hell with IE6! I am using a 10 year old computer with only 256 MB of RAM right now and Firefox 4 works great in it. (Firefox 4 is much faster than FF3.) Safari, Opera, and IE7 work fine, too. I don’t care about crappy corporations and their outdated software that is dependent on IE6–they can install other browsers in addition to IE6. I don’t care about idiots who can’t pull their heads out of their butts long enough to spend a few minutes downloading an updated browser. These people are the dregs of internet society and I am not doing a thing to support their antiquated butts.

I’m certainly not supporting the visits to my sites from IE2, Netscape 0.6, or Safari 1.3.2 either. It’s time to move forward. IE6 needs to be taken out behind the barn, shot in the head, and put out of its misery.

Supporting IE6 only gives people an excuse not to upgrade. If corporations need to use IE6, they can install Firefox or another modern browser and tell their employees to use IE6 only when necessary for work purposes and use the good browser for web viewing. Now we are left with Grandma using Windows 95…

How come Microsoft didn’t just fix the bugs in their IE6 rendering engine?

Microsoft made the conscious decision not to support Windows XP with IE9 because they wanted to drive sales of their operating system.

Firefox supports XP, so does Safari, Chrome, and Opera. Estimates are that 45% to 55% of computers are still using XP. The difference between other browser vendors and Microsoft is that Microsoft has a financial incentive in rendering XP obsolete any way possible. Even if that means deliberately making sure that new software will not work with XP.

I’ve never used IE7 yet. I’m currently on an XP machine and I’ve used Vista and was completely unimpressed. I see no reason to change operating systems at the moment. Neither do millions of other computer users. I’m not paying $300 for a new OS just because Microsoft wants my money. I’ll wait until I get a new computer for a new OS. And I will miss XP. It’s been good to me.

Thanks for the link. The page at that link links to Microsoft which then links back to that page at satzansatz.de.

I swear it’s almost as if Microsoft has very little idea how their own buggy products work.

Notice they also took a page from Mozilla’s book, and call it a “feature”.