Implementing Usable Keyboard Interactions. Jared Smith & Jonathan Whiting webaim.org

Similar documents
Web Accessibility Evaluation Methodologies and Tools

Web Accessibility Evaluation Methodologies and Tools. Jared Smith & Jonathan Whiting webaim.org

Accessible Web Mapping Apps. Kelly Hutchins Tao Zhang

While you re waiting, you can set up your computer by installing these programs

WCAG 2.0 A and AA Requirements

Kaltura Accessibility Conformance Report

High-level accessibility review BTAA (Ebsco ebooks - final version)

Some accessibility requires expert knowledge ARIA markup Writing good ALT text Knowing how to use a screen reader

Salesforce Service Cloud Snap-Ins for Web

Merging Ajax and Accessibility

Blackboard Collaborate WCAG 2.0 Support Statement August 2016

Service Cloud Lightning

Product Accessibility Conformance Report

Web Content Accessibility Guidelines (WCAG) 2.0

Typhon Group Website WCAG 2.0 Support Statement

Salesforce Lightning Experience Analytics (Dashboard and Reports)

Salesforce Lightning Service Console

Adobe Sign Voluntary Product Accessibility Template

Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study

Marketplace Simulations Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT ) 1

What s New in WCAG 2.1. An overview

Salesforce Lightning Experience

GROUPER EVALUATION & REMEDIATION REPORT

Salesforce Lightning Dialer

Salesforce1 - ios App (Phone)

Sales Cloud Lightning

Agilix Buzz Accessibility Statement ( )

Ex Libris Accessibility Conformance Report

Quick and Practical Web Accessibility Testing for First Impressions

Introduction to ARIA and HTML5. Jared Smith & Jonathan Whiting webaim.org

High-level accessibility review BTAA

Desire2Learn Learning Repository Web Content Accessibility Guidelines (WCAG 2.0) Checklist October 2013 Contents

1. Move your mouse to the location you wish text to appear in the document. 2. Click the mouse. The insertion point appears.

Script for Administering the Civics EOC Practice Test (epat)

Accessibility Conformance Report (ACR) Evolve. Ted Gies. Digital Accessibility Team

Ally Accessibility Checklist

VMware vrealize Code Stream 6.2 VPAT

Web Content Accessibility Guidelines 2.0 level AA Checklist

VMware vrealize Code Stream 1.0 VPAT

How to Meet WCAG 2.0 AA Level

Want to add cool effects like rollovers and pop-up windows?

Skyway Builder Web Control Guide

Science. Voluntary Product Accessibility Template: Web Content Accessibility Guidelines 2.0 Level AA

Overview of the Adobe Dreamweaver CS5 workspace

Accessibility of EPiServer s Sample Templates

CSE 3461 W08. Types of Text Components. Labels: Example. Labels

Introduction to using HTML to design webpages

My name is Elizabeth Simister and I am the current product accessibility manager at Blackboard. I got my start in accessibility in 2004 in what is

Voluntary Product Accessibility Template (VPAT) ACUE Course in Effective Teaching Practice

Blackboard Learn with the Ultra Experience WCAG 2.0 Support Statement November 2016

GUIDELINES FOR SPEECH- ACCESSIBLE HTML FOR DRAGON NATURALLYSPEAKING AND DRAGON MEDICAL WHITE PAPER

Introducing web-accessibility. Making night and day difference as a developer.

Getting Started Guide

VMware AirWatch 8 VPAT

Accessibility Crash Course for Web Developers. Dan Lewis Clemson University

Project MUSE Accessibility Conformance Report

Standard Plus Player. User Guide. i-tech Company LLC TOLL FREE: (888) WEB:

KEYBOARD NAVIGATION MECHANISMS IN WIDGETS: AN INVESTIGATION ON ARIA S IMPLEMENTATIONS

1. Right-click the worksheet tab you want to rename. The worksheet menu appears. 2. Select Rename.

Web Development & Design Foundations with HTML5, 8 th Edition Instructor Materials Chapter 14 Test Bank

Adobe RoboHelp 11 Voluntary Product Accessibility Template

VPAT Web Content Accessibility Guidelines 2.0 level AA

Print Station. Point-and-Click Printing WHITE PAPER

Read Now In-Browser Reader Guide

What is ADA Website Compliance?

Accessibility Building Accessible Apps. Klara Schmitt

Product Accessibility Conformance Report

File Exchange guide Uploading data files

2. Zoom Video Webinar runs on Windows, macos, Linux, Chrome OS, ios, Android, and

What can you already use today? Brief history of Web Accessibility. What s coming up in WCAG 2.1?

AODA Accessibility Audit for Hypothesis (embedded within Canvas)

For detailed instructions, click the links below. To ask questions, request features, or report problems, visit feedback.photoshop.com.

Handshake Accessibility Overview

Accessible Collapsable Forms/Information Areas

JQUERYUI - TOOLTIP. content This option represents content of a tooltip. By default its value is function returning the title attribute.

Web Content Accessibility Guidelines (WCAG) 2.0 Statement of Compliance

Dreamweaver CS5 Lab 4: Sprys

How to set up a local root folder and site structure

Waterloo Drupal User Group

Photo from DOM

YuJa Enterprise Video Platform WCAG 2.0 Checklist

Dashboards. Overview. Overview, page 1 Dashboard Actions, page 2 Add Widgets to Dashboard, page 4 Run a Report from the Dashboard, page 6

WCAG 2 Compliance Report

Accessibility Conformance Report

Mastering the Environment WVU ecampus

Web Content Accessibility Template

LECTURE-3. Exceptions JS Events. CS3101: Programming Languages: Javascript Ramana Isukapalli

Utica First Agency Link Notice of Loss User Guide

ProQuest Accessibility Conformance Report International Edition VPAT Version 2.2 July 2018

Welcome to WAG Meeting an AMAC Accessibility Webinar. WCAG 2.1 Discussion. Janet Sylvia, WAG Coordinator. June 6, 2018

Cisco Accessibility Conformance Report VPAT Version 2.0

Web Accessibility Requirements

WAKEFLY WEBSITE ACCESSIBILITY AUDIT

TechReady.io Accessibility Conformance Report Based on Voluntary Product Accessibility Template (VPAT ) 1

Web Community Manager 2.18 Release Notes

8.0.6 New Features Guide Auto Window/Level Adjustments

Cisco Accessibility Conformance Report VPAT Version 2.0

Quick Reference Card for Timestamp Hourly View Employees

All-In-One E-Sticker Installation and User Guide (Mac Versions)

Shadow Health WCAG 2.0 Accessibility Conformance Report

Transcription:

Implementing Usable Keyboard Interactions Jared Smith & Jonathan Whiting webaim.org

Keyboard User!= Screen Reader User

Screen Reader User (usually) = Keyboard User

Keyboard Accessibility Testing

+

Keyboard Accessibility is Different When a Screen Reader is Running

Screen Reader Navigation Links and form controls Headings Landmarks Lists Forms Buttons etc.

Standard Browser Navigation Links and form controls

Ensure Interactive Elements are Links or Form Controls or... make non-focusable elements focusable with tabindex!

Avoid Tabindex... unless you're sure you know what you're doing.!! If the default tab order is not logical, fix your source code order.

Avoid this tabindex="1+" defines an explicit tab order tabindex="0" allows things besides links and form elements to receive keyboard focus.!! tabindex="-1" allows things besides links and form elements to receive programmatic focus (by scripting, links, etc.)

<div tabindex= 0 onclick= submitform() >Submit Search</div>

<a onclick= submitform() >Submit Search</a> is better, but <input type= submit value= Submit Search >! or! <button onclick= submitform() >Submit Search</button>! are best!

Device Independence Use device independent event handlers or combine mouse (e.g, onmouseover) and keyboard (e.g, onkeypress) dependent event handlers

WARNING! Click events do not always trigger via keyboard for things other than links or form controls...... even with tabindex= 0!

Attach an onkeyup event and then check for Enter (13) and Space (32) key presses: if(event.keycode==13 event.keycode==32) { dostuff(); }

tabindex= -1 Allows non-focusable elements to receive programmatic focus (by scripting, links, etc.) Necessary for focusing dialog boxes, error messages, etc. WARNING: This removes the element from the default tab order.

Review Ensure all interactive elements are links or form controls, or make them focusable with tabindex= 0. If using tabindex, detect Enter and Space key events. Ensure non-focusable elements (such as dialog windows) have tabindex= -1 before focusing them programmatically.

Dialogs

tabindex= -1 then set focus to dialog (or focus a control inside the dialog) Dialogs Maintains keyboard focus if modal Link, button, or tabindex= 0 Returns focus when dismissed Closes with ESC key

Freak-out Mode When the currently focused element disappears! or is significantly modified Avoid it or address it with focus();

Carousels

Carousels http://shouldiuseacarousel.com/

Q&A by.net magazine http://www.netmagazine.com/news/accessibilityexpert-warns-stop-using-carousels-132875

An anti-carousel carousel featured in a carousel

Carousel Issues Automated carousels violate WCAG 2.0 Success Criteria 2.2.2 (Level A) - Pause, Stop, Hide Distracting and confusing Difficult interaction model No relationship between controls and content Freak-out mode when carousel changes Allow poor content decisions

Carousel Accessibility Solutions Avoid auto-playing (optimal) or include a visible pause button (preferably) before the carousel Pause carousel on mouse hover and on keyboard focus Provide context for controls Descriptive text ARIA tab panel? Ensure accessible content Ensure focused or activated items do not disappear, or set focus when they do

Roving tabindex Useful for controlling focus within interactive widgets (menus, tab panels, tree widgets, etc.). Set tabindex= 0 on currently active item. This places it in the tab order. Set tabindex= -1 on all other items. This removes them from the tab order and makes them focusable with scripting. Use focus() to set focus as user navigates within widget (arrow keys, etc.). tabindex= 0 roves or follows the active item allowing users to return directly to it later.

http://hanshillen.github.io/jqtest/#goto_tabs

In an ARIA tab panel, the entire tab group functions as one tab stop, then arrow keys are used to select the active tab. 1 2 3

tabindex=0 tabindex=-1

Press to select the next tab tabindex=-1 tabindex=0 tabindex=-1

If you tab away from the tab panel and later return, Cats remains the active and focused tab because it has tabindex=0. tabindex=0

Focus on semantics and let CSS do the heavy lifting [tabindex=0] { background:#fff; border-color:#ddd; border-bottom:none; }

ARIA Design Patterns for Widget Interaction http://www.w3.org/wai/pf/aria-practices/#aria_ex

Questions? Jared Smith & Jonathan Whiting webaim.org