SWG Accessibility Strategy Rich Schwerdtfeger
Download
Report
Transcript SWG Accessibility Strategy Rich Schwerdtfeger
®
IBM Software Group
Web 2.0 Mashup Accessibility
CSUN 2008
Rich Schwerdtfeger
IBM Distinguished Engineer
Peter Parente
Software Engineer
Emerging Technologies
© 2007 IBM Corporation
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:
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
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 Mashups
Competition Tracker / Web Site
Data Center Administrator Mashup
Sales – Customer Trip Prep
Collaborative Web App for Project Teams
IBM Software Group
Mashup Example
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
search
Blog
Content and ACCMD
Aggregating server (search, mashup, etc.)
Device, User Agent,
Environment, ACCLIP
*DPE – Device Profile Evolution
*DPE
Server
IBM Software Group
On-Demand Personalization Local Network
RSS/Atom
search
Blog
Content and ACCMD
ACCLIP
Aggregating server (search, mashup, etc.)
ACCLIP
Identity
Broker
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 desktop
but 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
For a copy of the presentation or more information, contact:
Rich Schwerdtfeger at [email protected]
Questions?
© 2007 IBM Corporation