Web 2.0 Mashup Accessibility CSUN 2008
Post on 09-Dec-2014
Embed Size (px)
- 1. Web 2.0 Mashup Accessibility CSUN 2008 Rich Schwerdtfeger IBM Distinguished Engineer Peter Parente Software EngineerEmerging Technologies
- 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
3. 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
4. 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
5. 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 6. What is a Mashup?
- Amashupis 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 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
- Often incorporates one or more public API and online services
- Often, mashups can be customized by the end user
- Awidgetis 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 dont 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 dont have a complex packaging structure or require a complex deployment model.
- >> A simple hello worldwidgetcan be written in a tool like Dreamweaver, and the file can copied into the file structure on the server.A hello worldportletwould 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.
8. Mashups are Catching on in the Enterprise, But Why?
- Lightweight integration enablesrapid developmentandlowers 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 alower cost
- Once a component is developed, it can be easilyreusedacross 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.
9. Examples of Enterprise Mashups Competition Tracker / Web Site Sales Customer Trip Prep Data Center Administrator Mashup Collaborative Web App for Project Teams 10. Mashup Example 11. 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?
12. 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 (Cant 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
13. 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
14. 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)
15. 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)
16. 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.
17. 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
*DC **LOM Learning Object Metadata 18. Access for All Standards
- A description of the users 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 19. Business Value
- 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, dont want to show they have a disability
- Service opportunity for ATVs and accessibility consulting
- Corporations improve effectiveness of e-training
- When does a persons 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?
20. 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 21. Take advantage of ability to:
- Transform the user interface of resources (display and control)
- Re-aggregate resources
- Configure tools to meet user needs
22. On-Demand Personalization Broad Network *DPE Device Profile Evolution RSS/Atom Blog search Aggregating server (search, mashup, etc.) *DPE Server Content and ACCMD Device, User Agent, Environment, ACCLIP 23. On-Demand Personalization Local Network RSS/Atom Blog search Aggregating server (search, mashup, etc.) Identity Broker Content and ACCMD ACCLIP ACCLIP 24. 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
25. For a copy of the presentation or more information, contact: Rich Schwerdtfeger at[email_address] Questions?