128
Selfish Accessibility Presented by Adrian Roselli for Create Upstate 2016 Slides from this workshop will be available at rosel.li/ CreateUpstate

“Selfish Accessibility” for Create Upstate 2016

Embed Size (px)

Citation preview

Page 1: “Selfish Accessibility” for Create Upstate 2016

Selfish AccessibilityPresented by Adrian Roselli for Create Upstate 2016

Slides from this workshop will be available at rosel.li/CreateUpstate

Page 2: “Selfish Accessibility” for Create Upstate 2016

Introductions

Page 3: “Selfish Accessibility” for Create Upstate 2016

About Adrian Roselli

• Co-written four books.• Technical editor

for two books.• Written over fifty

articles, most recentlyfor .net Magazine andWeb Standards Sherpa.

Great bedtime reading!

Page 4: “Selfish Accessibility” for Create Upstate 2016

About Adrian Roselli

• Member of W3C HTML Working Group*, W3C Accessibility Task Force, five W3C Community Groups.

• Building for the web since 1993.• Business owner / founder, ~20 years.• Now independent.• Learn more at AdrianRoselli.com.• Avoid on Twitter @aardrian.

I warned you.

Page 5: “Selfish Accessibility” for Create Upstate 2016

Primer

Page 6: “Selfish Accessibility” for Create Upstate 2016

What is a11y?

• A numeronym for “accessibility”:• The first and last letter (accessibility),• The number of characters omitted (a11y).

• Prominent on Twitter (character restrictions):• #a11y

• Examples:• l10n → localization• i18n → internationalization

Ain’t language funsies?

Page 7: “Selfish Accessibility” for Create Upstate 2016

Accessibility Gets No Respect

In fairness, Sherwin Williams needs to come up with a lot of color names...

“Cyberspace” (gray)

“Online” (blue)

“Lime Rickey” (green)

Page 8: “Selfish Accessibility” for Create Upstate 2016

Accessibility Gets No Respect

…however I think the team could have done better than this.

Page 9: “Selfish Accessibility” for Create Upstate 2016

What We’ll Cover• Yay Statistics!• Be Selfish• Group Exercise 1• User Experience Models• Group Exercise 2• Group Exercise 3• Technical Bits• Group Exercise 4• Wrap-up• Resources

Work with me, people.

Page 10: “Selfish Accessibility” for Create Upstate 2016

Yay Statistics!

Page 11: “Selfish Accessibility” for Create Upstate 2016

Any Disability

• In the United States:• 10.4% aged 21-64 years old,• 25% aged 65-74 years old,• 50% aged 75+.

• Includes:• Visual• Hearing• Mobility• Cognitive

http://www.who.int/mediacentre/factsheets/fs282/en/http://www.disabilitystatistics.org/reports/2012/English/HTML/report2012.cfm?fips=2000000&html_year=2012

Page 12: “Selfish Accessibility” for Create Upstate 2016

Vision Impairments

• 285 million worldwide:• 39 million are blind,• 246 million have low vision,• 82% of people living with blindness are aged 50

and above.• 1.8% of Americans aged 21-64.• 4.0% of Americans aged 65-74.• 9.8% of Americans aged 75+.

http://www.who.int/mediacentre/factsheets/fs282/en/http://www.disabilitystatistics.org/reports/2012/English/HTML/report2012.cfm?fips=2000000&html_year=2012

Page 13: “Selfish Accessibility” for Create Upstate 2016

Hearing Impairments

• 360 million people worldwide have disabling hearing loss.

• 17% (36 million) of American adults report some degree of hearing loss:• 18% aged 45-64 years old,• 30% aged 65-74 years old,• 47% aged 75+ years old.

http://www.who.int/mediacentre/factsheets/fs300/en/https://www.nidcd.nih.gov/health/statistics/Pages/quick.aspx

Page 14: “Selfish Accessibility” for Create Upstate 2016

Mobility Impairments

• In the United States:• 5.5% aged 21-64 years old.• 15.6% aged 65-74 years old.• 32.9% aged 75+.

http://www.disabilitystatistics.org/reports/2012/English/HTML/report2012.cfm?fips=2000000&html_year=2012

Page 15: “Selfish Accessibility” for Create Upstate 2016

Cognitive Impairments

• Dyslexia,• Dyscalculia,• Memory issues,• Distractions (ADD, ADHD),• In the United States:• 4.3% aged 21-64 years old.• 5.4% aged 65-74 years old.• 14.4% aged 75+.

http://www.disabilitystatistics.org/reports/2012/English/HTML/report2012.cfm?fips=2000000&html_year=2012&subButton=Get+HTML

Page 16: “Selfish Accessibility” for Create Upstate 2016

Be Selfish

Page 17: “Selfish Accessibility” for Create Upstate 2016

WebAIM’s Hierarchy for Motivating Accessibility Change

http://webaim.org/blog/motivating-accessibility-change/

Page 18: “Selfish Accessibility” for Create Upstate 2016

My Hierarchy for Motivating Accessibility Change

Is better, no?

Page 19: “Selfish Accessibility” for Create Upstate 2016

Getting Older

• Affects (nearly) everyone,• Carries risks and side effects,• Is not for the young.

I’m still experimenting with it.

Page 22: “Selfish Accessibility” for Create Upstate 2016

Accidents

• Broken limbs,• Eye injuries,• Hearing injuries,• Head trauma.

All of these have happened to me, multiple times.

Page 27: “Selfish Accessibility” for Create Upstate 2016

But I’m Invincible!

• Multi-tasking,• Sunlight,• Eating at your desk,• No headphones handy,• Content is not in your native language.

The sun is trying to kill me.

Page 32: “Selfish Accessibility” for Create Upstate 2016

Steve Rhodes on Flickr.

Page 36: “Selfish Accessibility” for Create Upstate 2016

Tech Support

• Think of your family!• Think of your time spent helping them!• Think of the wasted holidays!

This is why we hate the holidays.

Page 38: “Selfish Accessibility” for Create Upstate 2016

Group Exercise!

1 of 4 exercises.

Page 39: “Selfish Accessibility” for Create Upstate 2016

Group Exercise!

• Each person should pick a category:• Visual• Audible• Mobility• Cognitive

• Work with group to identify scenarios with overlap for multiple categories that also affect the able-bodied.

• 15 minutes.1 of 4 exercises.

Page 40: “Selfish Accessibility” for Create Upstate 2016

User Experience Models

Page 41: “Selfish Accessibility” for Create Upstate 2016

User Stories

• Components:• User,• Outcome,• Value.

• Writing:• As user, I want outcome.• As user, I want outcome so that value.• In order to get value as user, I want outcome.

How to Write User Stories for Web Accessibility

Page 42: “Selfish Accessibility” for Create Upstate 2016

Selfish User Stories

• As a user on a sun-lit patio, I want to be able to read the content and see the controls.

Add beer and as a user I may have trouble focusing.

Page 43: “Selfish Accessibility” for Create Upstate 2016

Selfish User Stories

• As a user in bed with a sleeping spouse, I want to watch a training video in silence so that I can get caught up at work.

As a user who doesn’t want to get punched for having slacked off at work.

Page 44: “Selfish Accessibility” for Create Upstate 2016

Selfish User Stories

• In order to click links as a user with no elbow room in coach class with a tiny trackpad, I want click areas to be large enough and adequately spaced.

As a user in coach class who also paid too much for the drink he’s spilling on his keyboard.

Page 45: “Selfish Accessibility” for Create Upstate 2016

Selfish User Stories

• As a user distracted by the TV, I want clear headings and labels so that I don’t lose my place.

As a user who really should be finishing his work in the office.

Page 46: “Selfish Accessibility” for Create Upstate 2016

Personas

Book Excerpt: A Web for Everyone, by Sarah Horton, Whitney Quesenbery

Page 47: “Selfish Accessibility” for Create Upstate 2016

Personas

Adrian• Works when he should be relaxing, relaxes

when he should be working.• Lives between motorcycles.• Works late at night with the TV on.• Uses sub-titles in Netflix.• Keeps all screens as dark as possible.

That photo is from official ID.

Page 48: “Selfish Accessibility” for Create Upstate 2016

Group Exercise!

2 of 4 exercises.

Page 49: “Selfish Accessibility” for Create Upstate 2016

Group Exercise!

• Gather the scenarios you created.• Develop User Stories for each.• As user, I want outcome.• As user, I want outcome so that value.• In order to get value as user, I want outcome.

• Develop a persona for at least one.• 15 minutes.

2 of 4 exercises.

Page 50: “Selfish Accessibility” for Create Upstate 2016

Group Exercise! (again)

3 of 4 exercises.

Page 51: “Selfish Accessibility” for Create Upstate 2016

Group Exercise! (again)

• Decide on a user interface element. Examples:• Login form,• Disclosure widget,• Data grid,• Search,• News feed.

• Quickly draw it on paper (no code).• 5 minutes.

3 of 4 exercises.

Page 52: “Selfish Accessibility” for Create Upstate 2016

Technical Bits

Page 53: “Selfish Accessibility” for Create Upstate 2016

Use @alt Text on Images

Page 54: “Selfish Accessibility” for Create Upstate 2016

Use @alt Text on Images

Page 55: “Selfish Accessibility” for Create Upstate 2016

Use @alt Text on Images

• Can you still make sense of the page?• Is content missing?• Can you still use the site?• Is your alt text useful?

http://www.karlgroves.com/2013/09/05/the-6-simplest-web-accessibility-tests-anyone-can-do/

Page 56: “Selfish Accessibility” for Create Upstate 2016

Use @alt Text on Images

http://www.4syllables.com.au/2010/12/text-alternatives-decision-tree/http://dev.w3.org/html5/alt-techniques/#tree

1. What role does image

play?

2. Does it present new

info?

3. What type of info?

Informative Yes

alt=""or

<a href="foo"><img alt="">Link</a>alt=""or

Use CSS

alt="descriptive identification"or

alt="short label" + caption

Pure

ly D

ecor

ative Se

nsor

y

No alt="label for link"

alt=“short alternative"or

alt="short label" + caption

alt="short label + location of long alternative"or

long text alternative on same or linked page

Long

/ Co

mpl

ex

Shor

t / S

impl

eLink

Page 57: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 58: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 59: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 60: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?• Do you warn before opening new windows?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 61: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?• Do you warn before opening new windows?• Do links to downloads provide helpful info?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 62: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?• Do you warn before opening new windows?• Do links to downloads provide helpful info?• Are you using pagination links?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 63: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?• Do you warn before opening new windows?• Do links to downloads provide helpful info?• Are you using pagination links?• Are your links underlined (or otherwise obvious)?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 64: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?• Do you warn before opening new windows?• Do links to downloads provide helpful info?• Are you using pagination links?• Are your links underlined (or otherwise obvious)?• Is there alt text for image links?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 65: “Selfish Accessibility” for Create Upstate 2016

Hyperlinks!

• Is there any “click here,” “more,” “link to…”?• Are you using all-caps, URLs, emoticons?• Do you warn before opening new windows?• Do links to downloads provide helpful info?• Are you using pagination links?• Are your links underlined (or otherwise obvious)?• Is there alt text for image links?• Is the link text consistent?

http://www.sitepoint.com/15-rules-making-accessible-links/

Page 66: “Selfish Accessibility” for Create Upstate 2016

Use Link Underlines

http://www.theverge.com/2014/3/13/5503894/google-removes-underlined-links-site-redesign

Page 67: “Selfish Accessibility” for Create Upstate 2016

Use Link Underlines

• You are not Google:• Users know Google’s layout,• Users probably don’t visit your site daily.

• Relying on color alone will not suffice (WCAG 1.4.1 [A], 1.4.3 [AA]),

• Necessary contrast values:• 4.5:1 between text and its background for copy,• 3:1 between text and its background for larger text,• 3:1 between surrounding text and a hyperlink, plus an

additional visual cue (G183).http://adrianroselli.com/2014/03/i-dont-care-what-google-did-just-keep.html

Page 68: “Selfish Accessibility” for Create Upstate 2016

Use :focus Styles

https://www.virginamerica.com/

Page 69: “Selfish Accessibility” for Create Upstate 2016

Use :focus Styles

• Particularly if you removed link underlines,• Everywhere you have :hover, add :focus,• Look for :focus{outline:none;} in libraries:• If you find it, remove it.

• Easy to test with the tab key.

http://adrianroselli.com/2014/06/keep-focus-outline.html

Page 70: “Selfish Accessibility” for Create Upstate 2016

Tritanopia

Color Contrast

Page 71: “Selfish Accessibility” for Create Upstate 2016

Protanopia

Color Contrast

Page 72: “Selfish Accessibility” for Create Upstate 2016

Deuteranopia

Color Contrast

Page 73: “Selfish Accessibility” for Create Upstate 2016

Color Contrast

• Is there enough contrast?• Are hyperlinks, menus, etc. still visible?• WCAG 2.0:• 4.5:1 for normal text• 3:1 for large text (14+pt & bold, or 18+pt)

• Tools:• Chrome Color Contrast Analyzer• Lea Verou’s Contrast Ratio• WebAIM Color Contrast Checker• CheckMyColours.com

http://www.inpixelitrust.fr/blog/en/tips-create-accessible-color-palette/http://alistapart.com/blog/post/easy-color-contrast-testing

Page 74: “Selfish Accessibility” for Create Upstate 2016

Use <label> (properly)

Page 75: “Selfish Accessibility” for Create Upstate 2016

Use <label> (properly)

• Match the for attribute to the corresponding field’s id attribute.

• When you click label text next to a text box, does the cursor appear in the field?

• When you click label text next to a radio / checkbox, does it get toggled?

• When you click label text next to a select menu, does it get focus?

http://www.karlgroves.com/2013/09/05/the-6-simplest-web-accessibility-tests-anyone-can-do/

Page 76: “Selfish Accessibility” for Create Upstate 2016

Use HTML5

Page 77: “Selfish Accessibility” for Create Upstate 2016

Use HTML5

<header role="banner">

<nav role="navigation">

<aside role="complementary">

<form role="search">

<footer role="contentinfo">

<main role="main">

Page 78: “Selfish Accessibility” for Create Upstate 2016

Use HTML5

“Mobile” often means narrow screen in RWD, as well as this context.

Page 79: “Selfish Accessibility” for Create Upstate 2016

Use HTML5

<header role="banner">

<nav role="navigation">

<aside role="complementary">

<form role="search">

<footer role="contentinfo">

<main role="main">

“Mobile” often means narrow screen in RWD, as well as this context.

Page 80: “Selfish Accessibility” for Create Upstate 2016

Use HTML5

• Sectioning elements already have accessibility built in. Use them.• <header>• <nav>• <main> (one per page)• <aside>• <footer>• <form> (a search form)

This stuff is baked in!

Page 81: “Selfish Accessibility” for Create Upstate 2016

Use <h#> Wisely

Page 82: “Selfish Accessibility” for Create Upstate 2016

Use <h#> Wisely

• Use only one <h1> per page,• Don’t skip heading levels,• Use appropriate nesting,• There is no Document Outline Algorithm:• Don’t use <h1> within every new <section> nor <article>,

• This will not affect your SEO.

http://adrianroselli.com/2013/12/the-truth-about-truth-about-multiple-h1.html

Page 83: “Selfish Accessibility” for Create Upstate 2016

<button>, <input>, or <a>

http://adrianroselli.com/2016/01/links-buttons-submits-and-divs-oh-hell.html

Page 84: “Selfish Accessibility” for Create Upstate 2016

<button>, <input>, or <a>

http://adrianroselli.com/2016/01/links-buttons-submits-and-divs-oh-hell.html

Page 85: “Selfish Accessibility” for Create Upstate 2016

<button>, <input>, or <a>

• Don’t use a <div> nor <span>.• Does the control take me to another URL?• Use an <a href>.• Note: does not fire on space-bar.

• Does the control change something on the current page?• Use a <button>.

• Does the control submit form fields?• Use a <input type="submit"> or <button type="submit">.

http://adrianroselli.com/2016/01/links-buttons-submits-and-divs-oh-hell.html

Page 86: “Selfish Accessibility” for Create Upstate 2016

Don’t Use tabindex > 0

https://www.digitalgov.gov/2014/11/17/user-experience-impossible-the-line-between-accessibility-and-usability/

Page 87: “Selfish Accessibility” for Create Upstate 2016

Don’t Use tabindex > 0

• tabindex="-1"• Use to set focus with script,• Does not put it in tab order of page.

• tabindex="0"• Allows user to set focus (eg: via keyboard),• Puts in tab order of page (based on DOM).

• tabindex="1" (or greater)• Do not do this,• Messes with natural tab order.

http://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html

Page 88: “Selfish Accessibility” for Create Upstate 2016

Maybe Use tabindex=0

http://adrianroselli.com/2016/02/keyboard-and-overflow.html

Page 89: “Selfish Accessibility” for Create Upstate 2016

Maybe Use tabindex=0

• Do you have scrolling content boxes?• Keyboard users cannot access it.

• Do you have content that displays on hover?• Keyboard users probably cannot access it.

• A technique:• <div role="region" aria-label="[if appropriate]" tabindex="0">

http://adrianroselli.com/2016/02/keyboard-and-overflow.html

Page 90: “Selfish Accessibility” for Create Upstate 2016

Set lang attribute on <html>

http://codepen.io/aardrian/pen/rOGYNL

Page 91: “Selfish Accessibility” for Create Upstate 2016

Set lang attribute on <html>

http://codepen.io/aardrian/pen/rOGYNL

Page 92: “Selfish Accessibility” for Create Upstate 2016

Set lang attribute on <html>

• VoiceOver uses to auto-switch voices,• VoiceOver uses appropriate accenting,• JAWS loads correct phonetic engine /

phonologic dictionary,• NVDA matches VoiceOver and JAWS,• Use the correct lang value:• Sub-tags are ok,• Avoid private-use: en-GB-x-hixie

http://adrianroselli.com/2015/01/on-use-of-lang-attribute.html

Page 93: “Selfish Accessibility” for Create Upstate 2016

Source Order Matters

http://codepen.io/aardrian/full/MavVeb/

Firefox

Chrome

Page 94: “Selfish Accessibility” for Create Upstate 2016

Source Order Matters

• CSS techniques allow visual order to break from DOM order:• Floats,• Absolute positioning,• Flexbox (see 5.4.1 of ED for a11y note),• Grid (read Rachel Andrew on subgrid).

• WCAG 1.3.2 and 2.4.3 describe meaningful sequence and tab order matching visual flow,

• Different behavior among different browsers.http://adrianroselli.com/2015/09/source-order-matters.html http://200ok.nl/a11y-flexbox/

Page 95: “Selfish Accessibility” for Create Upstate 2016

Don’t Disable Zoom

http://codepen.io/aardrian/full/dYNJOVhttp://codepen.io/aardrian/full/ojBpjw

Page 96: “Selfish Accessibility” for Create Upstate 2016

Don’t Disable Zoom

• Allow users on mobile to zoom in,• Look in <meta name="viewport"> for this:

• minimum-scale=1.0• maximum-scale=1.0• user-scalable=no

• Look in @-ms-viewport {} for this:• zoom:1.0

• Enhance!• (Google AMP HTML is getting fixed)

http://adrianroselli.com/2015/10/dont-disable-zoom.html

Page 97: “Selfish Accessibility” for Create Upstate 2016

Avoid Infinite Scroll

http://www.pewresearch.org/category/publications/

Page 98: “Selfish Accessibility” for Create Upstate 2016

Avoid Infinite Scroll

• Makes it impossible to access some content:• Footer,• Sidebar links.

• Destroys the back button,• Makes it impossible to share a URL to specific

“page” of results,• Makes it impossible to jump ahead several “pages”

of results,• Can overwhelm AT users, less powerful devices.

http://adrianroselli.com/2014/05/so-you-think-you-built-good-infinite.htmlhttp://adrianroselli.com/2015/05/for-infinite-scroll-bounce-rate-is.html

Page 99: “Selfish Accessibility” for Create Upstate 2016

Use Captions/Subtitles

https://www.youtube.com/watch?v=V592VMJeXc8

Page 100: “Selfish Accessibility” for Create Upstate 2016

https://www.youtube.com/watch?v=zCqN_cCLnnk

Use Captions/Subtitles

Page 101: “Selfish Accessibility” for Create Upstate 2016

Use Captions/Subtitles

• Everybody uses them:• Working in public, in bed, at home,• Surfing in public, in bed, at work.

• Should include audio descriptions,• Should include speaker identification,• Review auto-captions (“craptions”):• NoMoreCraptions.com

http://adrianroselli.com/2013/11/captions-in-everyday-use.html

Page 102: “Selfish Accessibility” for Create Upstate 2016

Use Captions/Subtitles

• Do video/audio clips have text alternatives?• Are links to closed-captions or transcripts built into

the player or separate text links?• Is there an audio description available?• Tools:• Media Access Australia YouTube captioning tutorial,

Vimeo captioning tutorial,• Tiffany Brown’s WebVTT tutorial,• DIY Resources for Closed Captioning and Transcription

from 3 Play Media.http://webaim.org/techniques/captions/

Page 103: “Selfish Accessibility” for Create Upstate 2016

WAI-ARIA

• Web Accessibility Initiative – Accessible Rich Internet Applications.

• Adds accessibility information to HTML elements.

• Can be used with prior versions of HTML.• WAI-ARIA 1.0 published March 20, 2014.

http://www.w3.org/TR/wai-aria/

Page 104: “Selfish Accessibility” for Create Upstate 2016

Five Rules of ARIA Use

1. If you can use a native HTML5 element with semantics/behavior already built in, then do so, instead of repurposing another element.

RT this! https://twitter.com/aardrian/status/454249142387081219

Page 105: “Selfish Accessibility” for Create Upstate 2016

Five Rules of ARIA Use

2. Do not change native semantics. Unless you really have to (no <h1> with a role="button", for example).

RT this! https://twitter.com/aardrian/status/454249201564532737

Page 106: “Selfish Accessibility” for Create Upstate 2016

Five Rules of ARIA Use

3. All interactive ARIA controls must be usable with the keyboard — keyboard users must be able to perform equivalent actions.

RT this! https://twitter.com/aardrian/status/454249253284483072

Page 107: “Selfish Accessibility” for Create Upstate 2016

Five Rules of ARIA Use

4. Do not use role="presentation" or aria-hidden="true" on a focusable element. If you do so, some users will never be able to focus.

RT this! https://twitter.com/aardrian/status/454249297408585729

Page 108: “Selfish Accessibility” for Create Upstate 2016

Five Rules of ARIA Use

5. All interactive elements must have an accessible name. This may come from a visible (text on a button) or invisible (alt text on an image) property.

http://rawgit.com/w3c/aria-in-html/master/index.html#fifth-rule-of-aria-use Accessible name: http://www.w3.org/TR/wai-aria/terms#def_accessible_name

Page 109: “Selfish Accessibility” for Create Upstate 2016

HTML/ARIA Don’t

• <div onclick="DoThing();">Do a thing.</div>

I see this all the time.

Page 110: “Selfish Accessibility” for Create Upstate 2016

HTML/ARIA Don’t

• <div onclick="DoThing();" tabindex="0">Do a thing.</div>

I see this a bunch, too.

Page 111: “Selfish Accessibility” for Create Upstate 2016

HTML/ARIA Don’t

• <div onclick="DoThing();" tabindex="0" onkeypress="DoThing();" >Do a thing.</div>

Excluded bits like if(event.keyCode==32||event.keyCode==13)DoThing();

Page 112: “Selfish Accessibility” for Create Upstate 2016

HTML/ARIA Don’t

• <div onclick="DoThing();" tabindex="0" onkeypress="DoThing();" role="button">Do a thing.</div>

ARIA roles to the rescue! Er…

Page 113: “Selfish Accessibility” for Create Upstate 2016

HTML/ARIA Do

• <button type="submit">Do a thing.</button>

Or just start with the right element. http://www.karlgroves.com/2013/05/14/links-are-not-buttons-neither-are-divs-and-spans/

Page 114: “Selfish Accessibility” for Create Upstate 2016

Group Exercise!

4 of 4 exercises.

Page 115: “Selfish Accessibility” for Create Upstate 2016

Group Exercise!

• Take your user interface element and discuss how you might build/code it.

• Represent the disability category you championed earlier.

• Remember your personas, user story/stories.• Consider changing needs of users.• 15 minutes

4 of 4 exercises.

Page 116: “Selfish Accessibility” for Create Upstate 2016

Wrap-up

Page 117: “Selfish Accessibility” for Create Upstate 2016

The Message

• Supporting accessibility now helps to serve future you.

Do or do not.

Page 118: “Selfish Accessibility” for Create Upstate 2016

The Message

• Supporting accessibility now helps to serve future you.

• Supporting accessibility now helps injured you, encumbered you.

There is no try.

Page 119: “Selfish Accessibility” for Create Upstate 2016

The Message

• Supporting accessibility now helps to serve future you.

• Supporting accessibility now helps injured you, encumbered you.

• Getting younger developers to buy in helps future you – if you teach them well.

Always pass on what you have learned.

Page 120: “Selfish Accessibility” for Create Upstate 2016

Stairamp

Dean Bouchard on Flickrhttp://accessibility.net.nz/blog/the-problems-with-ramps-blended-into-stairs/

Page 121: “Selfish Accessibility” for Create Upstate 2016

≠ Checklist

• Accessibility is not a checklist.

Page 122: “Selfish Accessibility” for Create Upstate 2016

Maintenance

Nicolas Steenhouthttps://twitter.com/vavroom/status/571092086365261824

“Wheelchair ramp at pharmacy not only hasn’t been cleared of snow but has 2 potted trees to ensure nobody can pass.”

Page 123: “Selfish Accessibility” for Create Upstate 2016

= Process

• Accessibility is not a checklist.• Accessibility is an ongoing process.

Page 124: “Selfish Accessibility” for Create Upstate 2016

Resources

Unless you had questions, which you didn’t else you would have asked by now.

Page 125: “Selfish Accessibility” for Create Upstate 2016

Resources

• Web Accessibility and Older People:Meeting the Needs of Ageing Web Usershttp://www.w3.org/WAI/older-users/Overview.php

• Easy Checks - A First Review of Web Accessibilityhttp://www.w3.org/WAI/eval/preliminary

• How People with Disabilities Use the Web: Overviewhttp://www.w3.org/WAI/intro/people-use-web/Overview.html

In addition to the gems I’ve sprinkled throughout.

Page 126: “Selfish Accessibility” for Create Upstate 2016

Resources

• 2.11 ARIA Role, State, and Property Quick Referencehttp://www.w3.org/TR/aria-in-html/#aria-role-state-and-property-quick-reference

• 2.12 Definitions of States and Properties (all aria-* attributes)http://www.w3.org/TR/aria-in-html/#definitions-of-states-and-properties-all-aria--attributes

In addition to the gems I’ve sprinkled throughout.

Page 127: “Selfish Accessibility” for Create Upstate 2016

Resources

• Designing For The Elderly: Ways Older People Use Digital Technology Differentlyhttp://www.smashingmagazine.com/2015/02/05/designing-digital-technology-for-the-elderly/

• How to Write User Stories for Web Accessibilityhttp://www.interactiveaccessibility.com/blog/how-write-user-stories-accessibility-requirements

• Book Excerpt: A Web for Everyonehttp://uxmag.com/articles/book-excerpt-a-web-for-everyone

In addition to the gems I’ve sprinkled throughout.

Page 128: “Selfish Accessibility” for Create Upstate 2016

Selfish AccessibilityPresented by Adrian Roselli for Create Upstate 2016

Slides from this workshop will be available at rosel.li/CreateUpstate