250 likes | 348 Views
Web 2.0 Mashup Accessibility CSUN 2008 Rich Schwerdtfeger IBM Distinguished Engineer Peter Parente Software Engineer Emerging Technologies. Agenda. State of Web 2.0 Accessibility Quick look WAI-ARIA Introduction to the Programmable Web and Mashups IBM Mashup Accessibility Analysis
E N D
Web 2.0 Mashup AccessibilityCSUN 2008Rich SchwerdtfegerIBM Distinguished EngineerPeter ParenteSoftware Engineer Emerging Technologies
Agenda • State of Web 2.0 Accessibility • Quick look WAI-ARIA • Introduction to the Programmable Web and Mashups • IBM Mashup Accessibility Analysis • Short Term Solutions • Long Term: Flexible, Personalized Web
State of Accessibility for Web 2.0 • Tremendous progress on Web 2.0 Application accessibility • IBM led W3C Accessible Rich Internet Applications (WAI-ARIA) • Reusable, Accessible RIAs springing up: (Dojo AJAX Toolkit, JQuery) • IAccessible2, Gnome ATK/ATSPI Allows ATs full access to RIAs through the browser • AccProbe Test Tool, (Firefox, Opera, IE) browser support under way • ATV support: Window-Eyes, JAWS, ZoomText, Orca, NVDA • WAI ARIA – Allows for • Full interoperability with ATs • Keyboard usability of the desktop • Semantics for content adaptation • Accessibility of all applications has its limitations • One size fits all • Great if you control all the content/code • The web is becoming programmable and distributed
Quick Look at WAI-ARIA • Extends and fills gaps in (X)HTML to support accessibility • Uses Meta data found in Rich Desktop Applications to provide for full interoperability with assistive technologies • Role, state, property information for widgets • Identify Drag and Drop information • Defines relationships between UI components • Provides information to handle live regions • Provides navigational landmarks • Allows Web authors to provide desktop keyboard navigation • Tab to significant areas and arrow within the widget • All HTML keyboard accessible • Allows all items to be focusable without impacting the tab order • Is cross-cutting and helps all users
The programmable web • Companies making Web 2.0 API public as a service API • Fragments, data, reusable widgets • programmableweb.com > 660 APIs • RSS and Atom Data Feeds made public • Opportunity for rapid Web 2.0 application development *RSS – Real Simple Syndication
A mashup is a web application combining data or capabilities from more than one source into an integrated experience Popular on the consumer web - over 3.45 new mashups/day are appearing: What is a Mashup? Pageflakes.com Zillow SeatSnapper • What typically characterizes a mashup? • Lightweight integration of applications (enables rapid development) • “Widgets” that make up a mashup are often developed and deployed independently without knowledge of each other • Widgets can be mashed and wired together in the browser • Utilize web technologies like HTTP, **JSON, XML, JavaScript, Atom, RSS • Often incorporates one or more public API and online services • Often, mashups can be customized by the end user **JSON – JavaScript Object Notaton
What is a Widget? • A widget is a portable chunk of code that can run in any web application without requiring separate compilation • How is a widget different than a portlet? • Widgets are URL addressable fragments and can be written in any language (Java, .NET, PHP, etc.). Portlets are Java code. • Widgets can be as simple as an HTML fragment, so they don’t have to involve any server side code (but they can). • Simplicity of model enables developers to learn how to create widgets in a matter of hours versus days. • Widgets don’t have a complex packaging structure or require a complex deployment model. • >> A simple “hello world” widget can be written in a tool like Dreamweaver, and the file can copied into the file structure on the server. A “hello world” portlet would require a Java-based tool and also consists of multiple files, packaging, and deployment. • No widget standards and many vendors have created their own names: gadgets, blocks, flakes, etc.
Mashups are Catching on in the Enterprise, But Why? • Lightweight integration enables rapid development and lowers skill set requirements • Enables the creation of applications that were previously too costly to build (like situational applications) • Extends web app development beyond IT – out to even knowledge workers • Reduces IT backlog • Availability of many widgets and gadgets allows organizations to assemble applications at a lower cost • Once a component is developed, it can be easily reused across different applications, regardless of the underlying technology • .NET and J2EE and PHP widgets can communicate together on a page • .NET + PHP widgets can be mashed into a J2EE-based app (and vice versa) • Wire up for interoperability Gartner: By 2010, more than 30% of Global 2000 organizations will enter a new era of end-user computing via user-assembled, composite applications created with enterprise mashup environments.
Examples of Enterprise Mashups Competition Tracker / Web Site Sales – Customer Trip Prep Data Center Administrator Mashup Collaborative Web App for Project Teams
Accessibility/Usability Wild Wild West - issues from content aggregation are extensive • Is the resource accessible? • Will the accessible resource meet my needs (WAI-ARIA is new)? • Can the resource be adapted to fit my needs? • If the resource cannot meet my needs is there an equivalent alternative? • Will the Mashup have consistent keyboard support? • Is the end solution too cluttered to assist all users? • Will restructuring the mashup produce a more usable solution?
Accessibility Study QED Wiki • No Accessibility Assessment of Data Feeds (RSS/Atom) • Keyboard problems • Conflicting accelerator keys, tab ordering, IDs, etc. • Content from a remote service traps input focus • Dynamic content inappropriately grabs focus • Inaccessible services • No WAI-ARIA support • No keyboard support • Fixed sizes, styles, and layout (Can’t respond to system settings –font/color) • Interaction inconsistencies • Different defaults • Different paradigms • Disrespect for local user settings • Invisible relationships • Missing status indicators for widgets • Missing controller-controlled by relations among widgets • Drag/Drop Layout construction problems
Near term solutions • Mashup runtime environment must take responsibility for exposing relations among widgets. • Use WAI-ARIA relationships (controls, flowto, labelledby) • Use WAI-ARIA to mark regional landmarks (main, secondary, contentinfo, etc.) • Mashup runtime should attempt to repair any problems it can. • Compute a global tab ordering by inspecting explicit tabindex in widgets. • Fix overlapping IDs. (Store Widgets in IFrames where possible) • Override widget styling. • Mashup designer tooling must support creation of accessible mashups. • Provide reusable accessible widgets when available • Prompt user for WAI-ARIA information when possible • Ultimately, must address the accessibility of the original widget content. • Services providers must adopt WAI-ARIA
Near Term solutions for Mashup construction • Layout grid templates for widgets • Allows all users to use keyboard to navigate pre-designed template • Use WAI-ARIA to apply keyboard navigation/semantics to the grid • Provide accessible utilities to wire up widgets • Ensure mashup UI consists of accessible WAI-ARIA enabled components (Dojo Toolkit)
Aggregation issues expose bigger problems which also create business opportunity • One size fits all approach • Usable access may require equivalent alternatives • Content Aggregators: Unaware if a resource is accessible (Web 2.0 mashups)
Problems with one-size fits all • Learning disabilities needs vary greatly • Managing content density, highlighting specific text, providing different color schemes, use of symbols, etc. • Complex visualizations may require equivalent alternatives for blind consumers • Use of closed captioning or transcripts depends on the language spoken by the consumer • Restructuring content may benefit mobility impaired user • Does not adapt to the environment the user is operating in • High background noise, low light, temporary mobility impairment, etc.
Basis for the solution resides in the learning space • IMS Access For All Specifications (Version 2 under development now) • ISO JTC1 SC36 Standard nearly final http://www.imsglobal.org/accessibility *DC – **LOM – Learning Object Metadata
Access for All Standards • A description of the user’s personal needs and preferences (*ACCLIP) • A description of a digital resource (**ACCMD) • Can be used with or without other personal profiles and other resource metadata *ACCLIP – Accessibility Learner Information Package **ACCMD – Accessibility Meta Data
Business Value • Personalization • How much business is lost when people walk away from an online purchase? • What additional revenue could search companies realize if results were easier to use (advertising service contracts)? • Aging workforce, with cash, don’t want to show they have a disability • Service opportunity for ATVs and accessibility consulting • Corporations improve effectiveness of e-training • When does a person’s environment make the IT unusable? • Resource Metadata • Lawsuits: How does the content aggregator show they did not produce the inaccessible resource? • System Admin: What accessibility standards did the resource comply to and can I deploy it?
Strategy Moving Forward – Demands Personalization • Address accessibility of resource content • Continue to evangelize and drive industry toward WAI-ARIA adoption • Develop Best Practices for addressing accessibility Merge Issues • Perform accessibility study of data feeds (RSS, ATOM, others) • Identify transformations needed (Fluid Project) • Develop “flexible internet highway infrastructure” map user preferences with the appropriate resource and adapt the resource where necessary • Develop standards for resource meta data and user preferences (IMS AccessForAll) • Work with W3C/**OMA Deliver user preferences over *DPE? • Deliver Accessibility Preferences from identity brokers? • Potential – Fluid Project • Drive Industry Adoption of flexible highway • Providing resource meta data (catalog of accessibility capabilities and equivalent resources • Drive understanding of business value *DPE – Device Profile Evolution **OMA – Open Mobile Alliance
Take advantage of ability to: • Transform the user interface of resources (display and control) • Re-aggregate resources • Configure tools to meet user needs
RSS/Atom search Blog Content and ACCMD Aggregating server (search, mashup, etc.) *DPE Server Device, User Agent, Environment, ACCLIP On-Demand Personalization Broad Network *DPE – Device Profile Evolution
On-Demand Personalization Local Network RSS/Atom search Blog Content and ACCMD ACCLIP Aggregating server (search, mashup, etc.) Identity Broker ACCLIP
Summary • Mashups are in the early stages of addressing accessibility • Like WAI-ARIA, IBM is leading to get us ahead of the curve • WAI-ARIA places usable access on equal playing field with desktopbut Mashups could undo the good work • Reusable WAI-ARIA enabled toolkits, like Dojo, are on the rise – Use them • The advancement of the Web mandates an Open Accessibility Strategy • Open architectures • Open standards • Open Source • Leverage social collaboration! • Proprietary creates barriers! • The time is now to move to a more flexible, accessible web • Critical for content aggregation • Essential for addressing learning and cognitive accessibility • Addressing broader accessibility issue will generate significant business value
For a copy of the presentation or more information, contact:Rich Schwerdtfeger at schwer@us.ibm.comQuestions?