SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
We need to talk about IE6
Support and non-support in a Standards-aware world

by Elliot Jay Stocks
elliotjaystocks.com/skillswap
What Is a Reward?
What Is a Reward?
A visual treat for the more capable browser
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
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)
What Is a Punishment?
What Is a Punishment?
A decision to REMOVE visual treats
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
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 hacking
Feature support can require complex hacks and it’s often
not necessary
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 hacking
Feature support can require complex hacks and it’s often
not necessary

• Don’t compromise the neatness of your code
Avoid littering markup with unnecessary classes and IDs
Reward & Punishment
In Practice: elliotjaystocks.com
Reward & Punishment
In Practice: elliotjaystocks.com
To reduce the need for unnecessary class names, more
advanced CSS selectors were used.
Reward & Punishment
In 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...
Attribute Selectors
ul.blogroll li a[href=quot;http://hicksdesign.co.ukquot;]
{ background:url(../images/hicksFavicon.ico) }
Attribute Selectors
ul.blogroll li a[href=quot;http://hicksdesign.co.ukquot;]
{ background:url(../images/hicksFavicon.ico) }

     Safari                                 IE6
Adjacent Sibling Selectors
ol.portfolioList li h2+a:hover { border:none }
Adjacent Sibling Selectors
ol.portfolioList li h2+a:hover { border:none }


Safari                       IE6
Reward & Punishment
In Practice: stuffandnonsense.co.uk
Safari               IE6
But Why Reward or Punish?
But Why Reward or Punish?
• Encourage users to adopt modern browsers
But Why Reward or Punish?
• Encourage users to adopt modern browsers
• Encourage browser vendors to create modern browsers
But Why Reward or Punish?
• Encourage users to adopt modern browsers
• Encourage browser vendors to create modern browsers
• Push technology and ideologies forward
A Word of Warning
A Word of Warning
• Not suitable in some commercial environments
A Word of Warning
• Not suitable in some commercial environments
• Pay attention to client requirements
A Word of Warning
• Not suitable in some commercial environments
• Pay attention to client requirements
• Adapt to suit your target audience
When In Doubt...
When In Doubt...
... use a badge!
Accessibility:
Catering For Users Without
Resorting To Punishment
Accessibility:
Catering For Users Without
Resorting To Punishment
In some circumstances, a browser’s lack of support
for certain features can ruin the user experience.
Accessibility:
Catering For Users Without
Resorting To Punishment
In 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.
Problem: JS Tab Navigation
The absolute positioning used to display the different
information boxes on rollover is rendered useless if the
user has Javascript disabled.
Solution: Specific Styles For
Javascript-Disabled Users
Solution: Specific Styles For
Javascript-Disabled Users
1. Use Javascript to write the class of hasJavascript to
the <body> tag. No Javascript? No hasJavascript class!
Solution: Specific Styles For
Javascript-Disabled Users
1. 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 }
Solution: Specific Styles For
Javascript-Disabled Users
Users without Javascript see a completely different
navigation system. Hurrah!
Conclusion
Conclusion
• Decide whether to reward or punish:
  - What are the browser’s capabilities?
  - Who is the target user / browser?
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’
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
Thank You
elliotjaystocks.com/geeknight

Más contenido relacionado

La actualidad más candente

Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013
Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013
Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013Terminalfour
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)Chris Mills
 
Themer's roundtable
Themer's roundtableThemer's roundtable
Themer's roundtablecanarymason
 
Roll Your Own CSS Framework
Roll Your Own CSS FrameworkRoll Your Own CSS Framework
Roll Your Own CSS FrameworkMike Aparicio
 
Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010canarymason
 
Drupaldelphia Shortcuts Cheats And Cheap Stunts
Drupaldelphia  Shortcuts Cheats And Cheap StuntsDrupaldelphia  Shortcuts Cheats And Cheap Stunts
Drupaldelphia Shortcuts Cheats And Cheap Stuntscanarymason
 

La actualidad más candente (7)

Joseph Clifford
Joseph CliffordJoseph Clifford
Joseph Clifford
 
Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013
Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013
Overcoming University branding issues-VCU: TERMINALFOUR tforum 2013
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)
 
Themer's roundtable
Themer's roundtableThemer's roundtable
Themer's roundtable
 
Roll Your Own CSS Framework
Roll Your Own CSS FrameworkRoll Your Own CSS Framework
Roll Your Own CSS Framework
 
Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010Designing in the Browser - Design for Drupal, Boston 2010
Designing in the Browser - Design for Drupal, Boston 2010
 
Drupaldelphia Shortcuts Cheats And Cheap Stunts
Drupaldelphia  Shortcuts Cheats And Cheap StuntsDrupaldelphia  Shortcuts Cheats And Cheap Stunts
Drupaldelphia Shortcuts Cheats And Cheap Stunts
 

Similar a We Need To Talk About IE6

Active Web Development
Active Web DevelopmentActive Web Development
Active Web DevelopmentDivya Manian
 
It's Business Time: The Graceful Degradation of CSS3
It's Business Time: The Graceful Degradation of CSS3It's Business Time: The Graceful Degradation of CSS3
It's Business Time: The Graceful Degradation of CSS3Denise Jacobs
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalFour Kitchens
 
The Sankofa of CSS3: Moving forward while looking back
The Sankofa of CSS3: Moving forward while looking backThe Sankofa of CSS3: Moving forward while looking back
The Sankofa of CSS3: Moving forward while looking backDenise Jacobs
 
YUI Graded Browser Support
YUI Graded Browser SupportYUI Graded Browser Support
YUI Graded Browser SupportJohn Kary
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App ChallengesJason Grigsby
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the WildRich Quick
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...Marco Cedaro
 
Wp responsive-theme-framework
Wp responsive-theme-frameworkWp responsive-theme-framework
Wp responsive-theme-frameworkDamien Oh
 
Conquering Gef Part2: Building graphical web-apps with Eclipse
Conquering Gef Part2: Building graphical web-apps with EclipseConquering Gef Part2: Building graphical web-apps with Eclipse
Conquering Gef Part2: Building graphical web-apps with EclipseVineet Sinha
 
How I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptHow I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptKevin Read
 
Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8Kevin Read
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
 
Designing with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & EfficientlyDesigning with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & EfficientlyZoe Gillenwater
 
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...railsconf
 
Improving WordPress Themes & Plugins Support Documentation
Improving WordPress Themes & Plugins Support DocumentationImproving WordPress Themes & Plugins Support Documentation
Improving WordPress Themes & Plugins Support DocumentationGloria Antonelli
 

Similar a We Need To Talk About IE6 (20)

Reward & Punishment
Reward & PunishmentReward & Punishment
Reward & Punishment
 
Active Web Development
Active Web DevelopmentActive Web Development
Active Web Development
 
It's Business Time: The Graceful Degradation of CSS3
It's Business Time: The Graceful Degradation of CSS3It's Business Time: The Graceful Degradation of CSS3
It's Business Time: The Graceful Degradation of CSS3
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
 
The Sankofa of CSS3: Moving forward while looking back
The Sankofa of CSS3: Moving forward while looking backThe Sankofa of CSS3: Moving forward while looking back
The Sankofa of CSS3: Moving forward while looking back
 
YUI Graded Browser Support
YUI Graded Browser SupportYUI Graded Browser Support
YUI Graded Browser Support
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App Challenges
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the Wild
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
 
Wp responsive-theme-framework
Wp responsive-theme-frameworkWp responsive-theme-framework
Wp responsive-theme-framework
 
CSS 3
CSS 3CSS 3
CSS 3
 
Conquering Gef Part2: Building graphical web-apps with Eclipse
Conquering Gef Part2: Building graphical web-apps with EclipseConquering Gef Part2: Building graphical web-apps with Eclipse
Conquering Gef Part2: Building graphical web-apps with Eclipse
 
How I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptHow I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScript
 
Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8
 
Responsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and TechniquesResponsive Web Design: Clever Tips and Techniques
Responsive Web Design: Clever Tips and Techniques
 
FOWD NYC 2009
FOWD NYC 2009FOWD NYC 2009
FOWD NYC 2009
 
Designing with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & EfficientlyDesigning with CSS3 Effectively & Efficiently
Designing with CSS3 Effectively & Efficiently
 
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...Develop With Pleasure  Deploy With Fun  Glass Fish And Net Beans For A Better...
Develop With Pleasure Deploy With Fun Glass Fish And Net Beans For A Better...
 
Using a CSS Framework
Using a CSS FrameworkUsing a CSS Framework
Using a CSS Framework
 
Improving WordPress Themes & Plugins Support Documentation
Improving WordPress Themes & Plugins Support DocumentationImproving WordPress Themes & Plugins Support Documentation
Improving WordPress Themes & Plugins Support Documentation
 

Más de elliotjaystocks

Things I have Learned as an Accidental Businessman
Things I have Learned as an Accidental BusinessmanThings I have Learned as an Accidental Businessman
Things I have Learned as an Accidental Businessmanelliotjaystocks
 
WordPress Theme Development for Designers
WordPress Theme Development for DesignersWordPress Theme Development for Designers
WordPress Theme Development for Designerselliotjaystocks
 
Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)elliotjaystocks
 
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...elliotjaystocks
 
Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)elliotjaystocks
 
Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2elliotjaystocks
 
Professional Photoshop Effects
Professional Photoshop EffectsProfessional Photoshop Effects
Professional Photoshop Effectselliotjaystocks
 
Close Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline WorldClose Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline Worldelliotjaystocks
 

Más de elliotjaystocks (13)

Things I have Learned as an Accidental Businessman
Things I have Learned as an Accidental BusinessmanThings I have Learned as an Accidental Businessman
Things I have Learned as an Accidental Businessman
 
The Story of 8 Faces
The Story of 8 FacesThe Story of 8 Faces
The Story of 8 Faces
 
WordPress Theme Development for Designers
WordPress Theme Development for DesignersWordPress Theme Development for Designers
WordPress Theme Development for Designers
 
Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)Stop Worrying & Get On With It (WDC Bristol 2009)
Stop Worrying & Get On With It (WDC Bristol 2009)
 
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
Stop Worrying & Get On With It: Progressive Enhancement & Intentional Degrada...
 
Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)Stop Worrying & Get On With It (FOWD Tour 2009)
Stop Worrying & Get On With It (FOWD Tour 2009)
 
Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2Progressive Enhancement & Intentional Degradation 2
Progressive Enhancement & Intentional Degradation 2
 
The Trouble With Type
The Trouble With TypeThe Trouble With Type
The Trouble With Type
 
Professional Photoshop Effects
Professional Photoshop EffectsProfessional Photoshop Effects
Professional Photoshop Effects
 
I Care Because You Do
I Care Because You DoI Care Because You Do
I Care Because You Do
 
Close Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline WorldClose Your Browser: Finding Inspiration In The Offline World
Close Your Browser: Finding Inspiration In The Offline World
 
Print Is The New Web
Print Is The New WebPrint Is The New Web
Print Is The New Web
 
FOWD November 2007
FOWD November 2007FOWD November 2007
FOWD November 2007
 

Último

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

We Need To Talk About IE6

  • 1. We need to talk about IE6 Support and non-support in a Standards-aware world by Elliot Jay Stocks elliotjaystocks.com/skillswap
  • 2. What Is a Reward?
  • 3. What Is a Reward? A visual treat for the more capable browser
  • 4. 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
  • 5. 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)
  • 6. What Is a Punishment?
  • 7. What Is a Punishment? A decision to REMOVE visual treats
  • 8. 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
  • 9. 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 hacking Feature support can require complex hacks and it’s often not necessary
  • 10. 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 hacking Feature support can require complex hacks and it’s often not necessary • Don’t compromise the neatness of your code Avoid littering markup with unnecessary classes and IDs
  • 11. Reward & Punishment In Practice: elliotjaystocks.com
  • 12. Reward & Punishment In Practice: elliotjaystocks.com To reduce the need for unnecessary class names, more advanced CSS selectors were used.
  • 13. Reward & Punishment In 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...
  • 14. Attribute Selectors ul.blogroll li a[href=quot;http://hicksdesign.co.ukquot;] { background:url(../images/hicksFavicon.ico) }
  • 15. Attribute Selectors ul.blogroll li a[href=quot;http://hicksdesign.co.ukquot;] { background:url(../images/hicksFavicon.ico) } Safari IE6
  • 16. Adjacent Sibling Selectors ol.portfolioList li h2+a:hover { border:none }
  • 17. Adjacent Sibling Selectors ol.portfolioList li h2+a:hover { border:none } Safari IE6
  • 18. Reward & Punishment In Practice: stuffandnonsense.co.uk Safari IE6
  • 19. But Why Reward or Punish?
  • 20. But Why Reward or Punish? • Encourage users to adopt modern browsers
  • 21. But Why Reward or Punish? • Encourage users to adopt modern browsers • Encourage browser vendors to create modern browsers
  • 22. But Why Reward or Punish? • Encourage users to adopt modern browsers • Encourage browser vendors to create modern browsers • Push technology and ideologies forward
  • 23. A Word of Warning
  • 24. A Word of Warning • Not suitable in some commercial environments
  • 25. A Word of Warning • Not suitable in some commercial environments • Pay attention to client requirements
  • 26. A Word of Warning • Not suitable in some commercial environments • Pay attention to client requirements • Adapt to suit your target audience
  • 28. When In Doubt... ... use a badge!
  • 29. Accessibility: Catering For Users Without Resorting To Punishment
  • 30. Accessibility: Catering For Users Without Resorting To Punishment In some circumstances, a browser’s lack of support for certain features can ruin the user experience.
  • 31. Accessibility: Catering For Users Without Resorting To Punishment In 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.
  • 32. Problem: JS Tab Navigation The absolute positioning used to display the different information boxes on rollover is rendered useless if the user has Javascript disabled.
  • 33. Solution: Specific Styles For Javascript-Disabled Users
  • 34. Solution: Specific Styles For Javascript-Disabled Users 1. Use Javascript to write the class of hasJavascript to the <body> tag. No Javascript? No hasJavascript class!
  • 35. Solution: Specific Styles For Javascript-Disabled Users 1. 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 }
  • 36. Solution: Specific Styles For Javascript-Disabled Users Users without Javascript see a completely different navigation system. Hurrah!
  • 38. Conclusion • Decide whether to reward or punish: - What are the browser’s capabilities? - Who is the target user / browser?
  • 39. 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’
  • 40. 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