accessibility lightning talk

49
Accessibility Lightning Talk Sunday, April 10, 2011

Upload: russell-heimlich

Post on 17-May-2015

2.389 views

Category:

Design


0 download

DESCRIPTION

Practical tips to make a website more accessible to different devices, technologies, and interactions. Presented April 12, 2011 for the WordPress DC Meetup.

TRANSCRIPT

Page 1: Accessibility Lightning Talk

Accessibility Lightning Talk

Sunday, April 10, 2011

Page 2: Accessibility Lightning Talk

When you hear ‘accessibility’what comes to mind?

Sunday, April 10, 2011

Page 3: Accessibility Lightning Talk

Do you think of this?

Sunday, April 10, 2011

Page 4: Accessibility Lightning Talk

...or this?

Sunday, April 10, 2011

Page 5: Accessibility Lightning Talk

Have you thought about this?

Sunday, April 10, 2011

Page 6: Accessibility Lightning Talk

or this?

Sunday, April 10, 2011

Page 7: Accessibility Lightning Talk

or even this?

Sunday, April 10, 2011

Page 8: Accessibility Lightning Talk

Accessibility is not about people with disabilities.

Sunday, April 10, 2011

Page 9: Accessibility Lightning Talk

Accessibility is about

people!

Sunday, April 10, 2011

Page 10: Accessibility Lightning Talk

Accessibility encompasses...

Sunday, April 10, 2011

Page 11: Accessibility Lightning Talk

Different Devices

★ Desktop Computer

★ Mobile

★ In Between (iPad, Netbooks)

★ TV’s

Sunday, April 10, 2011

Page 12: Accessibility Lightning Talk

Different Interactions

★ Mouse

★ Keyboard

★ Touchscreen

★ Screenreader

Sunday, April 10, 2011

Page 13: Accessibility Lightning Talk

Different Technologies

★ JavaScript

★ CSS

★ Images

display: none;

Sunday, April 10, 2011

Page 14: Accessibility Lightning Talk

Tips For Better Accessibility

Sunday, April 10, 2011

Page 15: Accessibility Lightning Talk

Use The Right Element For The Job

<p> = paragraph

<h1>-<h6> = Heading 1 through 6

<div class=”paragraph”>

Using Tables for Layout

Sunday, April 10, 2011

Page 16: Accessibility Lightning Talk

Think About Source Order★ Markup content the way it should be read NOT the

way it should be displayed.

Header

Aside Content

Header

Content

Aside

Sunday, April 10, 2011

Page 17: Accessibility Lightning Talk

Use Alt Attributes on <img>

★ Include text to display as a backup

★ Provide context to what the user is missing

★ If the image is purely decoration use alt=””

Sunday, April 10, 2011

Page 18: Accessibility Lightning Talk

Associate Inputs with Labels

★ Link descriptive text with an input field

★ Provides context about what is expected

★ Clicking label puts cursor in input field

Sunday, April 10, 2011

Page 19: Accessibility Lightning Talk

Implicit vs. Explicit Labels

<label for=”name”>Name</label><input type=”text” id=”name”>

<label> Name <input type=”text”></label>

label { curser: pointer; }

Sunday, April 10, 2011

Page 20: Accessibility Lightning Talk

Use HTML5 Input Types

★ type=”search”

★ type=”tel”

★ type=”url”

★ type=”email”

★ type=”number”

★ Old browsers fallback to type=”text”

Sunday, April 10, 2011

Page 21: Accessibility Lightning Talk

Type=“search” Has Slight Benefits

Sunday, April 10, 2011

Page 22: Accessibility Lightning Talk

Removing Type=”search” Default Styles

input[type=”search”] { -moz-appearance: textfield; -webkit-appearance: textfield;}

input[type=”search”]::-webkit-search-cancel-button { /* Remove default */ -webkit-appearance: none;}

Sunday, April 10, 2011

Page 23: Accessibility Lightning Talk

<input type=”number”>

Sunday, April 10, 2011

Page 24: Accessibility Lightning Talk

<input type=”url”>

Sunday, April 10, 2011

Page 25: Accessibility Lightning Talk

<input type=”email”>

Sunday, April 10, 2011

Page 26: Accessibility Lightning Talk

Turn On Keyboard Navigation In OS X

System Preferences -> Keyboard -> All Controls

Sunday, April 10, 2011

Page 27: Accessibility Lightning Talk

Tab Index

★ Use tabindex attribute to specify tab order

★ Tab index goes from lowest to highest

★ tabindex=”-1” will be skipped

★ If you use proper HTML source order,

you’re done!

Sunday, April 10, 2011

Page 28: Accessibility Lightning Talk

:focus = :hover

★ Anywhere :hover is used, add :focus as well

a:hover,a:focus { text-decoration:underline; color:red;}

Sunday, April 10, 2011

Page 29: Accessibility Lightning Talk

Example of Bad Keyboard Accessibility

★ http://www.hd-live.co.uk/

Sunday, April 10, 2011

Page 30: Accessibility Lightning Talk

Hiding Content the Accessible Way

/* Hides from keyboard users */display:none;

/* Hidden but still accessible */.hidden { left:-999em; position:absolute; top:auto;}

Sunday, April 10, 2011

Page 31: Accessibility Lightning Talk

Revealing Hidden Content

/* Reveal on Focus */.hidden:focus { position:static;}

Sunday, April 10, 2011

Page 32: Accessibility Lightning Talk

Skip Navigation Link

★ Lets a visitor skip straight to the content

★ Without it, keyboard visitors suffer

★ Should be the first element after <body>

★ Can be visible or hidden based on the desgin

★ If hidden, should stand out on focus

Sunday, April 10, 2011

Page 33: Accessibility Lightning Talk

Skip Navigation Link

<body> <a id="top" href="#content"> Skip to Content</a>

Sunday, April 10, 2011

Page 34: Accessibility Lightning Talk

Skip Navigation Link

#top:focus { position:static; font-size:1.5em; background-color:#FFFFD5; display:block; font-weight:bold; color:#000; padding:2px 15px 5px;}

Sunday, April 10, 2011

Page 35: Accessibility Lightning Talk

ARIA Landmark Roles

★ Help define the structure of a document

★ Screenreaders can jump around

to different sections

★ Just add role attribute to an element

<div id=”header” role=”banner”>

Sunday, April 10, 2011

Page 36: Accessibility Lightning Talk

role=”article”

★ Content that makes sense in its own right, such

as a complete blog post, a comment on a blog,

a post in a forum, and so on.

Sunday, April 10, 2011

Page 37: Accessibility Lightning Talk

role=”banner”

★ Site-orientated content, such as the title of the

page and the logo.

★ Header

Sunday, April 10, 2011

Page 38: Accessibility Lightning Talk

role=”complementary”

★ Supporting content for the main content, but

meaningful in its own right when separated from

the main content.

★ Aside or sidebar

Sunday, April 10, 2011

Page 39: Accessibility Lightning Talk

role=”contentinfo”

★ Child content, such as footnotes, copyrights,

links to privacy statement, links to preferences,

and so on.

★ Footer

Sunday, April 10, 2011

Page 40: Accessibility Lightning Talk

role=”main”

★ Content that is directly related to or expands on

the central content of the document.

★ Main content container, #content

Sunday, April 10, 2011

Page 41: Accessibility Lightning Talk

role=”navigation”

★ Content that contains the links to navigate this

document and/or related documents.

Sunday, April 10, 2011

Page 42: Accessibility Lightning Talk

role=”search”

★ This section contains a search form to search

the site.

Sunday, April 10, 2011

Page 43: Accessibility Lightning Talk

Mobile Stylesheet

★ Smartphones handle websites OK

★ Dumb phones need a slimmed down stylesheet

★ http://perishablepress.com/press/2009/08/02/

the-5-minute-css-mobile-makeover/

Sunday, April 10, 2011

Page 45: Accessibility Lightning Talk

Accessibility isn’t something you can tack on

at the end!Sunday, April 10, 2011

Page 46: Accessibility Lightning Talk

Think about it from the start.

Sunday, April 10, 2011

Page 48: Accessibility Lightning Talk

Russell Heimlich

★ @kingkool68

★ http://www.russellheimlich.com/blog/

Sunday, April 10, 2011

Page 49: Accessibility Lightning Talk

The Endhttp://slidesha.re/kingkool68

Sunday, April 10, 2011