AJAX Live Regions & Accessibility by Charles L. Chen.

Slides:



Advertisements
Similar presentations
XML-XSL Introduction SHIJU RAJAN SHIJU RAJAN Outline Brief Overview Brief Overview What is XML? What is XML? Well Formed XML Well Formed XML Tag Name.
Advertisements

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 16 Introduction to Ajax.
JavaScript Objects - DOM CST 200 JavaScript. Objectives Introduce JavaScript objects Introduce Document Object Model Introduce window object Introduce.
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.
AJAX (Asynchronous JavaScript and XML) Amit Jain CS 590 – Winter 2008.
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
Chapter 9 Introduction to the Document Object Model (DOM) JavaScript, Third Edition.
1 JavaScript & AJAX CS , Spring JavaScript.
XML on the Web: is it still relevant? O'Neil D. Delpratt.
Chapter 6 DOJO TOOLKITS. Objectives Discuss XML DOM Discuss JSON Discuss Ajax Response in XML, HTML, JSON, and Other Data Type.
Scripted, Tab Accessible Tree Control Hierarchical view of data via tree control. Keyboard Navigation from initially closed tree to view above with focus.
JQuery CS 268. What is jQuery? From their web site:
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.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
Real World Accessibility Becky Gibson Dojo Accessibility Lead IBM Web Accessibility Architect.
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
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.
Lesson 4: Using HTML5 Markup.  The distinguishing characteristics of HTML5 syntax  The new HTML5 sectioning elements  Adding support for HTML5 elements.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
Writing various AJAX forms in Drupal 7 1. Overview of Form API 2. Ctools 2.1 Ctools features 3. Ajax 3.1 Ajax Forms in Drupal 4. Putting it all together.
Forms and Applications Web Design Professor Frank.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Accessible DOM scripting with ARIA Léonie Watson
An Introduction to JavaScript Summarized from Chapter 6 of “Web Programming: Building Internet Applications”, 3 rd Edition.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
MTA EXAM HTML5 Application Development Fundamentals.
Ajax. –Asynchronous JavaScript and XML –Umbrella term for technologies that often: Use client-side scripting for layout and formatting Use less than full.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Internet & World Wide Web How to Program, 5/e. © by Pearson Education, Inc. All Rights Reserved.
Aria Roles Informing assistive technology. What are Aria Roles A way of conveying the role or state of content or functionality. Accessible Rich Internet.
Web Technology Introduction AJAXAJAX. AJAX Outline  What is AJAX?  Benefits  Real world examples  How it works  Code review  Samples.
Introduction to Markup Languages January 31, 2002.
Unleash the Power of jQuery Learning & Development Team Telerik Software Academy.
Review of the DOM Node properties and methods Some ways of accessing nodes Appending, copying and removing nodes Event handling – Inline – Scripting –
the acronym for Asynchronous JavaScript and XML.
Unit 3 — Advanced Internet Technologies Lesson 11 — Introduction to XSL.
Web Technologies Lecture 2 HTML and CSS. HTML Hyper Text Markup Language – Describes web documents – Made up of nested HTML markup tags – Tags are the.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
 AJAX – Asynchronous JavaScript and XML  Ajax is used to develop fast dynamic web applications  Allows web pages to be updated asynchronously by transferring.
Ajax VS Flex A comparison based on shopping cart implementation PoHsu Yeh py2157.
Week 8.  Form controls  Accessibility with ARIA.
AJAX. Overview of Ajax Ajax is not an API or a programming language Ajax aims to provide more responsive web applications In normal request/response HTTP.
JavaScript & Introduction to AJAX
AJAX – Asynchronous JavaScript And XML By Kranthi Kiran Nuthi CIS 764 Kansas State University.
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.
ASP.Net ICallback Vijayalakshmi G M Senior Trainer Binary Spectrum.
JQUERY AND AJAX
Overview Web Technologies Computing Science Thompson Rivers University.
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
Google Tag Manager and YaleSites: The Next Step for Google Analytics Yale University DrupalCamp 2016 Steve Wieda March 24, 2016 Yale University Library.
Internet & World Wide Web How to Program, 5/e.  JavaScript events  allow scripts to respond to user interactions and modify the page accordingly  Events.
Doktorant ė : Egl ė Mickevi č i ū t ė Software development technologies KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMACIJOS SISTEM Ų KATEDA Kaunas, 2013.
Keyboard Accessibility
Introduction to Google Tag Manager
The Internet and HTML Code
AJAX – Asynchronous JavaScript and XML
JavaScript Basics Stephen Delaney
HTML A brief introduction HTML.
Class 4: Building Interactive Web Pages
Other options Note: Style switcher.
Presentation transcript:

AJAX Live Regions & Accessibility by Charles L. Chen

Overview Introduction WAI-ARIA Live Region Markup Examples and Demos with Fire Vox Future Work Additional Resources Questions and Answers

Introduction What is AJAX? –AJAX: Asynchronous JavaScript And XML –AJAX allows for dynamic updates to a web page without doing a refresh Real world events: headlines, stocks, game stats Response to user actions: warnings, prompts

Introduction Why is AJAX a problem for accessibility? –What is a web page? Traditional model: Static document AJAX model: Dynamic application –Should users be informed of the change, and if so, when? Some changes may be trivial and should not be spoken at all Some changes should be spoken immediately; others should only be spoken when convenient

Introduction How can we solve the “AJAX” problem? –Strictly speaking, AJAX is not the problem; the problem is dynamic content in live regions The question: How should AT handle a change to part of a web page? The answer: It depends on what that part of the web page is.

Introduction How can we solve the “AJAX” problem? –Certain types of changes happen to certain parts of the web page Game stat updates will happen in the part of the web page that is for displaying game stats; headline updates will happen in a different part JavaScript code usually refers to a particular region (div, span, etc.) by its ID and adds/removes/changes content there

Introduction How can we solve the “AJAX” problem? –Who knows the purpose of each part of the page better than the web developer? Users should have full control over how live regions behave Web developers should be empowered with setting reasonable defaults for the live regions on their pages

WAI-ARIA Live Region Markup WAI-ARIA –Web Accessibility Initiative –Accessible Rich Internet Applications –W3C Markup live regions with information about how they should be treated by AT –These are the defaults; users can override these settings if they choose

WAI-ARIA Live Region Markup live=POLITENESS_SETTING atomic=BOOLEAN relevant=[LIST_OF_CHANGES] controls=[IDLIST] labelledby=[IDLIST] describedby=[IDLIST]

live=POLITENESS_SETTING off (default) –Do not speak this region polite –Speak this region when the user is idle assertive –Speak this region as soon as possible rude –Speak this region RIGHT NOW

atomic=BOOLEAN true –This whole region must be spoken when any of its nodes are changed; the individual changes cannot stand on their own false (default) –Speak only the node that changes; there is enough context for the individual changes to make sense

relevant=[LIST_OF_CHANGES] additions (default) –Nodes added to the region are important and should be spoken removals –Nodes removed from the region are important and should be spoken text (default) –Nodes changed in the region are important and should be spoken interim* –All additions and changes are relevant, even if they were removed/changed before they could be spoken –*Note: This is a proposed property and has not been officially accepted yet.

Examples and Demos Multiple live regions with different politeness Atomic vs non-atomic Interim vs non-interim Form with warnings Scoreboard Chatroom

Future Work Causality –No way to distinguish a change caused by a world event vs a change that is a response to user action Higher levels of abstraction for web developers –Default live properties for various widgets based on ARIA roles Style changes –Display/Visibility changes are style changes and are NOT fired as DOM events

Additional Resources W3C WAI-ARIA – ARIA Live Regions Report – AJAX:WAI_ARIA_Live_Regions Accessible Live Region Test Cases – Fire Vox –

Questions and Answers Any questions? Thank you for your time