Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Strategies For Progressive Enhancement
Search
Drew McLellan
September 27, 2011
Technology
110
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Strategies For Progressive Enhancement
Drew McLellan
September 27, 2011
More Decks by Drew McLellan
See All by Drew McLellan
HTML5 APIs PHP Yorkshire 2017
drewm
1
240
HTML5 APIs Confoo Montreal
drewm
1
290
PHP Payments with Omnipay
drewm
0
140
HTML5 APIs Confoo Vancouver
drewm
0
300
Learn to Love Regular Expressions
drewm
0
190
Ecommerce Projects with Moltin
drewm
0
700
Writing Portable PHP
drewm
0
150
Getting to Grips with Regular Expressions
drewm
1
290
Back to Front Performance - Oct 2013
drewm
0
130
Other Decks in Technology
See All in Technology
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
"優秀な誰か"の下位互換にならないために
yut0naga1_fa
1
1.8k
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
How to Design Configuration for Rails Applications
willnet
1
780
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
190
大型犬好きによるPugの紹介
yamanoku
1
160
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
170
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.7k
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.4k
From π to Pie charts
rasagy
1
400
Design in an AI World
tapps
1
350
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Mind Mapping
helmedeiros
1
400
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Transcript
- STRATEGIES FOR - PROGRESSIVE ENHANCEMENT THINK VITAMIN JAVASCRIPT CONFERENCE
- 13 SEPTEMBER 2010 -
DREW MCLELLAN
FRONT END DEVELOPER (SOMETIMES)
JQUERY
GOOD JAVASCRIPT DESIGN STARTS WITHOUT JAVASCRIPT
THE WEB WORKS IN LAYERS
HTML IMPLEMENTATION 1
STYLE WITH CSS 2
ENHANCE WITH JAVASCRIPT 3
CHECK YOU’VE NOT BROKEN ANYTHING 4
PROGRESSIVE ENHANCEMENT !== GRACEFUL DEGRADATION
BE THE BEST DEVELOPER YOU CAN BE
“WE REQUIRE JAVASCRIPT”
DESIGNING A FEATURE TO WORK WITHOUT JAVASCRIPT IS NOT EXTRA
EFFORT
IT’S BASE EFFORT.
ADDING JAVASCRIPT IS THE EXTRA BIT
PRIORITISE BASIC FUNCTIONALITY
HIJACK!
SIMPLE, RIGHT?
A SIDE NOTE ON CSS...
<body> $(‘body’).addClass(‘js’); <body class=“js”> .js #thing
PREVENT CSS FOR HIJACKED ELEMENTS MESSING WITH THE DEFAULT STATE
THUMBNAIL IMAGES
“ADD A FRIEND” LINK
BASIC AJAX FORM
DRAG’N’DROP REORDERING
MODAL DIALOGUES
CAROUSELS
MORE CAROUSELS
REMEMBER:
HTML IMPLEMENTATION 1
STYLE WITH CSS 2
ENHANCE WITH JAVASCRIPT 3
CHECK YOU’VE NOT BROKEN ANYTHING 4