New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Revert" conditional <html> classnames #522

Closed
necolas opened this Issue May 22, 2011 · 15 comments

Comments

Projects
None yet
10 participants
@necolas
Member

necolas commented May 22, 2011

Based on feedback to commit e5e057e we're expecting to:

  • Revert back to the previous approach of providing specific classnames for each version of IE 6-8.
  • Retain the oldie classname to target multiple versions of IE at once.

Name of "oldie" classname. Which classname would you expect to use?

A. oldie
B. old-ie
C. lte-ie8
D. lt-ie9

Also interested in any comments on the range of the classname. Compelling reasons to target just IE 6-7 instead of IE 6-8?

@mathiasbynens

This comment has been minimized.

Show comment
Hide comment
@mathiasbynens

mathiasbynens May 22, 2011

Member

IMHO, .oldie really sounds like something the Boilerplate would use. I only refrained from using it in my article because I think .lte-ie8 is more neutral. .oldie is definitely easier to type, but .lte-ie8 is more descriptive.

Personally I rarely need to target IE8 specifically, let alone IE9. IE6 and IE7 hacks are all I need. Of course that’s more of an anecdote than a compelling reason to limit the range, but maybe this is: byte savings in HTML are far more important than byte savings in assets that will get cached after initial load anyway. It’s better to save 50 bytes for every single HTML document in a website, than to save 50 bytes in a CSS file, since the CSS will only need to be loaded once, but HTML is loaded for every page.

Note that if we go back to the conditional classnames approach and add the oldie class, we’ll end up making the markup more verbose instead of simplifying it (which was the initial goal that inspired commit e5e057e in the first place). :')

Member

mathiasbynens commented May 22, 2011

IMHO, .oldie really sounds like something the Boilerplate would use. I only refrained from using it in my article because I think .lte-ie8 is more neutral. .oldie is definitely easier to type, but .lte-ie8 is more descriptive.

Personally I rarely need to target IE8 specifically, let alone IE9. IE6 and IE7 hacks are all I need. Of course that’s more of an anecdote than a compelling reason to limit the range, but maybe this is: byte savings in HTML are far more important than byte savings in assets that will get cached after initial load anyway. It’s better to save 50 bytes for every single HTML document in a website, than to save 50 bytes in a CSS file, since the CSS will only need to be loaded once, but HTML is loaded for every page.

Note that if we go back to the conditional classnames approach and add the oldie class, we’ll end up making the markup more verbose instead of simplifying it (which was the initial goal that inspired commit e5e057e in the first place). :')

@boboroshi

This comment has been minimized.

Show comment
Hide comment
@boboroshi

boboroshi May 22, 2011

We made a rails plugin that's a variation on this that uses "ie" alone.

https://github.com/bruce/ie_conditional_tag

I would prefer either "ie" or the full on "lte-ie8" or "lt-ie9" as opposed to something like "oldie". There is a major jump to understanding with the descriptive html.classname as opposed to html.oldie . oldie is too broad and generic.

And in regard to the second, I find myself hitting broad strokes on ie 6-8 and then specific tweaks for each browser (mostly 7 or 6).

boboroshi commented May 22, 2011

We made a rails plugin that's a variation on this that uses "ie" alone.

https://github.com/bruce/ie_conditional_tag

I would prefer either "ie" or the full on "lte-ie8" or "lt-ie9" as opposed to something like "oldie". There is a major jump to understanding with the descriptive html.classname as opposed to html.oldie . oldie is too broad and generic.

And in regard to the second, I find myself hitting broad strokes on ie 6-8 and then specific tweaks for each browser (mostly 7 or 6).

@gordonbrander

This comment has been minimized.

Show comment
Hide comment
@gordonbrander

gordonbrander May 22, 2011

I'm one of two front-end guys on a team made up of designers and developers. I've used a similar approaches in past projects, and, from my anecdotal experience, .lte-ie8 makes the most sense to the most people. It's not clever, but it is obvious.

gordonbrander commented May 22, 2011

I'm one of two front-end guys on a team made up of designers and developers. I've used a similar approaches in past projects, and, from my anecdotal experience, .lte-ie8 makes the most sense to the most people. It's not clever, but it is obvious.

@zachleat

This comment has been minimized.

Show comment
Hide comment
@zachleat

zachleat May 22, 2011

A few years from now "oldie" will have lost most of its meaning when we're on IE11 and IE9 feels old. "lte-ie8" is more future proof.

That being said, "oldie" is certainly more fun.

zachleat commented May 22, 2011

A few years from now "oldie" will have lost most of its meaning when we're on IE11 and IE9 feels old. "lte-ie8" is more future proof.

That being said, "oldie" is certainly more fun.

@tombigel

This comment has been minimized.

Show comment
Hide comment
@tombigel

tombigel May 22, 2011

No offense - I think you are overworking this issue...
IE6 should go in the ways of IE5 and be ignored (if possible).
IE7 and IE8 are really special cases that unfortunately should be dealt with.
IE9 is mostly good, and in most cases Modernizr feature detection is more than enough. I personally did not have the chance to target it specifically until now.
IE10+ will most likely become better and better and more standard compliant and hopefully all this IE targeting fiasco will be a matter of the past in a few years.

And for the question of the thread .oldie is definitely elegant. I would go for it.

tombigel commented May 22, 2011

No offense - I think you are overworking this issue...
IE6 should go in the ways of IE5 and be ignored (if possible).
IE7 and IE8 are really special cases that unfortunately should be dealt with.
IE9 is mostly good, and in most cases Modernizr feature detection is more than enough. I personally did not have the chance to target it specifically until now.
IE10+ will most likely become better and better and more standard compliant and hopefully all this IE targeting fiasco will be a matter of the past in a few years.

And for the question of the thread .oldie is definitely elegant. I would go for it.

@boboroshi

This comment has been minimized.

Show comment
Hide comment
@boboroshi

boboroshi May 22, 2011

@tombigei - while it's admirable to say "down with IE6" and I dislike it as much as the next guy, when my CTO says "why does this not at least work in IE6, I need to be able to target it. You can remove yours and simplify it down as you need it. I think the default should be "here's all the possibilities" much as the boilerplate itself is.

boboroshi commented May 22, 2011

@tombigei - while it's admirable to say "down with IE6" and I dislike it as much as the next guy, when my CTO says "why does this not at least work in IE6, I need to be able to target it. You can remove yours and simplify it down as you need it. I think the default should be "here's all the possibilities" much as the boilerplate itself is.

@tombigel

This comment has been minimized.

Show comment
Hide comment
@tombigel

tombigel May 22, 2011

@boboroshi - As I said, if possible.
In most of the projects I stumbled upon lately IE6 was ignored. I know that this is not the case everywhere, but in most cases (where developers have a say...) it becomes an extra feature of backwards compatibility rather than mainstream.

tombigel commented May 22, 2011

@boboroshi - As I said, if possible.
In most of the projects I stumbled upon lately IE6 was ignored. I know that this is not the case everywhere, but in most cases (where developers have a say...) it becomes an extra feature of backwards compatibility rather than mainstream.

@ghost

This comment has been minimized.

Show comment
Hide comment
@ghost

ghost May 23, 2011

According to Microsoft, less than 3% of internet users in the western world are using IE6. About 11% of the world at large is using it. Windows 2000 is stuck with IE6. Windows XP can upgrade to IE8. There aren't very many corporate environments left that are still on IE6, so that's no longer a valid reason to target it. I think it's fairly safe to ignore it unless you're targeting a specific demographic that is likely to be using it. And if that's the case, then the HTML 5 Boilerplate is probably a bit hamfisted for your project anyway.

ghost commented May 23, 2011

According to Microsoft, less than 3% of internet users in the western world are using IE6. About 11% of the world at large is using it. Windows 2000 is stuck with IE6. Windows XP can upgrade to IE8. There aren't very many corporate environments left that are still on IE6, so that's no longer a valid reason to target it. I think it's fairly safe to ignore it unless you're targeting a specific demographic that is likely to be using it. And if that's the case, then the HTML 5 Boilerplate is probably a bit hamfisted for your project anyway.

@necolas

This comment has been minimized.

Show comment
Hide comment
@necolas

necolas May 23, 2011

Member

@shitwizard To play devils advocate...the H5BP shouldn't be limited just to the concerns of western-world developers. But even in the UK there are still enough developers who must cater for the needs of clients who require IE6 support (including the government, who have explicitly stated that they have no intention of upgrading their systems).

At 3% and 11% IE6's share is still above the 2% mark that Yahoo!, for example, use to judge which browsers receive A-grade support. IMO, it's still a little bit too early to drop all IE6 concerns (by default) at this stage but hopefully we're not far off being able to do so.

Member

necolas commented May 23, 2011

@shitwizard To play devils advocate...the H5BP shouldn't be limited just to the concerns of western-world developers. But even in the UK there are still enough developers who must cater for the needs of clients who require IE6 support (including the government, who have explicitly stated that they have no intention of upgrading their systems).

At 3% and 11% IE6's share is still above the 2% mark that Yahoo!, for example, use to judge which browsers receive A-grade support. IMO, it's still a little bit too early to drop all IE6 concerns (by default) at this stage but hopefully we're not far off being able to do so.

@neave

This comment has been minimized.

Show comment
Hide comment
@neave

neave May 23, 2011

Contributor

The suggested route of a combination of .oldie as well as .ie6 and .ie7 will probably be best. If you don't want to use it, you can always edit it out. I think this is when Boilerplate is at its best. It's not designed to be a perfect match for all cases, but as a (sophisticated) starting point. As long there are comments around the tag that explain the situation, developers can pick and chose which path to take.

Contributor

neave commented May 23, 2011

The suggested route of a combination of .oldie as well as .ie6 and .ie7 will probably be best. If you don't want to use it, you can always edit it out. I think this is when Boilerplate is at its best. It's not designed to be a perfect match for all cases, but as a (sophisticated) starting point. As long there are comments around the tag that explain the situation, developers can pick and chose which path to take.

@boboroshi

This comment has been minimized.

Show comment
Hide comment
@boboroshi

boboroshi May 23, 2011

@shitwizard When 1% of your traffic can mean six or seven figures of revenue, it's worth dealing with. IF you don't need it, simply remove that line. Or give them a style sheet where you do a * {color: black; background-color: black;} or something like that if we're feeling snarky :D

boboroshi commented May 23, 2011

@shitwizard When 1% of your traffic can mean six or seven figures of revenue, it's worth dealing with. IF you don't need it, simply remove that line. Or give them a style sheet where you do a * {color: black; background-color: black;} or something like that if we're feeling snarky :D

@jessehart

This comment has been minimized.

Show comment
Hide comment
@jessehart

jessehart May 23, 2011

i'm against the revert -- i really dig the oldie + safe hacks approach.

jessehart commented May 23, 2011

i'm against the revert -- i really dig the oldie + safe hacks approach.

@roblarsen

This comment has been minimized.

Show comment
Hide comment
Member

roblarsen commented May 23, 2011

@roblarsen

This comment has been minimized.

Show comment
Hide comment
@roblarsen

roblarsen May 23, 2011

Member

"There aren't very many corporate environments left that are still on IE6, so that's no longer a valid reason to target it. "

@shitwizard I wish this were true. It's not, unfortunately- especially in certain verticals. One of the sites we're supporting IE6 on has something like 10-15% of IE6 users. It's pure b2b.

Member

roblarsen commented May 23, 2011

"There aren't very many corporate environments left that are still on IE6, so that's no longer a valid reason to target it. "

@shitwizard I wish this were true. It's not, unfortunately- especially in certain verticals. One of the sites we're supporting IE6 on has something like 10-15% of IE6 users. It's pure b2b.

@necolas necolas closed this in cbbaaec May 24, 2011

@fletchgqc

This comment has been minimized.

Show comment
Hide comment
@fletchgqc

fletchgqc Jan 23, 2012

ermm... unfortunately "oldie" is not clearly related to IE to the uninitiated. To me it means "old browser". Any of B,C or D would have been OK. Unfortunately I'm a little late to the party...

fletchgqc commented Jan 23, 2012

ermm... unfortunately "oldie" is not clearly related to IE to the uninitiated. To me it means "old browser". Any of B,C or D would have been OK. Unfortunately I'm a little late to the party...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment