ARIA intro WAI ARIA The problems being addressed  Limitations of the web pidgin  The old and new webs The ARIA solution (roles, states, properties, regions,

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

JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
The Paciello Group Accessing Higher Ground, 2014.
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 |
Tutorial 6 Creating a Web Form
Web 2.0 Accessibility Section 508 Coordinators Training Conference Rich Schwerdtfeger DE, SWG Accessibility Strategy and Architecture Chair: W3C WAI-ARIA.
Antranig Basman, CARET, University of Cambridge Aaron Zeckoski, CARET, University of Cambridge Josh Ryan, Arizona State University Colin Clark, Adaptive.
® IBM Software Group © 2007 IBM Corporation Accessible Rich Internet Applications and Online Services Rich Schwerdtfeger IBM Distinguished Engineer, Chair.
Tutorial 16 Working with Dynamic Content and Styles.
Tutorial 6 Working with Web Forms
Hans Hillen (TPG) Steve Faulkner (TPG) 02 / 25 / 13 Accessibility of HTML5 and Rich Internet Applications - CSUN
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
CST JavaScript Validating Form Data with JavaScript.
Scripted, Tab Accessible Tree Control Hierarchical view of data via tree control. Keyboard Navigation from initially closed tree to view above with focus.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
Accessibility for Rich Internet Applications: Colin Clark, Fluid Project Technical Lead, Adaptive Technology Resource Centre Techniques & Toolkits.
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.
Real World Accessibility Becky Gibson Dojo Accessibility Lead IBM Web Accessibility Architect.
1 Forms A form is the usual way that information is gotten from a browser to a server –HTML has tags to create a collection of objects that implement this.
Chapter 5 Java Script And Forms JavaScript, Third Edition.
Development of Accessible E-documents and Programs for the Visually Impaired WAI-ARIA (V2011)
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
ARIA + HTML5 Steve Faulkner & Hans Hillen The Paciello Group.
WEEK 3 AND 4 USING CLIENT-SIDE SCRIPTS TO ENHANCE WEB APPLICATIONS.
DHTML: Dynamic HTML Internet Technology1. What is DHTML? A collection of enhancements to HTML ► To create dynamic and interactive websites Combination.
Accessible DHTML Simon Bates David Bolter ATRC
The Document Object Model. The Web B.D, A.D. They aren’t web pages, they’re document objects A web browser interprets structured information. A server.
HTML5 Sections Old structuring elements –body, div, address, blockquote –headings: h1, h2, h3, … –ul, ol, table New structuring elements –header, footer,
HTML Concepts and Techniques Fourth Edition Project 12 Creating and Using XML Documents.
© 2010 Delmar, Cengage Learning Chapter 8 Collecting Data with Forms.
Accessible DOM scripting with ARIA Léonie Watson
Using Client-Side Scripts to Enhance Web Applications 1.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Javascript II DOM & JSON. In an effort to create increasingly interactive experiences on the web, programmers wanted access to the functionality of browsers.
Introduction to JavaScript 41 Introduction to Programming the WWW I CMSC Winter 2004 Lecture 17.
JavaScript, Fourth Edition Chapter 5 Validating Form Data with JavaScript.
 2008 Pearson Education, Inc. All rights reserved Introduction to XHTML.
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.
Functional Accessibility Evaluation of Web 2.0 Applications Testing Jon Gunderson, Ph.D University of Illinois.
Key Applications Module Lesson 21 — Access Essentials
1 Introduction  Extensible Markup Language (XML) –Uses tags to describe the structure of a document –Simplifies the process of sharing information –Extensible.
HTML Forms. Slide 2 Forms (Introduction) The purpose of input forms Organizing forms with a and Using different element types to get user input A brief.
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
Aria Roles Informing assistive technology. What are Aria Roles A way of conveying the role or state of content or functionality. Accessible Rich Internet.
Unleash the Power of jQuery Learning & Development Team Telerik Software Academy.
1 CSC160 Chapter 7: Events and Event Handlers. 2 Outline Event and event handlers onClick event handler onMouseOver event handler onMouseOut event handler.
ARIA Support on Mobile Browsers Jonathan Avila Chief Accessibility Officer, SSB BART Group.
Week 8.  Form controls  Accessibility with ARIA.
Chapter 27 Getting “Web-ified” (Web Applications) Clearly Visual Basic: Programming with Visual Basic nd Edition.
XP Review 1 New Perspectives on JavaScript, Comprehensive1 Introducing HTML and XHTML Creating Web Pages with HTML.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
Introduction to JavaScript LIS390W1A Web Technologies and Techniques 24 Oct M. Cameron Jones.
Complex UI & Access i bility 5 tips to improve accessibility when building interactive page elements Charlie Perrins, DARE.
Javascript Basic Concepts Presentation By: Er. Sunny Chanday Lecturer CSE/IT RBIENT.
Tutorial 6 Creating a Web Form
Becky Gibson Sr. Technical Staff Member IBM Emerging HTML5 Accessibility.
Section 10.1 Define scripting
Chapter 5 Validating Form Data with JavaScript
Using DHTML to Enhance Web Pages
Presented by: Bryan Garaventa, Accessibility Fellow
W3C Web standards and Recommendations
DHTML Javascript Internet Technology.
DHTML Javascript Internet Technology.
Tutorial 6 Creating Dynamic Pages
Introduction to Programming the WWW I
Web Development Using ASP .NET
Tutorial 7 – Integrating Access With the Web and With Other Programs
Introduction to JavaScript
Presentation transcript:

ARIA intro WAI ARIA The problems being addressed  Limitations of the web pidgin  The old and new webs The ARIA solution (roles, states, properties, regions, keyboard, user agent implementation guide) How to proceed... Tools and compliant systems

ARIA’s place in the scheme of things  W3C track (part of the Web Accessibility Initiative (WAI) – like WCAG.  A W3C Draft Recommendation: (WAI-ARIA) aria/  Dense! But different. Will see how…

The problem: the pidgin of the web HTML semantics != intended meaning

The pidgin of the web, improved etc… an example (CTools)example

AT has to rely on… making sense of a vocabulary-poor pidgin language skewed for presentation syntactical conventions a well trained AT user – and a steep learning curve

The old web sequential flow of information (get and post) –init by client logic on the server, client is just a get, post, and display technology Get and post Response

The new web: asynchronous Click “Like” Server updated in the background No new “page” DOM manipulations from response:  “Like” > “Unlike”  “You like this” added  Comment box unhidden

The new web: asynchronous (2) Click on “View all 6 comments” Data retrieved from server async, manipulated into markup and inserted into the DOM

The WAI-ARIA solution Enrich the markup to help AT users read  The document parts: landmark roles  The function of a fragment: all roles Map events to a11y APIs to help AT interact with the new markup  States of a fragment with a role  Properties of a fragment with a role

The WAI-ARIA solution

Landmark roles: the problem being addressed ….etc Presentational markup does not add non visual meaning Headers, hidden text, etc. help.

Non-ARIA solutions University of Michigan Topic-Based Site-Wide Navigation About U-M Live exampleexample

ARIA Landmark roles Adding non visual meaning to document parts aria/#roleattribute_inherits aria/#roleattribute_inherits Example (Paciello Group) Example Full example (Univ Illin. U-C) Full example application banner complementary contentinfo main navigation search

Land mark roles: attribute/values Accessible names and description – calculated (aria-label, aria- describedby, title)

Other roles to structure: Content article definition grid heading (nestedness!) math note etc. (integration with HTML 5) Interactions application combobox dialog marquee progressbar toolbar etc.

Role taxonomy is: Descriptive (it does what the name says)  tooltip  tree  directory Hierarchical  widget > menu > menuitem (or menuitemcheckbox, menuitemradio)  Grid > Row > ( gridcell, rowheader, columnheader)

Role taxonomy is: Related to other taxonomies (easy!)  A grid role is sort of a table  A heading role is sort of a HTML 4. Much like a HTML 5 Structured (no DTD, but is coming)  Elements have required/allowed parents required/allowed children Inheritance but fuzzy

Some role examples (1) A set of nested articles …. ….

Some role examples (2) A tool bar (CTools)CTools My Current Sites Joinable Sites

More complex role examples CITA Radio button groups CITA Radio button Lunch Options Thai Subway JJ

More complex role examples CITA slider

Properties: less likely to change, essential of the object Widget label States: likely to change in the interaction – store values to help AT Enter a number am not entering a number! To help assistive technology user interact with the fragment Properties and states

More state examples aria-disabled aria-hidden aria-expanded 

Live Regions Any element that may change Some roles (timer, log, marquee, status) have default settings  aria-atomic (false, true) - [parts/whole]  aria-busy (false, true)  aria-live (off, polite, assertive) - [inherited]  aria-relevant (additions, removals, text, all)

Live Regions Example (potential!) Users present Chat

Keyboard A11y Extending tabindex  tabindex=0 Element can receive focus  tabindex=-1 Element (and maybe its parts) will be focused programmatically

Keyboard A11y - Examples CITA Radio button groups (again) CITA Radio button Lunch Options Thai Subway JJ

Adding ARIA Adding landmark role attributes to static html  CTools (before / after)before after Issues:  Non-valid attributes  Namespacing, browser quirks….

Adding ARIA Adding landmark role attributes dynamically – several techniques Using class as seed   Javascript parses class, adds all strings after axs as the value of a role. Adds role. 

Adding ARIA – mapping ids to roles Adding landmark roles to MetafilterMetafilter ariamap.json : { "id":"logo", "role":"banner" },..... $('#ariame').click(function(){ jQuery.ajax({ url: 'MetaFilter_files/ariamap.json', success: function(data){ for (var i = 0; i < data.length; i++) { var id = data[i].id; var role = data[i].role; $('#' + id).addClass('lime'); $('#' + id).attr('role', role); } }, error: function(){ // console.log(‘error! '); } });

Adding ARIA +(roles/states) document structure  article  heading  list  group  directory  definition input states and properties (freedom from the * ) (after failed validation)

Adding ARIA: using components/libraries JQuery-UI  Example: JQuery-UI Dialog (CTools Site Info)Site Info FLUID  Example: List Reorderer (CTools Assignments) Assignments Dojo Others…

Integrating a FLUID compoment in CTools Assignments Load FLUID library in the application <script type="text/javascript" src="/sakai-assignment-tool/fluid/Fluid-all.js"> Create small script to identify targets, load options var opts = { selectors: { movables: "[id^=assignment.orderable]" }, listeners: {onBeginMove: preserveStatus, afterMove: registerChange} }; return fluid.reorderList("#assignment-reorder", opts); });

FLUID: CTools Assignments Customize FLUID callbacks  onBeginMove: preserveStatus  afterMove: registerChange Style elements and states .orderable-selected .orderable-drop-marker .orderable-hover .orderable-dragging .orderable-avatar

Links Working Draft  A very nice introduction from Opera dev  aria/ aria/ FLUID Project  iCITA ARIA Examples 