® IBM Software Group © 2007 IBM Corporation Web 2.0 Mashup Accessibility CSUN 2008 Rich Schwerdtfeger IBM Distinguished Engineer Peter Parente Software Engineer Emerging Technologies
®
IBM Software Group
© 2007 IBM Corporation
Web 2.0 Mashup AccessibilityCSUN 2008
Rich SchwerdtfegerIBM Distinguished Engineer
Peter ParenteSoftware Engineer Emerging Technologies
IBM Software Group
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
IBM Software Group
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
IBM Software Group
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
IBM Software Group
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
IBM Software Group
What is a Mashup? 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:
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
Pageflakes.com
**JSON – JavaScript Object Notaton
IBM Software Group
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.
IBM Software Group
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.
IBM Software Group
Examples of Enterprise MashupsCompetition Tracker / Web Site Sales – Customer Trip Prep
Data Center Administrator Mashup Collaborative Web App for Project Teams
IBM Software Group
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?
IBM Software Group
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
IBM Software Group
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
IBM Software Group
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)
IBM Software Group
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)
IBM Software Group
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.
IBM Software Group
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
IBM Software Group
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
IBM Software Group
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?
IBM Software Group
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
IBM Software Group
Take advantage of ability to:
Transform the user interface of resources (display and control)
Re-aggregate resources
Configure tools to meet user needs
IBM Software Group
On-Demand Personalization Broad Network
RSS/Atom
Blogsearch
Aggregating server (search, mashup, etc.)*DPE Server
Content and ACCMD
Device, User Agent,Environment, ACCLIP
*DPE – Device Profile Evolution
IBM Software Group
On-Demand Personalization Local Network
RSS/Atom
Blogsearch
Aggregating server (search, mashup, etc.) Identity Broker
Content and ACCMDACCLIP
ACCLIP
IBM Software Group
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
®
IBM Software Group
© 2007 IBM Corporation
For a copy of the presentation or more information, contact:
Rich Schwerdtfeger at [email protected]
Questions?