Accessibility for Rich Internet Applications: Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre Techniques & Toolkits.

Slides:



Advertisements
Similar presentations
JQuery UI A11Y Tips, Tricks and Pitfalls jQUery UI ARIA Hackathon 2011 Hans Hillen, TPG.
Advertisements

Web Accessibility and Design Colin Clark, Fluid Technical Lead & Architect Justin Obara, Fluid QA Lead Jess Mitchell, Fluid Project Manager.
Everett Zufelt Tech Lead / Accessibility Accessibility of Custom User Interface Components Using WAI-ARIA.
DataNaut, LLC 1 Building Cross-Platform Accessible Applications Using Qt Technical Overview September 2012.
ZoomText, Step-by-Step IU Adaptive Technology Center.
ARIA Web Design and Development Patterns KEITH HAYS IT Accessibility Specialist CITES / ITaccess
Creating dynamic and accessible content in Drupal 7 using WAI-ARIA Sarah Pulis Web Accessibility Evangelist DruaplCon | Content Authoring |
ACCESSIBILITY OF DESIRE2LEARN LEARNING ENVIRONMENT.
Antranig Basman, CARET, University of Cambridge Aaron Zeckoski, CARET, University of Cambridge Josh Ryan, Arizona State University Colin Clark, Adaptive.
© by Pearson Education, Inc. All Rights Reserved.
® IBM Software Group © 2007 IBM Corporation Accessible Rich Internet Applications and Online Services Rich Schwerdtfeger IBM Distinguished Engineer, Chair.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
 2006 Pearson Education, Inc. All rights reserved Introduction to the Visual C# 2005 Express Edition IDE.
Microsoft Windows Vista Chapter 6 Customizing Your Computer Using the Control Panel.
October 2, 2007IEEE IPCC2007 Building Communication With Access for All Richard B. Ells Senior Webmaster University of Washington
ICS 665 Jesse Abdul. jQuery UI Overview  jQuery UI javascript library Includes all UI component functionality  jQuery UI CSS framework Includes standard.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Jutta Treviranus, Fluid Principal Investigator and Director, Adaptive Technology Resource Centre, University of Toronto Colin Clark, Fluid Project Technical.
ARIA + HTML5 Steve Faulkner & Hans Hillen. DIVING IN TO SOME HTML5 Details/summary Dialog Spin button slider ARIA rules HTML/ARIA validation Tools.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Scripted, Tab Accessible Tree Control Hierarchical view of data via tree control. Keyboard Navigation from initially closed tree to view above with focus.
Building Accessible Web Applications Antranig Basman, Fluid Core Framework Architect with Fluid Infusion.
An Introduction to WAI-ARIA Dan Jackson Web Team Leader City University London.
© 2008 IBM Corporation Emerging Internet Technologies Real World Accessibility with ARIA Becky Gibson Web Accessibility Architect.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
Alternative Views of the Web Jon Gunderson, Ph.D. Division of Rehabilitation-Education Services University of Illinois at Urbana/Champaign.
1 User-Centric Technologies: Accessibility Jutta Treviranus Director Adaptive Technology Research Centre University of Toronto.
© 2008 IBM Corporation Emerging Technologies Web 2.0 Accessibility with Dojo Becky Gibson Web Accessibility Architect Dojo Committer.
Real World Accessibility Becky Gibson Dojo Accessibility Lead IBM Web Accessibility Architect.
Advanced Forms Lesson 10.
Development of Accessible E-documents and Programs for the Visually Impaired WAI-ARIA (V2011)
Yahoo! User Interface (YUI) Library Natly Mekdara.
ARIA + HTML5 Steve Faulkner & Hans Hillen The Paciello Group.
Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto Daphne Ogle, Senior User Interaction Designer, UC.
1 WEB Engineering Introduction to Electronic Commerce COMM1Q.
IE 411/511: Visual Programming for Industrial Applications
Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre, University of Toronto Bridging the Gap: Design & Development in Sakai.
Accessible DHTML Simon Bates David Bolter ATRC
Creating an Animated Web Page
CITS1231 Web Technologies JavaScript and Document Object Model.
Indo-US Workshop, June23-25, 2003 Building Digital Libraries for Communities using Kepler Framework M. Zubair Old Dominion University.
Project 2 Adding Web Pages, Links, and Images Dreamweaver MX 2004 Concepts and Techniques.
1 WEB Engineering E-Commerce Strategy & Management COM350.
Sakai U-Camp: Accessibility Colin Clark, Inclusive Software Architect, Adaptive Technology Resource Center, University of Toronto Mike Elledge, Assistant.
Accessible DOM scripting with ARIA Léonie Watson
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Justin Tilton uPortal Framework and User Interface Demonstration.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to the Visual Studio.NET IDE Outline 2.1Introduction 2.2Visual Studio.NET Integrated.
Week 8.  Form controls  Accessibility with ARIA.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Understanding JavaScript and Coding Essentials Lesson 8.
1 Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Doug Geoffray & Todd Kloots Capacity Building Institute Seattle, Washington
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Complex UI & Access i bility 5 tips to improve accessibility when building interactive page elements Charlie Perrins, DARE.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Fundamentals of Web DevelopmentRandy Connolly and Ricardo Hoar Textbook to be published by Pearson Ed in early Bootstrap.
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
Accessibility is not boring or difficult. It’s the right thing to do. Benjy Stanton.
Using DHTML to Enhance Web Pages
CARA 3.10 Major New Features
Introduction to the Visual C# 2005 Express Edition IDE
Reaching more customers with accessible Metro style apps using HTML5
What Designers Need to Know about Accessibility (A11y)
DHTML Javascript Internet Technology.
Chapter 2 – Introduction to the Visual Studio .NET IDE
DHTML Javascript Internet Technology.
Demystifying Web Content Accessibility Guidelines
Presentation transcript:

Accessibility for Rich Internet Applications: Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre Techniques & Toolkits

Topics We’ll Cover A quick introduction The Fluid Community Challenges of rich internet accessibility Solutions and standards Dojo jQuery Fluid Infusion

Introductions

Links

The Fluid Community An international open source community of interaction designers, developers, and accessibility experts dedicated to improving the open web.

Challenge for Open Source How do we address the systemic problems of poor usability and accessibility? How do non-technical people get involved in OSS? How can we help designers and developers speak the same language? How do you do user testing in a distributed environment? UX is a challenge for all open source projects

What is Fluid? An open source project that creates user experience tools and software capable of addressing the needs of diverse users. Flexible, reusable user interface components Development tools to support inclusive design Design Handbook Accessible Interaction Designs Design Pattern Community

Rich Internet Accessibility

What is Accessibility?

A New Definition Accessibility is the ability of the system to accommodate the needs of the user Disability is the mismatch between the user and the interface provided We all experience disability Accessible software = better software

DHTML: A New Can of Worms The shift from documents to applications Familiar a11y techniques aren’t enough Most DHTML is completely inaccessible New techniques are still being figured out

Assistive Technologies Present and control the user interface in different ways Screen readers Screen magnifiers On-screen keyboards Use built-in operating system APIs to understand the user interface

The Problem Custom widgets often look, but don’t act, like their counterparts on the desktop HTML provides only simple semantics Not enough information for ATs Dynamic updates require new design strategies to be accessible

The Solution Describe user interfaces with ARIA Add consistent keyboard controls Provide flexible styling and presentation

Supporting Assistive Technology

Opaque Markup // These are tabs. How would you know? Cats Dogs Gators Cats meow. Dogs bark. Gators bite.

Opaque Markup: Tabs

ARIA Accessible Rich Internet Applications W3C specification in the works Fills the semantic gaps in HTML Roles, states, and properties Live regions

Roles Describe widgets not present in HTML 4 slider, menubar, tab, dialog Applied using the role attribute

States and Properties Added to elements within the DOM Properties describe characteristics: draggable, hasPopup, required States describe what’s happening: busy, disabled, selected, hidden Applied using custom aria- attributes

Using ARIA // Now *these* are Tabs! Cats Dogs Gators Cats meow. Dogs bark. Gators bite.

Keyboard Accessibility

Keyboard Navigation Everything that works with the mouse should work with the keyboard... but not always in the same way Support familiar conventions

Keyboard Conventions Tab key focuses the control or widget Arrow keys select an item Enter or Spacebar activate an item Tab is handled by the browser. For the rest, you need to write code.

Tabbing and Tabindex Each focusable item can be reached in sequence by pressing the Tab key Shift-Tab moves backwards The tabindex attribute allows you to customize the tab order tabindex=”-1” removes element from the tab order: useful for custom handlers

Tabindex examples Cats Dogs Alligators

Arrow Key Navigation // Make the tabList focusable with Tab. var tabList = jQuery(“#animalTabs”).attr(“tabindex”, 0); // Make the tabs selectable with the arrow keys. var tabs = jQuery(“li”, tabList); tabs.selectable(tabList, { willSelect: function(aTab) { aTab.addClass(“highlight”); } });

Things to Think About What kind of UI are you building? Does it resemble something familiar? What states or modes does it have? Can you reuse an existing widget?

Accessibility Resources

Toolkit Accessibility

Dojo The first to tackle DHTML accessibility Accessibility features include: Support for Windows High Contrast Comprehensive ARIA library Keyboard navigation Most core widgets are covered

Dojo High Contrast

jQuery A truly community-driven effort A step-by-step approach Features include: Several accessible widgets, more to come Comprehensive ARIA library Keyboard navigation in progress

jQuery

Fluid Infusion

Infusion is... A collection of rich UI components A framework for building your own Built on top of jQuery Built from the ground up for accessibility Personalizable and adaptable Ideal for portals, mashups, and CMS

Components Encompass familiar Web activities Working with files, finding stuff, authoring Rich interactions: drag and drop, etc. Activities and contexts, not just widgets Designed to be extended and adapted

The Reorderer Family layoutsgridslists

Uploader

Pager

UI Options & FSS

UI Options: High Contrast Theme

Infusion Framework Puts you back in charge of your UI No black boxes: everything is configurable Totally open architecture Models, views, but not gluey controllers Make your UIs transformable

Getting Involved Join our mailing lists Share code or designs Use Infusion

Links