fringe accessibility: id24 for gaad

62
Fringe Accessibility Techniques (That Probably Shouldn’t Be) Presented by Adrian Roselli for Inclusive Design 24 (2016) #ID24

Upload: adrian-roselli

Post on 11-Apr-2017

493 views

Category:

Internet


8 download

TRANSCRIPT

Page 1: Fringe Accessibility: ID24 for GAAD

Fringe Accessibility Techniques(That Probably Shouldn’t Be)

Presented by Adrian Roselli for Inclusive Design 24 (2016)

#ID24

Page 2: Fringe Accessibility: ID24 for GAAD

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!

#ID24

Page 3: Fringe Accessibility: ID24 for GAAD

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 / at The Paciello Group.• Learn more at AdrianRoselli.com.• Avoid on Twitter @aardrian.

I warned you.

#ID24

Page 4: Fringe Accessibility: ID24 for GAAD

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?

#ID24

Page 5: Fringe Accessibility: ID24 for GAAD

What We’ll Cover

• Common(?) Techniques• The (not really) Fringe• Key Takeaways

Work with me, people.

#ID24

Page 6: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

1 of 3 sections.

#ID24

Page 7: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

• Click on field labels

Make sure the corresponding field gets focus.

#ID24

Page 8: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

• Click on field labels• Unplug your mouse

Make sure you can still use the page / application.

#ID24

Page 9: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

• Click on field labels• Unplug your mouse• Turn off images

Make sure no important content has disappeared.

#ID24

Page 10: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

• Click on field labels• Unplug your mouse• Turn off images• Turn off CSS

Make sure the page still makes sense.

#ID24

Page 11: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

• Click on field labels• Unplug your mouse• Turn off images• Turn off CSS• Check color contrast

Make sure it’s sufficient.

#ID24

Page 12: Fringe Accessibility: ID24 for GAAD

Common(?) Techniques

• Click on field labels• Unplug your mouse• Turn off images• Turn off CSS• Check color contrast• Consider hyperlink text

Be consistent and clear, managing expectations the whole time.

#ID24

Page 13: Fringe Accessibility: ID24 for GAAD

The (not really) Fringe

2 of 3 sections.

#ID24

Page 14: Fringe Accessibility: ID24 for GAAD

Use Link Underlines

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

#ID24

Page 15: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 16: Fringe Accessibility: ID24 for GAAD

Use :focus Styles

https://www.virginamerica.com/

#ID24

Page 17: Fringe Accessibility: ID24 for GAAD

Use :focus Styles

https://www.virginamerica.com/

#ID24

Page 18: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 19: Fringe Accessibility: ID24 for GAAD

Use <h#> Wisely#ID24

Page 20: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 21: Fringe Accessibility: ID24 for GAAD

Use Only One <main> per Page

Modified version of Hixie’s image at https://github.com/whatwg/html/issues/100#issuecomment-138620240

#ID24

Page 22: Fringe Accessibility: ID24 for GAAD

Use Only One <main> per Page

• <main> maps directly to role="main",• AT users expect one main content block, may

miss subsequent <main>s,• AT doesn’t expose that there are multiples,• Can erode trust in landmark navigation.

http://adrianroselli.com/2015/09/use-only-one-main-on-a-page.html

#ID24

Page 23: Fringe Accessibility: ID24 for GAAD

Source Order Matters

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

Firefox

Chrome

#ID24

Page 24: Fringe Accessibility: ID24 for GAAD

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/

#ID24

Page 25: Fringe Accessibility: ID24 for GAAD

Don’t Use tabindex > 0

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

#ID24

Page 26: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 27: Fringe Accessibility: ID24 for GAAD

Maybe Use tabindex=0

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

#ID24

Page 28: Fringe Accessibility: ID24 for GAAD

Maybe Use tabindex=0

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

• Do you have content that expands 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

#ID24

Page 29: Fringe Accessibility: ID24 for GAAD

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

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

#ID24

Page 30: Fringe Accessibility: ID24 for GAAD

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

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

#ID24

Page 31: Fringe Accessibility: ID24 for GAAD

<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

#ID24

Page 32: Fringe Accessibility: ID24 for GAAD

Set lang attribute on <html>

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

#ID24

Page 33: Fringe Accessibility: ID24 for GAAD

Set lang attribute on <html>

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

#ID24

Page 34: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 35: Fringe Accessibility: ID24 for GAAD

Don’t Disable Zoom

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

#ID24

Page 36: Fringe Accessibility: ID24 for GAAD

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

• Grab your boss/client, shout “Enhance!”• (Google AMP HTML is getting fixed)

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

#ID24

Page 37: Fringe Accessibility: ID24 for GAAD

Use Captions/Subtitles

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

#ID24

Page 38: Fringe Accessibility: ID24 for GAAD

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

Use Captions/Subtitles#ID24

Page 39: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 40: Fringe Accessibility: ID24 for GAAD

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/

#ID24

Page 41: Fringe Accessibility: ID24 for GAAD

Test in Windows High Contrast Mode

http://buffalosoccerclub.org/About

#ID24

Page 42: Fringe Accessibility: ID24 for GAAD

Test in Windows High Contrast Mode

• It removes CSS background images,• This is changing in Edge,

• Colors defined in your CSS are overridden,• To activate:• Left ALT + left SHIFT + PRINT SCREEN

• Media queries:• -ms-high-contrast: active• -ms-high-contrast: black-on-white• -ms-high-contrast: white-on-black

http://adrianroselli.com/2012/08/css-background-images-high-contrast-mode.html

#ID24

Page 43: Fringe Accessibility: ID24 for GAAD

Avoid Infinite Scroll

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

#ID24

Page 44: Fringe Accessibility: ID24 for GAAD

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

#ID24

Page 45: Fringe Accessibility: ID24 for GAAD

Reconsider Typefaces for Dyslexia

http://opendyslexic.org/try-it/

#ID24

Page 46: Fringe Accessibility: ID24 for GAAD

Reconsider Typefaces for Dyslexia

• Use good typography rules:• Avoid justified text,• Use generous line spacing / leading,• Use generous letter spacing,• Avoid italics,• Generally use sans serif faces,• Use larger text,• Use good contrast,• Use clear, concise writing.

http://adrianroselli.com/2015/03/typefaces-for-dyslexia.html

#ID24

Page 47: Fringe Accessibility: ID24 for GAAD

Use On-Page Descriptions

http://adrianroselli.com/2014/04/we-need-to-raise-stink-about-net.html

#ID24

Page 48: Fringe Accessibility: ID24 for GAAD

Use On-Page Descriptions

• Not just for longdesc or aria-describedat, but any long description technique,

• Use an in-page anchor,• Don’t link to another page without reason:• Consider burden of loading a new page,• Consider burden of re-loading original page.

• Based on results of latest WebAIM screen reader survey results.

http://adrianroselli.com/2015/09/use-on-page-image-descriptions.html

#ID24

Page 49: Fringe Accessibility: ID24 for GAAD

role="search" on <form> is OK

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

#ID24

Page 50: Fringe Accessibility: ID24 for GAAD

role="search" on <form> is OK

• Now OK to use <form role="search">,• Walking back my own prior statements,• (think of this as a retraction)

• Nu Html Checker is already updated.

http://adrianroselli.com/2015/08/where-to-put-your-search-role.html#changed

#ID24

Page 51: Fringe Accessibility: ID24 for GAAD

Try Not to Tweet Pictures of Text

https://twitter.com/jmspool/status/546303256990076929https://twitter.com/lukew/status/541986091960528896 https://twitter.com/altonbrown/status/653030164985708544

#ID24

Page 52: Fringe Accessibility: ID24 for GAAD

Try Not to Tweet Pictures of Text

https://twitter.com/aardrian/status/733023365729005568

#ID24

Page 53: Fringe Accessibility: ID24 for GAAD

Try Not to Tweet Pictures of Text

• Twitter has finally added alternative text,• Must be using iOS/Android app, some third-party

apps (TweetBot),• Alternative text not exposed via web, not in

Twitter back-ups (yet),• Maybe also make your own:• Reply to own tweet with alt text,• Link to a tweet and provide alt text,• Link to long-form alternative text.

http://adrianroselli.com/2016/03/twitter-has-alt-text-with-some-caveats.html

#ID24

Page 54: Fringe Accessibility: ID24 for GAAD

Share a11y Experiences

http://blog.podio.com/2015/07/08/hard-truths-helped-us-start-improving-podio-experience-visually-impaired/https://medium.com/medium-eng/five-goofy-things-medium-did-that-break-accessibility-3bc804ae818d

#ID24

Page 55: Fringe Accessibility: ID24 for GAAD

Share a11y Experiences

• We’re all trying to do what we can,• Don’t attack those who doesn’t know what they

don’t know,• Someone may find something you never

considered,• You may get feedback on something you never

considered,• a11ywins.tumblr.com FTW:• Thanks to Marcy Sutton.

http://adrianroselli.com/2015/07/lets-share-more-accessibility-experiences.html

#ID24

Page 56: Fringe Accessibility: ID24 for GAAD

Key Takeaways

3 of 3 sections.

#ID24

Page 57: Fringe Accessibility: ID24 for GAAD

≠ Checklist

• Accessibility is not a checklist.

No matter how pretty that checklist looks now how many items you get to check.

#ID24

Page 59: Fringe Accessibility: ID24 for GAAD

= Process

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

You know, kinda like all software.

#ID24

Page 60: Fringe Accessibility: ID24 for GAAD

Snowtreeramp

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.”

#ID24

Page 61: Fringe Accessibility: ID24 for GAAD

Oslo Davis, https://twitter.com/oslodavis/status/373219062697840640

#ID24

Page 62: Fringe Accessibility: ID24 for GAAD

Fringe Accessibility Techniques(That Probably Shouldn’t Be)

Presented by Adrian Roselli for Inclusive Design 24 (2016)

#ID24 Slides from this talk will be available at rosel.li/ID24