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

Slides:



Advertisements
Similar presentations
Table (TABLE) Contains TABLE ROWS (TR) Contains TABLE DATA (TD) Data can contain anything Text Lists Other tables Pictures …
Advertisements

OULU ADVANCED RESEARCH ON SOFTWARE AND INFORMATION SYSTEMS Teppo Räisänen | Oulu University of Applied Sciences Facebook Markup Language - FBML Teppo Räisänen.
CSCI 3100 Tutorial 6 Web Development Tools 1 Cuiyun GAO 1.
Cross Web Browser Development Jenny Kim. Cross Web Browser Development Intro - Why does it matter? Cause – What makes the difference? Solution – How to.
Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.
Slide 1 CMPS 211 Internet Programming Spring 2008 Dynamic Effects with Styles Chapter 12 2/6/08.
Very quick intro HTML and CSS. Sample html A Web Title.
Cascading Style Sheets. CSS stands for Cascading Style Sheets and is a simple styling language which allows attaching style to HTML elements. CSS is a.
Links.  Styling Links  Links can be styled with any CSS property (e.g. color, font-family, background-color).  Special for links are that they can.
Principles of Web Design 5 th Edition Chapter Nine Site Navigation.
Cascading Style Sheets By: Valerie Kuna. What are Cascading Style Sheets? Cascading Style Sheets (CSS) are a standard for specifying the presentation.
© 2004, Robert K. Moniot Chapter 6 CSS : Cascading Style Sheets.
SM5312 week 11: CSS Menus & Navigation Bars1 An Introduction to Cascading Style Sheets CSS Menus and Navigation Bars Nick Foxall.
Web Development & Design Foundations with XHTML Chapter 7 Key Concepts.
Web Development & Design Foundations with XHTML Chapter 7 Key Concepts.
CSS Tips and Tricks for Designing Accessible Websites Presented by Grace Strother.
Building a Website: Cascading Style Sheets (CSS) Fall 2013.
Client-Side Internet and Web Programming
CSW131 Steven Battilana 1 CSW 131 – Chapter 5 (More) Advanced CSS Prepared by Prof. B. for use with Teach Yourself Visually Web Design by Ron Huddleston,
Diliev.com & pLOVEdiv.com  DIliev.com.
กระบวนวิชา CSS. What is CSS? CSS stands for Cascading Style Sheets Styles define how to display HTML elements Styles were added to HTML 4.0 to.
Class four: the box model and positioning. is an HTML tag which allows you to create an element out of inline text. It doesn’t mean anything! try it:
Unit 20 - Client Side Customisation of Web Pages
Cascading Style Sheets Scripting with Style. CSS versus HTML  Ways to format in HTML –HTML Tag extensions –Converting Text to images –Page Layout with.
 2008 Pearson Education, Inc. All rights reserved. 1 Introduction to HTML.
HTML & CSS A brief introduction. OUTLINE 1.What is HTML? 2.What is CSS? 3.How are they used together? 4.Troubleshooting/Common problems 5.More resources.
Programming I 2 nd lecture. Block-level and inline elements BlockInline block-level elements generally can contain text, data, inline elements, or other.
Basics of Smarajit Dasgupta.
Webpage design for researchers Dr Jim Briggs 1.
HTML Hyper-Text Markup Language or tags. HTML is a “tag” language Open and close tags Tags identified with angle brackets Basic format content (shorthand.
>> Introduction to HTML: Tables. HTML is used to give websites structure 5 Basic Tags Element = Start-Tag+Content+End-Tag Heading Tags [h1-h6] Paragraph.
Ch 8 HTML and CSS Web Standards Solutions A Web Standardistas’ Approach.
HTML | DOM. Objectives  HTML – Hypertext Markup Language  Sematic markup  Common tags/elements  Document Object Model (DOM)  Work on page | HTML.
 Remember that HTML is just text  Need to point to pictures  Use the img tag  alt: › screen reader › REQUIRED for this class and to validate.
Lecture 2 - HTML and CSS Review SFDV3011 – Advanced Web Development 1.
Table (TABLE) Contains TABLE ROWS (TR) Contains TABLE DATA (TD) Data can contain anything › Text › Lists › Other tables › Pictures › …
 2003 Prentice Hall, Inc. All rights reserved. Introduction to HTML: Tables Outline 1 Introduction 2 Basic HTML Tables 3 Intermediate HTML Tables and.
CSS Class 2 -Add margins to elements on a page. -Set width and height of elements. - CSS shorthand properties for box model. -Style links. -Style tables.
Principles of Web Design 6 th Edition Chapter 9 – Site Navigation.
HTML HyperText Markup Language ©Richard L. Goldman July 15, 2003.
Flow content – текст и тэги:  a  abbr  address  area (если в тэге map)  article  aside  audio  b  bdi  bdo  blockquote  br  button  canvas.
Cascading Style Sheets CSS.  Standard defined by the W3C  CSS1 (released 1996) 50 properties  CSS2 (released 1998) 150 properties (positioning)  CSS3.
Keyboard accessibility Patrick H. Lauke / SkillSwap Bristol / 11 November 2008 JUST BECAUSE I DON'T USE A MOUSE DOESN'T MEAN I'M SECOND CLASS...
Review 1 csc242 – web programming.
HTML & CSS Jan Janoušek.
HTML.
Web Systems & Technologies
Organizing Content with Lists and Tables
Applying CSS to Tables Stylish Tables.
Markup Languages (HTML)
>> HTML: Tables.
Creating a Web Page.
Cao Yuewen SEEM4570 Tutorial 03: CSS Cao Yuewen
Creating Page Layouts with CSS
Markup Languages (HTML)
Server-Side Application and Data Management IT IS 3105 (Spring 2010)
Programming the Web using XHTML and JavaScript
The Web Warrior Guide to Web Design Technologies
Creating a Baseline Grid
Cascading Style Sheets
HTML Intro.
CSS Style Sheets: Intro
Cascading Style Sheets
SEEM4570 Tutorial 3: CSS + CSS3.0
Introduction to HTML.
Principles of Web Design 5th Edition
Laying out Elements with CSS
COMS 161 Introduction to Computing
Web Client Side Technologies Raneem Qaddoura
Presentation transcript:

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

accessibility = blind users + screenreaders?

difficult to test – need to install and learn screenreader

many different forms of disability

keyboard or keyboard-like interfaces

easiest to test…no special software required

by default users TAB

using keyboard, move from one focusable element to the next

standard focusable elements: links, form elements, image map areas

don’t forget the fancy styling

a.action:hover { background-color:#a82310; color:#fff !important; text-decoration:none; } #promo-dvd.content a:hover img { background-color:#d5c7ae; }

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

don’t suppress outline!

keyboard accessible, but where am I?

/* =Reset Styles - Thank you Eric Meyer ( */ 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; }

/* remember to define focus styles! */

why do designers suppress outline?

“get your outline out of my design!” …is there a compromise?

a { … overflow: hidden; }

…only suppress it on :active

TAB cycle – normally just source order

tabindex forces a certain TAB cycle

anything with tabindex takes precedence

easy enough…let’s drop in some JavaScript

keyboard accessible, but where’s the extra information?

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

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

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

lightboxes…we love ’em

close it again on TAB don’t invent new keyboard shortcuts

more complex solution: manage focus

and now, the dangerous part…

JavaScript attaches behaviour to anything

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

sexy tutorials out there doing it wrong

be lazy…use libraries that solved this YUI, jQueryUI, etc

beware 3 rd party solutions even the big boys can get it wrong

hijack generated markup to accessify it

in conclusion…

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

don’t suppress outline completely (reintroduce :focus and suppress :active)

leave tabindex alone – source order

JavaScript on hover (mouseover/mouseout) also on focus/blur (if focusable element)

lightboxes and their problems

only attach behaviour to focusable elements