An Introduction to the Accessibility API on Windows David MacDonald President, CanAdapt Solutions Inc.

Slides:



Advertisements
Similar presentations
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Advertisements

Microsoft Expression Web-Illustrated Unit J: Creating Forms.
WAHEP Website Check-up A Look at the Project Midway Website Evaluations.
FORMs Lesson TBE 540. Prerequisites Before beginning this lesson, the learner must be able to… –Create basic web pages using a text editor and/or a web.
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.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
AJAX (Asynchronous JavaScript and XML) Amit Jain CS 590 – Winter 2008.
Chapter 1 Getting Started With Dreamweaver. Explore the Dreamweaver Workspace The Dreamweaver workspace is where you can find all the tools to create.
Computer Science 103 Chapter 2 HyperText Markup Language (HTML)
IV. “Regular” Web Pages: HTML A Web Accessibility Primer: Usability for Everyone Office of Web Communications.
CSC 2720 Building Web Applications JavaScript. Introduction  JavaScript is a scripting language most often used for client-side web development.  JavaScript.
Microsoft Office © Copyright William Rowan Objective By the end of this you will have being given a brief introduction to: Microsoft Word Microsoft.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
ARIA + HTML5 Steve Faulkner & Hans Hillen. DIVING IN TO SOME HTML5 Details/summary Dialog Spin button slider ARIA rules HTML/ARIA validation Tools.
Development of Accessible E- documents and Programs for Visually Impaired Using pc without visual control.
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.
User Interface January 14, 2011 CSE 403, Winter 2011, Brun Three Mile Island.
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.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
JavaScript and The Document Object Model MMIS 656 Web Design Technologies Acknowledgements: 1.Notes from David Shrader, NSU GSCIS 2.Some material adapted.
Who Wants to be a Millionaire? Web Page Development Dreamweaver Chapter 1.
Java Application Accessibility Awareness Lawrence Najjar.
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.
IE 411/511: Visual Programming for Industrial Applications
Forms and Applications Web Design Professor Frank.
Accessible DHTML Simon Bates David Bolter ATRC
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Dreamweaver MX Unit B CIS 205—Web Site Design and Development.
How People with Disabilities Access the Web Web Design – Sec 2-5 Part or all of this lesson was adapted from the University of Washington’s “Web Design.
Accessible DOM scripting with ARIA Léonie Watson
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
WEB ACCESSIBILITY. WHAT IS IT? Web accessibility means that people with disabilities can use the Web. Web accessibility encompasses all disabilities that.
Bells, Whistles, and Alarms: HCI Lessons Using AJAX for a Page-turning Web Application Juliet L. Hardesty, Indiana University.
Applets Yong Choi School of Business CSU, Bakersfield.
BUILDING AN ACCESSIBLE SILVERLIGHT EXPERIENCE CL51 Mark Rideout Silverlight Program Manager Microsoft blogs.msdn.com/markrideout/
Dive into Mobile Guidelines for Testing Native, Hybrid, and Web Apps Susan Hewitt, Accessibility Consultant, Deque Systems Jeanine Lineback, Accessibility.
Accessible DHTML Implementation Aaron Leventhal IBM Senior Engineer Firefox accessibility lead Firefox 1.5.
Introduction To HTML Form Inputs Written By George Gimian.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
GRITS 2011: Benny Chan. Browsers as Application GUI  Modern Browsers are basically an HTML and a power JavaScript rendering engine.  As the internet.
1 CSC160 Chapter 7: Events and Event Handlers. 2 Outline Event and event handlers onClick event handler onMouseOver event handler onMouseOut event handler.
JavaScript Overview Developer Essentials How to Code Language Constructs The DOM concept- API, (use W3C model) Objects –properties Methods Events Applications;
 objects in Client  What is Event?  Event Handlers  programming.
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.
PEAT Talks: Sharing Success from the WWW+W4A Accessibility Hackathon May 19,
Creating and Processing Web Forms
Dive Into® Visual Basic 2010 Express
DHTML.
Objectives Design a form Create a form Create text fields
W3C Web standards and Recommendations
Introduction to JavaScript
Sharon Trerise & Kara Patten Graphics from webaim.org
What Designers Need to Know about Accessibility (A11y)
Web Accessibility Allison Kidd, Accessibility Specialist
© 2015, Mike Murach & Associates, Inc.
Citation Map Visualizing citation data in the Web of Science
Building accessible chatbots
JavaScript and Events CS Programming Languages for Web Applications
CIS 133 mashup Javascript, jQuery and XML
Introduction to JavaScript
Tutorial Introduction to help.ebsco.com.
JavaScript and Events CS Programming Languages for Web Applications
Presentation transcript:

An Introduction to the Accessibility API on Windows David MacDonald President, CanAdapt Solutions Inc.

Screen Reader & API Brief history 1990’s “read the screen” with video intercept OK for DOS Bad for a GUI GUI, off screen model, interim solution 1991 Byte “Making the GUI Talk,”Making the GUI Talk 1997 Windows MSAA API 2009 UIA augments Windows API 2009 IAccessible Linux/Win 2009 AXAP Mac, UI Accessible Protocol iOS 3

JavaScript changes the DOM

What is the DOM?

The DOM Representation of web page in browser A node map Browser builds the page from the DOM Sits in computer memory JavaScript manipulates the DOM WAI ARIA can inform screen reader users of changes to the DOM (i.e, innerhtml)

DOM Tree DOCTYPE: html html head #text: title #text: Sample page #text: body #text: h1 #text: Sample page #text: p #text: This is a aa href="demo.html"

What is the Accessibility Tree? Subset of the DOM trims out things not necessary. Talks to a11y API

API is like a stock broker

API and the Browser DOM

Simple Form Field Code Date of Birth: (MM-DD-YYYY)

Let’s put it to practice Try it live:

Accessibility Viewer

Checkbox has no value, just state

Checkbox (continued)

How the API Works

Why use WAI ARIA Provide information to the Accessibility API Custom simple interactive controls like radio buttons and drop downs Custom components such as menus Announce important changes to the content Add structure to a page

Hamburger Menu 1.User HTML Menu (keep label visual if possible) 2.Ensure the menu has visible focus avoid ::focus {outline: none} 3.Sub menus work with a keyboard 4.Sub menus are not in the “DOM” if closed 5.Code for the menu follows the button (or focus managed via JS) 6.Open/closed menu is announced to AT (ex. aria-expanded=false )

Hamburger If its not a add: 1.Label (e.g. alt=menu ) 2.Add role=button 3.Tab stop, for keyboard (ex. tabindex=0) 4.Open and close with keyboard (activate JavaScript with keyboard AND mouse)

How to contact us David MacDonald CanAdapt Solutions Inc