scripting enabled - how to make the web more accessible with javascript and flash

125
Scripting Enabled Christian Heilmann @mediaAjax 2008, London, UK

Upload: christian-heilmann

Post on 13-Jun-2015

8.988 views

Category:

Education


2 download

DESCRIPTION

My talk at @mediaAjax 2008 about Scripting Enabled, what lead to it, what we can use now and where we are going with this. Now

TRANSCRIPT

Page 1: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Scripting

Enabled

Christian Heilmann

@mediaAjax 2008, London, UK

Page 2: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Hello there, I’m Chris.

Page 3: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Today I will talk about Scripting Enabled or

“accessibility hacking”.

Page 4: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

So why not start with the obvious example:

Page 5: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Sir Isaac Newton

Page 6: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Portrait of Isaac Newton

Page 7: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Picture of an apple

Page 8: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Right now, we have quite a big mass of people who care and talk about accessibility.

Page 9: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

we♥

access

Page 10: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

The problem is that a mass is not a force without any

movement or acceleration.

Page 11: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

we♥

access

F = ma“the net force on an object is equal to the mass of

the object multiplied by its acceleration.”

Page 12: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

This means that if we give this mass a push, it becomes a

force.

Page 13: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

we♥

access

Page 14: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

The more we push, the larger the force will get, and the bigger its impact will be.

Page 15: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

we♥

access

Page 16: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

However, this only works, when we all push in the same

direction.

Page 17: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

we♥

access

Page 18: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Otherwise, all we do is exert our strength pushing against

each other.

Page 19: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

We do move the mass, but only randomly, and

eventually it might get motion sick.

Page 20: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

This is where web accessibility is right now.

Page 21: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

A lot of people are simply getting sick of the inertia.

Page 22: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Accessibility supporters are getting sick of things not

moving forward.

Page 23: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

People seem to be more interested in checking boxes

than removing barriers.

Page 24: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Developers get sick of having accessibility as a show

stopper.

Page 25: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Developers are getting sick of being told off for not

following guidelines that don’t seem to make sense.

Page 26: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

However, we all are ready for action.

Page 27: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Accessibility supporters are happy to tell people about

the impact of bad usability or technical assumptions.

Page 28: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Developers are happy to spend hours on solving

problems...

Page 29: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

...right now mostly problems they came up with

themselves.

Page 30: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

So what we are really facing here is a breakdown of

communication.

Page 31: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Geeks and Non-Geeks do not talk much...

Page 32: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

...if they do it is very likely to be in parallel.

Page 33: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

What we need is a solution that works for everybody.

Page 34: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Computers love things structured and logical.

Page 35: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

The multipass is to use the urge to fiddle with and

enhance and mash things up and steer it towards real

problems.

Page 36: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

This needs a few things – first we need real information of

barriers that exist.

Page 37: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Most of all however it needs a few good men people.

Page 38: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

My view on accessibility changed when I met this

man:

Page 39: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Picture of

Artur Ortega

http://www.flickr.com/photos/redux/2474124685/

Page 40: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

He is blind and a class-A geek and hacker.

Page 41: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

One of the first things I’ve seen him do was get

GreaseMonkey to fix sites for himself.

Page 42: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

In an internal hack day he used GM to inject lang

attributes into the search result pages of Yahoo.

Page 43: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

This has two effects:

Page 44: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Artur doesn’t have to suffer French or German

pronounced in English any longer.

Page 45: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

And there is a higher search relevancy – if I know the

language I can distinguish between stop words and key

words.

Page 46: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

I pestered one of the search engineers with the hack and

the idea...

Page 47: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

...and now Yahoo has natural language support in the

search result pages.

Page 48: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

I took the hack further by injecting lang attributes into twitter feeds, looping them

through the Google translation API:

Page 50: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Now mix someone like Artur with great developers, and

we are experiencing movement that can become a

force.

Page 51: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

We have an internal group called “accessibility

stakeholders” which took on a lot of small problems and

hack around them.

Page 53: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Here are some of the solutions:

Page 54: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Image of the search box in yahoo tv

Page 55: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Screenshot of the same search withoutjavascript - radio buttons and a search

box.•

Page 56: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Screenshot of a currency converter with and without JavaScript. With JavaScript you

get autosuggestions.

Page 57: Scripting Enabled - How to make the web more accessible with JavaScript and Flash
Page 58: Scripting Enabled - How to make the web more accessible with JavaScript and Flash
Page 59: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Another thing that gave me a boost is to realize that

accessibility is much bigger than technology.

Page 60: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Flash is evil, especially when you don’t do it right, right?

Page 61: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

http://live.yahoo.com/

Page 62: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Who defines accessibility?

Page 63: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Using yahoo live a group of deaf people wereable to chat online for the first time.

Yahoo live showing hard of hearing people chatting with

another in sign language.

http://blog.deafread.com/abcohende/2008/02/15/yahoos-live-deaf-chat-room/

Page 64: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Another person to challenge me was Antonia Hyde:

Page 65: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

(who hates being photographed)

Page 67: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Shortly before YouTube announced their API to build

your own YouTube Player.

Page 68: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

I took the API and Antonia’s findings and built

EasyYouTube.

Page 70: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

★ Easy controls

★ Option to search for videos

★ Copy and paste video URL to share

★ Select video size

★ Easy Volume Control

★ Option to show a playlist created with del.icio.us

★ Option to search YouTube

★ API to automatically open videos in Easy YouTube

★ Documentation how to host it yourself

★ Open Source

Page 71: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

That’ll never make it to the mainstream, though...

Page 72: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Or will it?

Page 73: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Screenshots of uk.video.yahoo.com with and without JavaScript

http://uk.video.yahoo.com/

Page 74: Scripting Enabled - How to make the web more accessible with JavaScript and Flash
Page 75: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

I earlier used the YouTube API to build easy captioning

interfaces.

Page 76: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

I also used the YouTube API earlier to build easy

captioning interfaces.

http://icant.co.uk/sandbox/youtube-captioning.html

Page 77: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Which inspired others to hack their annotations API:

Page 79: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

And again others to build a whole web app about it:

Page 81: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

and maybe, just maybe YouTube to now offer it aswell... (yeah, I don’t believe it myself either)

Page 82: Scripting Enabled - How to make the web more accessible with JavaScript and Flash
Page 83: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

The main trick is to make Flash and JavaScript talk via

APIs.

Page 84: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Flash accessibility is much harder than just making the movie keyboard accessible.

Page 85: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

The big issue is that especially in Firefox you cannot focus

the Flash movie with the keyboard.

Page 86: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Flash, however, can talk to JavaScript and get

parameters.

Page 87: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

If you build your Flash component to call outside JavaScripts notifying them

about the happenings, sky is the limit.

Page 88: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

If you write out your Flash using SWFObject, you can send any parameter you

want.

Page 89: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

But what if you don’t have a Flash developer or you don’t

have time and money to build your own player?

Page 90: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

This is where geeks come in.

Page 91: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Geeks like Scott Schiller

Page 92: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Photo of Scott Schiller

Page 93: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Scott works for Flickr, so naturally he’d spend his free

time on...

Page 94: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

...writing an MP3 player for JavaScript.

Page 95: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Using his Soundmanager2, you can create a player for a

list of MP3s you link to in HTML.

Page 99: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Other geeks found this, and started to mix it with

transcripts of music to create a Karaoke machine..

Page 101: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Seemingly pointless bells and whistles...

Page 102: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

... but using this you could build a podcast and transcript

viewer that works...

Page 103: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

... for sensory impaired visitors and everybody else

alike!

Page 104: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

For video, there’s Jeroen Wijering who built the JW FLV

Media Player.

Page 105: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Screenshot of the JW Video Player

http://www.jeroenwijering.com/?item=JW_FLV_Player

Page 106: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Using this, you can embed FLV videos easily into web sites and have an API to control

them.

Page 107: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Using the right meta data, you can also add audio

descriptions and captions.

Page 108: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Screenshot of the JW player with captioning and audio description

showing a scene from Coronation Street.

http://www.jeroenwijering.com/?item=JW_FLV_Player

Page 109: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

So, first steps are taken to make geek inventiveness and

non-geek’s knowledge of issues to fix go together.

Page 110: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

And there is a main market interest.

Page 111: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Another area we are seeing some tweaking in is browser

and software extensions.

Page 112: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

AxsJax or Access-enabling Ajax is a JavaScript library that injects ARIA attributes

into web sites.

Page 114: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

WebVisum is a Firefox 3 extension that crowdsources fixes for web sites – including allowing screenreader users to fix issues themselves and

work around CAPTCHAs.

Page 115: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

http://webvisum.com/

Page 116: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

IBM’s social accessibility project works in a similar

fashion, except it is a screen reader extension that reports barriers to volunteers to fix.

Page 117: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

http://services.alphaworks.ibm.com/socialaccessibility/

http://webvisum.com/

Page 118: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

The final proof for me that we can work together on

removing barriers was throwing the idea out at

BBC’s Mashed08 hack day.

Page 119: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Photo of me and screenshot of the “Easy BBC Audio Archive”

http://www.flickr.com/photos/arron-woods/2605302289/

Page 120: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

There was a lot of positive feedback from hackers, and I

got funding to organise an “accessibility hack day”.

Page 121: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

So here it is!

Page 122: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

September 19th and 20th (aye, this week)

Saturday – Hack Day (practice what we heard

on day one)

Friday: – Fact finding (presentations)

Gamelab offices in 35 Kingsland Rd, London, E2 8AA

Henry Thomas Room of the Metropolitan University of London at 166–220 Holloway Road, London N7 8DB

http://scriptingenabled.org

Page 123: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

It is just a start, you and others can take this on the

road.

Page 124: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Fancy having a go?

Page 125: Scripting Enabled - How to make the web more accessible with JavaScript and Flash

Thanks!Chris Heilmann

http://scriptingenabled.org

http://wait-till-i.com