41
We need to talk about IE6 Support and non-support in a Standards-aware world by Elliot Jay Stocks elliotjaystocks.com/skillswap

We Need To Talk About IE6

Embed Size (px)

DESCRIPTION

Elliot Jay Stocks' talk at Skillswap Bristol

Citation preview

Page 1: We Need To Talk About IE6

We need to talk about IE6Support and non-support in a Standards-aware world

by Elliot Jay Stockselliotjaystocks.com/skillswap

Page 2: We Need To Talk About IE6

What Is a Reward?

Page 3: We Need To Talk About IE6

What Is a Reward?A visual treat for the more capable browser

Page 4: We Need To Talk About IE6

What Is a Reward?A visual treat for the more capable browser, e.g:

Drop shadows on text (CSS3 spec, Safari / Opera 9.5)Full PNG alpha transparency (no IE6 without hack)

si8.shauninman.com

Page 5: We Need To Talk About IE6

What Is a Reward?A visual treat for the more capable browser, e.g:

Drop shadows on text (CSS3 spec, Safari / Opera 9.5)Full PNG alpha transparency (no IE6 without hack)

Page 6: We Need To Talk About IE6

What Is a Punishment?

Page 7: We Need To Talk About IE6

What Is a Punishment?A decision to REMOVE visual treats

Page 8: We Need To Talk About IE6

What Is a Punishment?A decision to REMOVE visual treats

• The designer giveth... and the designer taketh away! Just because a browser supports a feature doesn’t mean you have to offer it

Page 9: We Need To Talk About IE6

What Is a Punishment?A decision to REMOVE visual treats

• The designer giveth... and the designer taketh away! Just because a browser supports a feature doesn’t mean you have to offer it

• Don’t be forced into hackingFeature support can require complex hacks and it’s often not necessary

Page 10: We Need To Talk About IE6

What Is a Punishment?A decision to REMOVE visual treats

• The designer giveth... and the designer taketh away! Just because a browser supports a feature doesn’t mean you have to offer it

• Don’t be forced into hackingFeature support can require complex hacks and it’s often not necessary

• Don’t compromise the neatness of your codeAvoid littering markup with unnecessary classes and IDs

Page 11: We Need To Talk About IE6

Reward & PunishmentIn Practice: elliotjaystocks.com

Page 12: We Need To Talk About IE6

Reward & PunishmentIn Practice: elliotjaystocks.com

To reduce the need for unnecessary class names, more advanced CSS selectors were used.

Page 13: We Need To Talk About IE6

Reward & PunishmentIn Practice: elliotjaystocks.com

To reduce the need for unnecessary class names, more advanced CSS selectors were used.

These selectors are not supported by IE6 and as a result it lacks some of the visual treats...

Page 14: We Need To Talk About IE6

Attribute Selectorsul.blogroll li a[href="http://hicksdesign.co.uk"] { background:url(../images/hicksFavicon.ico) }

Page 15: We Need To Talk About IE6

Attribute Selectorsul.blogroll li a[href="http://hicksdesign.co.uk"] { background:url(../images/hicksFavicon.ico) }

Safari IE6

Page 16: We Need To Talk About IE6

Adjacent Sibling Selectorsol.portfolioList li h2+a:hover { border:none }

Page 17: We Need To Talk About IE6

Adjacent Sibling Selectorsol.portfolioList li h2+a:hover { border:none }

Safari IE6

Page 18: We Need To Talk About IE6

Reward & PunishmentIn Practice: stuffandnonsense.co.uk

Safari IE6

Page 19: We Need To Talk About IE6

But Why Reward or Punish?

Page 20: We Need To Talk About IE6

But Why Reward or Punish?

• Encourage users to adopt modern browsers

Page 21: We Need To Talk About IE6

But Why Reward or Punish?

• Encourage users to adopt modern browsers

• Encourage browser vendors to create modern browsers

Page 22: We Need To Talk About IE6

But Why Reward or Punish?

• Encourage users to adopt modern browsers

• Encourage browser vendors to create modern browsers

• Push technology and ideologies forward

Page 23: We Need To Talk About IE6

A Word of Warning

Page 24: We Need To Talk About IE6

A Word of Warning

• Not suitable in some commercial environments

Page 25: We Need To Talk About IE6

A Word of Warning

• Not suitable in some commercial environments

• Pay attention to client requirements

Page 26: We Need To Talk About IE6

A Word of Warning

• Not suitable in some commercial environments

• Pay attention to client requirements

• Adapt to suit your target audience

Page 27: We Need To Talk About IE6

When In Doubt...

Page 28: We Need To Talk About IE6

When In Doubt...... use a badge!

Page 29: We Need To Talk About IE6

Accessibility: Catering For Users Without Resorting To Punishment

Page 30: We Need To Talk About IE6

Accessibility: Catering For Users Without Resorting To PunishmentIn some circumstances, a browser’s lack of support for certain features can ruin the user experience.

Page 31: We Need To Talk About IE6

Accessibility: Catering For Users Without Resorting To PunishmentIn some circumstances, a browser’s lack of support for certain features can ruin the user experience.

In this instance, alternative display systems should be considered.

Page 32: We Need To Talk About IE6

Problem: JS Tab NavigationThe absolute positioning used to display the different information boxes on rollover is rendered useless if the user has Javascript disabled.

Page 33: We Need To Talk About IE6

Solution: Specific Styles For Javascript-Disabled Users

Page 34: We Need To Talk About IE6

Solution: Specific Styles For Javascript-Disabled Users1. Use Javascript to write the class of hasJavascript to the <body> tag. No Javascript? No hasJavascript class!

Page 35: We Need To Talk About IE6

Solution: Specific Styles For Javascript-Disabled Users1. Use Javascript to write the class of hasJavascript to the <body> tag. No Javascript? No hasJavascript class!

2. Use CSS to style descendants of hasJavascript differently; e.g:

body div { background:#000 } body.hasJavascript div { background:#fff }

Page 36: We Need To Talk About IE6

Solution: Specific Styles For Javascript-Disabled UsersUsers without Javascript see a completely different navigation system. Hurrah!

Page 37: We Need To Talk About IE6

Conclusion

Page 38: We Need To Talk About IE6

Conclusion• Decide whether to reward or punish:

- What are the browser’s capabilities?- Who is the target user / browser?

Page 39: We Need To Talk About IE6

Conclusion• Decide whether to reward or punish:

- What are the browser’s capabilities?- Who is the target user / browser?

• Be gentle:- Proceed with caution- Consider displaying a warning ‘badge’

Page 40: We Need To Talk About IE6

Conclusion• Decide whether to reward or punish:

- What are the browser’s capabilities?- Who is the target user / browser?

• Be gentle:- Proceed with caution- Consider displaying a warning ‘badge’

• Stay accessible:- Usability is more important than punishment- If necessary, offer alternative styling for different browsers

Page 41: We Need To Talk About IE6

Thank Youelliotjaystocks.com/geeknight