(empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone...

43
(empathy-focused) Progressive Enhancement with Javascript

Transcript of (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone...

Page 1: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

(empathy-focused)

Progressive

Enhancement

with Javascript

Page 2: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

👋 👋 Shemona Singh

Design Technologist

Indeed

Page 3: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 4: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

“allows everyone to access the basic content and

functionality of a web page, using any browser or Internet

connection, while also providing an enhanced version of the

page to those with more advanced browser software or

greater bandwidth. And in a nutshell, it gives us basic user

experience and cross compatibility across browsers to ensure

stability.”

What’s Progressive Enhancement?

Page 5: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Progressive Enhancement

Graceful Degradation

Page 6: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Progressive Enhancement

Graceful Degradation

Page 7: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

PE is dead?

“The devotion to progressive enhancement was useful in a time

when web development was new and browsers were still more like

bumbling toddlers than the confident, lively young adults

they’ve grown to become.”

Page 8: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

PE is dead?

“What do you think I need to know about accessibility in a world

where Javascript is expected to be enabled and work?”

“The recent emphasis on scalability and efficiency for a few high-profile,

ludicrously high-traffic sites (Twitter, etc) has convinced the peanut

gallery that accessibility is dead and it's fine to write sites that

unnecessarily rely on Javascript, but that doesn't mean that that's

necessarily a good idea, and certainly not if you aren't serving tens of

millions of page-hits a day and trying to shave off every spare byte.”

Page 9: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 10: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

“allows everyone to access the basic content and

functionality of a web page, using any browser or Internet

connection, while also providing an enhanced version of the

page to those with more advanced browser software or

greater bandwidth. And in a nutshell, it gives us basic user

experience and cross compatibility across browsers to ensure

stability.”

What’s Progressive Enhancement?

Page 11: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

“allows everyone to access the basic content and

functionality of a web page, using any browser or Internet

connection, while also providing an enhanced version of the

page to those with more advanced browser software or

greater bandwidth. And in a nutshell, it gives us basic user

experience and cross compatibility across browsers to ensure

stability.”

What’s Progressive Enhancement?

= OFFER OPTIONS

Page 12: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

How does this affect what I build?

Page 13: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

“When you talk about getting online, it’s not that simple. Not

everybody is experiencing the internet in the same way. In

some countries, there is very fast connectivity. In others you might

have a spotty 3G connection that goes in and out, so what you

can do with it is really restricted.”

Page 14: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 15: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 16: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Thinking PE First

Page 17: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

à la carte Test for method support in browser before running

Load styles based on loaded scripts

Page 18: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

à la carte

Remove inline event handlers to ensure content is separate from behavior

Move all scripts to linked external files

Page 19: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 20: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 21: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

If your website…..

Page 22: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Has an international audience

Page 23: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Has an international audience

Page 24: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Is Content Heavy

Page 25: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Is Content Heavy

Page 26: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Is Content Heavy

Page 27: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Is Content Heavy

1s 3s 5s

Page 28: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Is Ad Focused

Page 29: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Is Ad Focused

Page 30: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Needs to help users with the next step

Page 31: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Needs to help users with the next step

Page 32: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Needs to help users with the next step

Page 33: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Question the usage How can the user best digest this info?

● Dim lighting? Offer contrast options

● Tons of words demanding attention? Give ways to

simplify the page to find what they are looking for

● Slow connection? Load only what’s necessary first

● Not enough battery? Save the fancy stuff for later

● Hands available? Give important links and buttons a

large real estate on phones

Page 34: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

You can’t always build for consistency,

but you should always build for

digestibility.

Page 35: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Early & Often

Page 36: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Test Early & Often

Page 37: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Test Early & Often Fail Early & Often

Page 38: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Test Early & Often Fail Early & Often

Collaborate Early & Often

Page 39: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Test Early & Often Fail Early & Often

Collaborate Early & Often User Advocacy Early & Often

Page 40: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 41: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 42: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or
Page 43: (empathy-focused) Progressive Enhancement · What’s Progressive Enhancement? “allows everyone to access the basic content and functionality of a web page, using any browser or

Shemona Singh