Yahoo! Confidential1 Yahoo! Experiences with Accessibility, DHTML, and Ajax in Rich Internet Applications CSUN, March 23 rd, 2006 Victor TsaranVictor Tsaran.

Slides:



Advertisements
Similar presentations
Web Accessibility 3.0 Rick Ells University of Washington Seattle, Washington.
Advertisements

1 Yahoo! Experiences with Accessibility (a11y), DHTML, and Ajax in Rich Internet Applications Nate Koechley
Antranig Basman, CARET, University of Cambridge Aaron Zeckoski, CARET, University of Cambridge Josh Ryan, Arizona State University Colin Clark, Adaptive.
Understand Web Page Development Software Development Fundamentals LESSON 4.1.
Yahoo! Confidential1 Yahoo! Experiences with Accessibility, DHTML, and Ajax in Rich Internet Applications CSUN, March 23 rd, 2006 Victor TsaranVictor Tsaran.
® IBM Software Group © 2007 IBM Corporation Accessible Rich Internet Applications and Online Services Rich Schwerdtfeger IBM Distinguished Engineer, Chair.
Project 1 Introduction to HTML.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
AJAX & By – Anupama Sharma. Defining Ajax Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Web Design Basic Concepts.
Scripted, Tab Accessible Tree Control Hierarchical view of data via tree control. Keyboard Navigation from initially closed tree to view above with focus.
Client/Server Architectures
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.
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
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.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Real World Accessibility Becky Gibson Dojo Accessibility Lead IBM Web Accessibility Architect.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Yahoo! User Interface (YUI) Library Natly Mekdara.
Yahoo! Experiences with Accessibility in DHTML and RIA Nate Koechley Senior Engineer & Designer, Yahoo! User Interface (YUI) Library Team Platform Engineering.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
September 15, 2015 Laszlo Overview. 2 Copyright (c) 2007 Laszlo Systems, Inc. Laszlo Systems: Leader in RIA Software Pioneer of Rich Internet Applications.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
AJAX and Atlas in ASP.NET 2.0 William J. Steele MSDN Developer Evangelist Microsoft Corporation
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
Flash & JavaScript Mariela Hristova October 19, 2004 INF 385E – Fall 2004 – School of Information.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Accessible DOM scripting with ARIA Léonie Watson
Web Design and Development for E-Business By Jensen J. Zhao Copyright 2003 Prentice Hall, Inc. Web Design and Development for E-Business Jensen J. Zhao.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
Interactive Client-Side Technologies MMIS 656 Web Design Technologies Acknowledgements: Estrella, S. (2003). The Web Wizard’s Guide to DHTML and CSS.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
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.
Telerik Software Academy ASP.NET Web Forms Telerik Software Academy ASP.NET Web Forms.
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
Chapter 4: Working with ASP.NET Server Controls OUTLINE  What ASP.NET Server Controls are  How the ASP.NET run time processes the server controls on.
Cs332a_chapt10.ppt CS332A Advanced HTML Programming DHTML Dynamic Hypertext Markup Language A term describing a series of technologies Not a stand-a-lone.
Accessible DHTML Implementation Aaron Leventhal IBM Senior Engineer Firefox accessibility lead Firefox 1.5.
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
1 Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Doug Geoffray & Todd Kloots Capacity Building Institute Seattle, Washington
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
Chapter 10 Dynamic HTML (DHTML) JavaScript, Third Edition.
Ajax! Ajax Programming Ajax! Ajax Programming. Ajax! Ajax Programming Take a look at a typical desktop application (Spreadsheet app, etc.) The program.
1 Using jQuery JavaScript & jQuery the missing manual (Second Edition)
CSCI 3100 Tutorial 5 JavaScript & Ajax Jichuan Zeng Department of Computer Science and Engineering The Chinese University of Hong.
INNOV-16: Rich User Interface for the Web???? AJAX to the Rescue Ken Wilner VP of Technology Progress Software.
DHTML.
Using DHTML to Enhance Web Pages
Application with Cross-Platform GUI
AJAX.
DHTML Javascript Internet Technology.
Silverlight Technology
DHTML Javascript Internet Technology.
Lesson 9: GUI HTML Editors and Mobile Web Sites
Presentation transcript:

Yahoo! Confidential1 Yahoo! Experiences with Accessibility, DHTML, and Ajax in Rich Internet Applications CSUN, March 23 rd, 2006 Victor TsaranVictor Tsaran – Accessibility Project Manager, Yahoo! Inc. Nate KoechleyNate Koechley – Senior Engineer & Design Liaison, Yahoo! Inc.

Yahoo! Confidential2 Agenda Changing Landscape Definitions Four Approaches –Standards-based development –Redundant interfaces –Thorough, fortified interfaces –“Accessible DHTML” Looking Ahead

Yahoo! Confidential3 About Us Victor Tsaran –Accessibility Project Manager Nate Koechley –Senior Frontend Engineer –Technical Architect and Design Liaison –Presentation Platform Team

Yahoo! Confidential4 What’s Happening?

Yahoo! Confidential5 Browser vs. Desktop

Yahoo! Confidential6 Web 1.0 vs. Web 2.0

Yahoo! Confidential7 Yahoo’s “Alan Cooper” Model

Yahoo! Confidential8 Definitions

Yahoo! Confidential9 Definitions: DHTML DHTML is –markup and style made interactive and dynamic through script Generally, DHTML is JavaScript modifying CSS, HTML and the DOMDHTMLCSS HTMLDOM DHTML is not –a specific technology –inherently inaccessible –new

Yahoo! Confidential10 Definitions: AJAX / Ajax Asynchronous JavaScript and XML the ability to talk to the server without tearing down the existing page the ability to update part of the page Ajax is not –a specific technology –inherently inaccessible –new No server requests = it’s not Ajax AJAX is a subset of Ajax

Yahoo! Confidential11 Definitions: Rich Internet Applications (RIAs) Rich Internet Applications are: –web apps with features and functionality of traditional desktop applications –usable from any internet terminal – no installation required –can be created in various languages: Flash, JavaScript, Java today’s talk is focused on JavaScript RIAs

Yahoo! Confidential12 Definitions: Accessibility Accessibility is: –“A general term used to describe the degree to which a system is usable by as many people as possible without modification” (cite: wikipedia)wikipedia Often, our focus is on enabling screen- readers specifically –However, the resulting work in generally more far-reaching

Yahoo! Confidential13 What about Desktop Accessibility?

Yahoo! Confidential14 Accessibility on the Desktop Through various APIs… –Microsoft’s Active Accessibility (MSAA)MSAA –Sun’s Java Access BridgeAccess Bridge –Accessibility Toolkit for Linux (ATK)ATK …Software communicates to the operating system, which communicates with assistive technology.assistive technology Highly effective, resulting in nearly omnipresent accessibility.

Yahoo! Confidential15 But what about web accessibility?

Yahoo! Confidential16 Accessibility on the Web (1) Some information is provided to the desktop API –The Document Object Model (DOM) provides static information via semantic elements and attributes But…

Yahoo! Confidential17 Accessibility on the Web (2) … but the depth of necessary information is missing –Role, state, actions, caret, selection, children, relations, changes… And so are inputs and outputs –keyboard, focus, blur, change, updates.

Yahoo! Confidential18 So how can we move forward?

Yahoo! Confidential19 Four Techniques – Use ‘em All 1.Standards-based development 2.Redundant interfaces 3.Thorough, fortified interfaces 4.“Accessible DHTML”

Yahoo! Confidential20 Approach 1: Standards-based development Overview and Definition Subsequent layers enhance meaningful and structured markup Progressive and unobtrusive enhancement Make each layer a strong foundation Don’t corrupt neighboring layers

Yahoo! Confidential21 Approach 1: Standards-based development Examples Tab box is really anchored links and lists – well marked up content, available to all Unobtrusive JavaScript doesn’t Hijax links when it shouldn’tUnobtrusive JavaScriptHijax Stretching semantics to provide clues Microformats enrich date, and provide predictable hooks for add-onsMicroformats

Yahoo! Confidential22 Approach 1: Standards-based development Example: Tab-Panel box: complete

Yahoo! Confidential23 Approach 1: Standards-based development Example: Tab-Panel box: no CSS

Yahoo! Confidential24 Approach 1: Standards-based development Example: Tab-Panel box: no JavaScript

Yahoo! Confidential25 Approach 1: Standards-based development Benefits Should be doing this regardless Truly available to all The foundation of better things Works “with the grain” of web technologies A step toward a semantic web

Yahoo! Confidential26 Approach 1: Standards-based development Drawbacks Doesn’t solve every problem Perceived overhead Unobtrusive JavaScript and Hijax are still less familiar techniques Be careful not to step on event handlers Only trap clicks when appropriate Server must reply to both partial and complete requests from the client

Yahoo! Confidential27 Approach 2: Redundant interfaces Overview and Definition Multiple means of input GUI input vs. alphanumeric input Direct movement of objects vs. form-based movement Multiple means of manipulation Keyboard vs. Mouse Esc vs. Cancel Drag-drop vs. form-based

Yahoo! Confidential28 Approach 2: Redundant interfaces Example, 1D Slider Input Simple support for vertical and horizontal sliders as a direct-manipulation alternative to input boxes Enhances the basic input box, but need not replace it.

Yahoo! Confidential29 Approach 2: Redundant interfaces Example, 2D Slider Input

Yahoo! Confidential30 Approach 2: Redundant interfaces Example: Calendar Date Selector

Yahoo! Confidential31 Approach 2: Redundant interfaces Benefits Better for everybody Keyboard is important for ALL users Provide multiple familiar task paths Transfer the complete set of expectations from the desktop to the browser

Yahoo! Confidential32 Approach 2: Redundant interfaces Drawbacks Cannot fully communicate with the desktop’s accessibility APIs

Yahoo! Confidential33 Approach 3: Thorough, fortified interfaces Overview and Definition Now is the time to lay a new foundation Libraries and platforms must support all comers Not just the mouse, not just the keyboard Not just one key, but all keys Must offer a faithful and complete experience

Yahoo! Confidential34 Approach 3: Thorough, fortified interfaces Examples Menu

Yahoo! Confidential35 Approach 3: Thorough, fortified interfaces Example: Slider w/ Keyboard Controls –keyboard in addition to mouse controls

Yahoo! Confidential36 Approach 3: Thorough, fortified interfaces Benefits More options for everybody Supports many working styles Establish the new platform My prediction: new platform will last much longer than the 10 years of the previous platform

Yahoo! Confidential37 Approach 3: Thorough, fortified interfaces Drawbacks Isn’t easy Clients don’t always notice Requires personal integrity and commitment Seems more complete and heavy

Yahoo! Confidential38 Approach 4: “Accessible DHTML” Overview and Definition –IBM technology, now in W3C and open htmlhttp:// html –Allows embedded role and state metadata in HTML documents –Uses namespace extensions to XHTML 2, but Techniques allow most functionality in HTML 4 documents, as of today –Communicate directly with the desktop API

Yahoo! Confidential39 Approach 4: “Accessible DHTML” Examples: XHTML 2

Yahoo! Confidential40 Approach 4: “Accessible DHTML” Examples: HTML 4 <span id="slider" class="myslider myselector2 slider valuemin-0 valuemax-50 valuenow-33" tabindex="0" >

Yahoo! Confidential41 Approach 4: “Accessible DHTML” Benefits –Utilizes powerful and well-understood desktop API –Map controls, events, roles and states directly to powerful and well-understood desktop accessibility APIs –Enriches markup in standard way

Yahoo! Confidential42 Approach 4: “Accessible DHTML” Drawbacks –Requires recent-version of assistive technology software (e.g., screen reader) –Only works in Mozilla’s Firefox 1.5+ today Not in Microsoft’s IE 7, or others –XHTML required for full power HTML does not allow multiple states, for example –Emerging technology

Yahoo! Confidential43 Looking ahead… What is at risk if we don’t standardize on an accessible platform?

Yahoo! Confidential44 Open Questions Is there always an alternative to a mouse- based experience? (for example, with the mouse I can reorder the toolbars in MSWord. I’m not sure if this is possible without a mouse, or even necessary.) Partial-page updates remain difficult to communicate to the screen reader’s DOM buffer.

Yahoo! Confidential45 More Information Nate Koechley – – Victor Tsaran Yahoo! Developer Network and Y! UI Blog: – – – – –

Yahoo! Confidential46 END OF TALK NOTE: Remaining slides are candidates for inclusion, but will likely be dropped from the presentation.

Yahoo! Confidential47 Slider Slider Control –Simple support for vertical and horizontal sliders as a direct- manipulation alternative to input boxes –Simple API to script onChange behavior –Support for smooth or graduated slider action –Built-in support for click-to animation of slider –Builds on top of: Drag and Drop Utility Position Utility Animation Utility (optional)

Yahoo! Confidential48 Slider Slider: Beyond the Obvious –Look to desktop applications for inspiration for slider applications –Generally, consider a slider as an alternative to entering values that run along a continuum; for example: RGB values for color selection Amplitude of different variables in a prioritization algorithm Simple integer continuum

Yahoo! Confidential49 Slider

Yahoo! Confidential50 Calendar –Simple date selection widget that can be implemented with only a few lines of code –Fully client-side calendar navigation –Built-in multi-select or single-select capability, in single or two- up views –Out-of-the-box rich UED-approved look-and-feel standard across the Yahoo! Network –Support for advanced implementations such as: localization blacked-out date sets custom holiday formatting

Yahoo! Confidential51 Calendar var myCal; function init() { myCal = new ygCalendar(‘myCal’,’myCalContainer’); myCal.render(); }

Yahoo! Confidential52 Calendar Calendar: Beyond the Obvious –Highly adaptable API allows you to use the Calendar Widget as visual container for any data that can be organized by date — Flickr photo album Upcoming.org events Blog posts and comments –CSS styles can be overridden to develop custom styling for specific properties –The calendar’s advanced render stack allows the content of any given date cell to be dynamically altered by extending the base class, ygCalendar_Core, and using one or more callback functions –Other advanced options like minimum and maximum selection dates, week numbers, and which day the week begins on can be changed using the built-in configuration options

Yahoo! Confidential53 AutoComplete –Provides “as-you-type” list of matching items –List navigable via the mouse or keyboard –Configurable dropdown styles and animation –Data subset cache –Configurable delay prior to lookup –“Starts with” or “Contains” matching patterns –Limit-to-list feature (combo box vs. select box) –Common and custom data formats supported: Delimited text JavaScript Array literals

Yahoo! Confidential54 AutoComplete

Yahoo! Confidential55 TreeView TreeView Control –Flexible support for hierarchical information views: Table of contents Threaded discussion Hierarchical Menus –API gives you easy scripting access to interesting moments: When nodes are clicked When nodes expand When nodes contract –Support for dynamic loading of node contents –Styling driven entirely by CSS

Yahoo! Confidential56 TreeView