While web pages need to be usable regardless of the browser that our visitors choose to use, a lot of sites have now decided that the number of people using IE6 has fallen low enough for them to stop spending a lot of time trying to make the pages look the same in IE6 as in more modern browsers. With those sites IE6 users now get the same simpler version of the page as those using other similarly old browsers get.
That leaves IE7 at the most popular browser that doesn’t fully support CSS 2.1 where there is still an expectation that the pages should look the same there as in more modern browsers that do support all of CSS 2.1.
One example of CSS 2.1 that IE7 doesn’t support is where you want to lay out part or all of your page using CSS layout tables.
So the question is - are you considering dropping full support for IE7 in the near future in the same way many sites have already dropped full support for IE6 and just make sure that the pages are usable in the browser rather than trying to get it to look identical to more modern browsers? If you are not considering it yet, do you have an expected timeframe or a particular percentage you expect your visitor count to fall below before you will be taking that action?
Any thoughts at all on when you think it might be possible to drop full support for IE7? After all the number of people using IE7 is not that much higher than the number still using IE6.
I’ve developed a coding style that seems to work well enough to support IE6-8. Although I don’t spend much time with IE6 I do still develop for IE7.
Simple reason being I don’t make any major variations in my code that causes me to have to spend countless hours trying to fix issues with IE6 and 7 while it works in other more modern browsers. Bells and whistles are nice but unless they degrade gracefully and do not cause problems with the UX I’m happy to continue to support them.
As long as I continue to develop this way and it doesn’t increase headaches or production time I have no problem with it.
However it also goes back to your viewing audience. Users in lower tier countries are going to still be using older technology as opposed to users in Silicon Valley or high tech areas.
I saw a report somewhere (CNN or something) that said people are slowing down on tech gadget upgrades and keeping what they have longer. With that being said it might be wise to continue to support inferior browsers until the tide turns in the economy.
There will always be an ie7. Browsers will always push the levels and there will always be the one slow and in the back. A team is only as good as their slowest teammate. ie6/7 is now our slowest teammate. 5-10 years from now it will be ie9/10/11. I’m happy as a clam coding with css 2.1 (that’s where I’m most comfortable anyways) so I wont phase it out for quite some time. Or at the very least until it gives me some sort of trouble. It rarely does.
that’s the thing Eric, If you are coding correctly and not trying to implement the impossible there is no reason to end support for it. I really believe proper coding techniques make this a moot point but others might disagree.
Like with IE6, I don’t spend much time ensuring pixel-perfect functionality in IE7. Many of the same fixes I usually have to apply in IE6 also get applied in IE7, so I wouldn’t be saving myself very much work by supporting either one.
If the page loads and is reasonably functional, it’s not worth the time investment unless there is a specific request for IE6/7 support. IE8 is the one we’ll have to keep supporting for quite some time because it’s the last version compatible with Windows XP. Vista shipped with IE7, and Windows 7 shipped with IE8.
I’m mostly thinking of business environments here, but in many cases, if IE7 was allowed to be installed, IE8 was also allowed to be installed when it arrived too. Those folks still prevented from upgrading from IE6 are SOL at this point.
I’ve very much come to the point where I’m happy if the site is usable in IE6 and 7, but no more. Just the other day, I had a client wanting a vertically centered page. Bad idea with JS, as it tends to be absolutely positioned and bad for everyone. With display: table it was a cinch. IE6 and 7 users can just see the content at the top of the screen.
Normally I don’t have much trouble with IE7, but recently a ‘sliding doors’ menu went haywire in IE7. I realized I was over this browser when, rather than try to fix it, I just provided a simpler, fallback solution for IE7.
I think for me, the arrival of IE9 is the final nail in the coffin for IE7.
If proper coding techniques means ignoring 2/3 of the decades old CSS 2.1…
For my entry to SPF Pure HTML Comp I’ve phased out IE6- completely, by putting the style inside a downlevel-revealed conditional comment, making it impossible for IE6- to see it and apply it. And it’s just fine, since the default UA presentation is all you need if your mark up is correct and semantic.
Not sure your point with this. I use CSS3 on my sites. Is it supported by all browsers? No. Is all of 2.1 supported? No. In 5 years 2/3’s of CSS3 probably won’t be supported in IE either and we’ll have the same discussion about IE9 support.
I use what I know works cross browser and platform, is valid and compliant. That to me is proper coding techniques. I don’t waste time trying what I know isn’t supported by IE because A. I lose money and B. I lose production time.
I don’t rely on conditional statements unless it’s absolutely positively necessary for what I am looking to accomplish.
I am excited though to see what IE9 does as far as MS at least now being seen in the rear view mirror instead of miles behind. We shall see.
I use CC to cater for IE since IE cannot be bothered with + selector, > selector, :hover over other elements than anchors.
For me CSS 2.1 means the power of ALL the selectors, while CSS3 is not about rounded corners, text shadows.
I use CC because I DO CODE PROPERLY. I use the full power of CSS 2.1, at least, the one that is available outside IE world. I’m not “coding properly”: try to fit the same code through every hole.
I treat IE with the disrespect it deserves, while I treat the other UAs with the respect they deserve, using for them decades old CSS 2.1 standard I should.
This is coding properly for me: dropping IE, not making it the biggest common denominator for my CSS.
So, you cannot say that you don’t need to drop support if you code properly. Properly means using all the power CSS has to offer. IE is a slap in the face for the real power and completeness of CSS 2.1 that’s missing from IE. If you code for IE support, you can’t code properly, according to the FULL CSS 2.1 specs. Let alone CSS3.
I realize IE is an inferior browser and I despise dealing with it’s decades old approach.
Perhaps I should clarify my point/intention.
Proper coding techniques was meant as a way not to rely on hacks, separate style sheets and conditional statements unless it’s absolutely mandatory. It was not meant as a use all the capabilities of various levels of CSS.
In other words I don’t spend time trying to implement the same techniques that work in real browsers in IE. As mentioned, if it’s close enough, it’s good enough to me. So that to me means I don’t have to cut off support for these old versions of IE because I don’t have to wrack my brain coding ‘workarounds’ when I know the way I code will work 99% of the time on these versions.
You will never be able to use ‘proper coding techniques’ in your sense because there are no standards across the board and there never will be. (Although there should be to make life for us developing sites easier.) EDIT: yes there are standards but you can’t hold a gun to the IE developer’s heads to get them to comply.
Each browser is going to support their own way of implementing CSS.
Now if I was constantly spending countless hours trying to get something to work on IE6 I would drop support in a heartbeat.
It’s too soon to cut off IE7 support. We’re just getting to a point where we can really say ‘no’ to writing for IE6 (although fewer and fewer clients ask for it these days anyway). As much as the arguments are solid for abandoning IE7 support now, I think I’d struggle to convince any clients that it’s a reasonable move. I have a few clients right now who I know are running IE7 on some office PCs.
I am using proper coding technique (CSS 2.1 beyond descending selector) because there are FULLY supported (CSS 2.1) standards across de board, aside from IE, for which I use CCs (not JS) to “help” it keep up.
“Each browser is going to support their own way of implementing CSS.”: I guess you mean proprietary CSS3 like -moz and -webkit, properties I said I’m not considering as serious CSS3. You talk about using CSS3 when you acknowledge you’re not using complete CSS 2.1. This makes me wonder.
To sum it up:
Proper coding techniques means (to me) exactly this: CSS 2.1 powerful selectors, not just descendant selector with classes and ids help, a way not to rely on hacks, the proper use of separate style sheets and conditional statements.
If (to you) it’s not meant as a use all the capabilities of various levels of CSS, then it’s not about proper coding techniques, no, it’s about safest simpler way to web dev.
Paul knows this thread is here because he’s the one who made it a featured thread. It is pretty early in the morning in the UK now so he must have featured the thread just before he finished up for the night.
I think most people wil agree that it is too early to phase out IE7 yet. The question is more a matter of what will you be looking for as an indicator that it is time to start phasing it out. Once it is phased out then we will finally have a situation where all the browsers in use finally support CSS 2.1
I still say it’s too early to phase out IE6 support, as despite the wild and crazy claims you follow a few simple rules and it’s simple to support all the way back to IE 5.5 and sometimes even 5.0 for little if any extra effort.
Usually the problem for most people are the attempts to use code that is not ready for prime-time either jumping the gun on specifications that are five years to a decade away from being real-world deployable, or having some “gee ain’t it neat” bull that does nothing but get in the WAY of a pleasant user experience…
Or just the simple “rules? You expect me to follow rules and guidelines? What do you mean I can’t just vomit up my code any old way?”
You know, the people who until a year ago were vomiting up HTML 3.2 and slapping a 4 tranny doctype on it, and today race across the line to the sloppy/loose/half-assed HTML 5 specification completely skipping the actual RECOMMENDED specs.
Basically undoing all the progress, improvements and simplifications that STRICT gave us.
It’s not about what you can do, or any other professional. It’s about what IE6 doesn’t let you do.
And IE6 doesn’t let you use CSS 2.1 in its fullest, but rather it’s restricting you to CSS 1.
I choose not to “follow a few simple rules and […] to support all the way back to IE 5.5 and sometimes even 5.0 for little if any extra effort” but to start following decades old CSS 2.1 in a more complete way. I choose to acknowledge CSS beyond descendant selector combined with classes and ids.
I choose to transition from CSS 2.1 to CSS3, when CSS3 will be ready, not from CSS 1 to CSS3.
2.1 yes, but it has a pretty full featured and well working CSS 2.0 – not just CSS1. Given that even 2.1 is still in draft, browser support being spotty in a decade old browser is surprising HOW exactly? That it works as well as it does is a testiment to the fact that when they were released, IE 5.0, 5.5 and 6 were ALL the most standards compliant browsers of their time! Easy to badmouth them a decade later, but really IE 5.5 was the Firefox of it’s time. (with Netscape 4/5/6 being the IE of it’s time)
<yoda>and that is why you fail.</yoda>
Though it often seems to me there’s this attitude among HTML/CSS developers “Oh no, not RULES? You expect me to follow clearcut and simple RULES?!? What do you mean I can’t just slap tags in the page any old way and bloat the page out with dozens of useless/pointless tags, classes and ID’s completely ignoring the block-level/inline-level placement?” – you know the people who still argue “who cares about HTML validation”
But of course, that’s why so many people still deploy 3.2 as 4 tranny or are embracing the whole HTML 5 idiocy.
I thought it was an interesting question for discussion so let’s not let it get out of hand as everyone will have a good argument to put forward.
For professional work a lot of the time the answer will depend on the job in hand, what the client is happy with and what the audience requires. For personal work though you can go that extra mile and support whatever you want.
I have seen a shift in clients lately and they are happy to drop full support for IE6 as long as its usable but they prefer more care to be taken on IE7. I expect that it will be another 2 years at least before IE7 can be set aside to some degree. IF IE9 takes hold quickly (as it looks like it will do) then the landscape may change quite quickly.
Most of the time I cater back to IE6 but I’ve grown up with IE5 and IE6 so like Jason I know how to handle it quite easily anyway without too much effort. Newer developers who haven’t had that long apprenticeship will find it harder though and that’s understandable.
Recently though I’ve been working for a client on a vb4 forum (which is all css and no tables (although I think tables are more suitable for forums)) and although I advised to keep the design simple and linear the client mimicked every behaviour of a tables forum in the design.
This meant that I had no choice but to use the CSS display:table properties for which there is no support in IE7 and under. Therefore in this case IE7 gets the reduced experience (no equal columns and no vertical-alignment).
So it does depend on the job in hand, the client, the audience and ultimately your own skill levels as to what you support and when you have to support it. Therefore it’s not surprising that everyone in this thread is going to give a different answer which is what discussions are all about.
If the answer was known and clear cut then no one would be asking the question.
Supporting older browsers like IE6- means renouncing parts of CSS 2.1. Important parts. Consequently, not supporting older browsers gives you “access” to a full fledged CSS 2.1. So dropping support means not only less work, but more CSS power. That’s what is about.
As additional points:
Sometimes, the use of JS for “correcting” CSS misses in older UAs, as a choice, is not making things easier on modernizing a standard web dev.
The practice of polluting clean CSS with “hacks”, “smart solutions”, in my opinion:
- makes it more than OK to use CC
- is what makes HTML5 and CSS3 so hard to digest, since they were aimed mainly at “solving” older UAs problem rather than looking forward.