keyboard accessibility

70
Keyboard accessibility Patrick H. Lauke / Future of Web Design Tour / Glasgow / 14 September 2009 BASIC STEPS TOWARDS A MORE USABLE AND ACCESSIBLE SITE

Upload: jescie-thompson

Post on 03-Jan-2016

23 views

Category:

Documents


0 download

DESCRIPTION

BASIC STEPS TOWARDS A MORE USABLE AND ACCESSIBLE SITE. Keyboard accessibility. Patrick H. Lauke / Future of Web Design Tour / Glasgow / 14 September 2009. accessibility = blind users + screenreaders?. difficult to test – need to install and learn screenreader. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Keyboard  accessibility

Keyboard accessibility

Patrick H. Lauke / Future of Web Design Tour / Glasgow / 14 September 2009

BASIC STEPS TOWARDS A MORE USABLE AND ACCESSIBLE SITE

Page 2: Keyboard  accessibility

accessibility = blind users + screenreaders?

Page 3: Keyboard  accessibility

difficult to test – need to install and learn screenreader

Page 4: Keyboard  accessibility

many different forms of disability

Page 5: Keyboard  accessibility

keyboard or keyboard-like interfaces

Page 6: Keyboard  accessibility

easiest to test…no special software required

Page 7: Keyboard  accessibility
Page 8: Keyboard  accessibility
Page 9: Keyboard  accessibility

by default users TAB

Page 10: Keyboard  accessibility
Page 11: Keyboard  accessibility

using keyboard, move from one focusable element to the next

Page 12: Keyboard  accessibility

standard focusable elements:links, form elements, image

map areas

Page 13: Keyboard  accessibility
Page 14: Keyboard  accessibility
Page 15: Keyboard  accessibility
Page 16: Keyboard  accessibility
Page 17: Keyboard  accessibility
Page 18: Keyboard  accessibility

don’t forget the fancy styling

Page 20: Keyboard  accessibility

a.action:hover {background-color:#a82310;color:#fff !important;text-decoration:none;

}

#promo-dvd .content a:hover img {background-color:#d5c7ae;

}

Page 21: Keyboard  accessibility

a:focus, a:hover, a:active { … }

Page 22: Keyboard  accessibility

don’t suppress outline!

Page 24: Keyboard  accessibility

keyboard accessible, but where am I?

Page 25: Keyboard  accessibility

/* =Reset Styles - Thank you Eric Meyer (http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/) */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;border: 0;outline: 0;font-weight: inherit;font-style: inherit;font-size: 100%;font-family: inherit;vertical-align: baseline;

}:focus {

outline: 0;}

Page 26: Keyboard  accessibility

/* remember to define focus styles! */

Page 27: Keyboard  accessibility

why do designers suppress outline?

Page 29: Keyboard  accessibility

“get your outline out of my design!”

…is there a compromise?

Page 30: Keyboard  accessibility
Page 31: Keyboard  accessibility
Page 32: Keyboard  accessibility

a { … overflow: hidden; }

Page 34: Keyboard  accessibility

…only suppress it on :active

Page 35: Keyboard  accessibility

TAB cycle – normally just source order

Page 36: Keyboard  accessibility

tabindex forces a certain TAB cycle

Page 37: Keyboard  accessibility

anything with tabindex takes precedence

Page 39: Keyboard  accessibility

<input type="text" name="author"…tabindex="1" />

<input type="text" name="email"…tabindex="2" />

<input type="text" name="url"…tabindex="3" />

<textarea name="comment"…tabindex="4"></textarea>

Page 40: Keyboard  accessibility

easy enough…let’s drop in some JavaScript

Page 41: Keyboard  accessibility
Page 43: Keyboard  accessibility

keyboard accessible, but where’s the extra information?

Page 44: Keyboard  accessibility

$('#whatever').hover(function() {…},function() {…}

);

Page 45: Keyboard  accessibility

$('#whatever').hover(function() {…},function() {…}

);$('#whatever').focus(function() {…});$('#whatever').blur(function() {…} );

Page 46: Keyboard  accessibility

aside: mobile browsers don’t do hover (well)

Page 47: Keyboard  accessibility

lightboxes…we love ’em

Page 49: Keyboard  accessibility

close it again on TABdon’t invent new keyboard

shortcuts

Page 50: Keyboard  accessibility

more complex solution: manage focus

Page 51: Keyboard  accessibility

and now, the dangerous part…

Page 52: Keyboard  accessibility

JavaScript attaches behaviour to anything

Page 53: Keyboard  accessibility

$('div').click(function() {…} );

Page 54: Keyboard  accessibility

sexy tutorials out there doing it wrong

Page 56: Keyboard  accessibility

be lazy…use libraries that solved this

YUI, jQueryUI, etc

Page 57: Keyboard  accessibility

beware 3rd party solutionseven the big boys can get it wrong

Page 58: Keyboard  accessibility
Page 59: Keyboard  accessibility
Page 61: Keyboard  accessibility

hijack generated markup to accessify it

Page 62: Keyboard  accessibility

in conclusion…

Page 63: Keyboard  accessibility

if you style :hover, also :focus and :active

Page 64: Keyboard  accessibility

don’t suppress outline completely(reintroduce :focus and

suppress :active)

Page 65: Keyboard  accessibility

leave tabindex alone – source order

Page 66: Keyboard  accessibility

JavaScript on hover (mouseover/mouseout) also on

focus/blur(if focusable element)

Page 67: Keyboard  accessibility

lightboxes and their problems

Page 68: Keyboard  accessibility

only attach behaviour to focusable elements

Page 69: Keyboard  accessibility

</rant>