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
99
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
230
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
180
Ecommerce Projects with Moltin
drewm
0
700
Writing Portable PHP
drewm
0
140
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
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
420
omasushiというライブラリを作った
polidog
PRO
0
200
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
130
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
170
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
260
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
600
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
350
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
310
enechainの内製セルフサービスプラットフォーム
hiyosi
0
150
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
1
460
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
410
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
210
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Writing Fast Ruby
sferik
630
63k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Marketing to machines
jonoalderson
1
5.8k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Google's AI Overviews - The New Search
badams
0
1.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
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