Content by Category
.NET 1.x
.NET 2.0
.NET 3.0
.NET 3.5
.NET 4.0
.NET Assemblies
.NET Framework
.NET Getting Started
Accessibility
ADO.NET
Advertorials
Agile Development
AJAX
Architecture
ASP.NET
ASP.NET MVC
ASP.NET WebForms
Azure
B2B (Business Integration)
Bing
BizTalk
Book Excerpts
Build and Deploy
C#
C++
ClickOnce
Cloud Computing
Code Contracts
CODE on the Road!
COM+
Community
Conferences
Continuous Integration
Crystal Reports
CSLA.NET
CSS
Data
Design Patterns
Development Process
Display Technologies
Distributed Computing
DotNetNuke
DSL
Dynamic Programming
Editorials
Enterprise Services ("COM+")
Entity Framework
Events
Expression Blend
F#
Fox to Fox
Frameworks
Functional Programming
Git
Graphics
Internet Explorer 8.0
Interviews
iPhone
Iron Ruby
Java
Java Script
jQuery
LINQ
Linux
Mac OS X
MDX
Microsoft Application Blocks
Microsoft Business Rules Framework
Microsoft Dynamics
Microsoft Expression
Microsoft Office
Mobile Development
Mobile PC
Mono
MsBuild
Network
NHibernate
Object Oriented Development
Open Source
Opinion
Opinions
Oracle
ORM
Other Languages
Parallel Programming
Patterns
Podcasts
Post Mortem
PowerPoint
Print/Output
Product News
Product Reviews
Project Management
Python
Q&A
Rails
Rake
Reporting Services
REST
RIA Services
Ruby
Ruby on Rails
Search
Security
Services
SharePoint
Silverlight
SOA
Social Networks
Software & Law
Software Business
Source Control
Speech-Enabled Applications
SQL Server
SQL Server 2000
SQL Server 2005
SQL Server 2008
SQL Server CE/AnyWhere/Mobile/Compact
Subversion
Sync Framework
Tablet PC
TDD
Team System
Techniques
Testing and Quality Control
Tips
UI Design
UML
User Groups
VB Script
VB.NET
Version Control
VFP and .NET
VFP and SQL Server
Virtual Earth
Vista
Visual Basic
Visual Basic 6 (and older)
Visual FoxPro
Visual Studio .NET
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Visual Studio Tools for Office
VSX
WCF
Web Development (general)
Web Services
WF
Whitepapers
Windows 7
Windows Azure
Windows Live
Windows Server
Windows Vista
WinForms
Workflow
WPF
XAML
XML
XNA
XSLT



Devscovery


 


DevLink

Reader rating:
Article source: CoDe (2008 - Vol. 5 - Issue 4 - Windows Accessibility Focus)

Open Accessibility

Creating a natural user interface requires designers, testers, and developers working in concert to develop the right support that makes multi-modal access to an operating system and applications possible. To assist in this work through the Accessibility Interoperability Alliance (AIA), Microsoft® released its UI Automation Specifications with a Community Promise and released testing tools as open source projects via CodePlex. Microsoft is committed to interoperable accessibility.

Making Technology Accessible and Interoperable

The purpose of the AIA, formed recently by a coalition of the world’s leading information and assistive technology (AT) companies, is to foster industry-wide collaboration aimed at reducing many of the barriers that people with disabilities frequently encounter when they try to access information and communication technologies, including Web sites.

To create accessible technology products today, developers work across multiple platforms, application models, and types of hardware. To address interoperability issues arising from this current environment, the AIA is using a two-part strategy: First, the group is working to harmonize current technologies to interoperate more easily, reducing costs for developers and creating more usable products for customers. Second, it is working to create a unified accessibility model that will serve the entire industry. In order to support backwards compatibility and bridging technology to a full UI Automation implementation, Microsoft released the UI Automation Specification with the UI Automation, Microsoft Active Accessibility, and IAccessibleEx specifications.

"
UI Automation allows developers to create assistive technologies across all platforms and help a larger number of users access technology in their daily lives.
"

Microsoft also released the UI Automation Specification to the AIA, an engineering working group dedicated to making it easier for developers to create software, hardware, and Web-based products that are accessible to people with disabilities. The UI Automation specification describes the latest accessibility framework technology developed by Microsoft, and will help developers include advanced accessibility functionality into implementations designed for use on any operating system.

UI Automation allows developers to create assistive technologies across all platforms and help a larger number of users access technology in their daily lives. By making UI Automation freely available Microsoft hopes to increase the accessibility of many information and communication technologies and to drive cross-platform interoperability.

Microsoft UI Automation: An Innovative Accessibility Model

UI Automation, a next-generation accessibility programming model, simplifies development and reduces costs for AT developers as well as IT application developers who want to make their software compatible with AT products, such as screen readers for people who are blind. UI Automation, which is available for Windows® XP, Windows Vista®, Windows 7, and is built into the Windows Presentation Foundation (WPF), Silverlight™ 2 and in additional products, offers developers a richer and more efficient way to convey user interface commands and behaviors to a person through their AT product.

UI Automation represents what the interface can do rather than how it is presented visually, making it easier for both the application developer and assistive technology developers to create rich experiences for their users, including people who are blind. AT products built using UI Automation will require fewer updates and fewer customizations for specific applications, because they can intelligently interact with user interfaces and controls that have yet to be invented.

Linux Implementation

Microsoft developed UI Automation from the start to be compatible for implementation on platforms other than Windows. Starting in 2008, a Novell team is implementing UI Automation for Linux and will support SUSE, Ubuntu, and Red Hat and make the code available to other Linux distributions. Their implementation work has several goals:

  • Make WinForms accessible
  • Make Moonlight accessible
  • Implement UI Automation technologies

Mono is an open source project sponsored by Novell which implements software to develop and run .NET client and server applications on Windows, Linux, Solaris, Mac OS X, and UNIX. Based upon the Mono Web site, Novell believes that Mono is well positioned to become the leading application development platform for Linux.

"
…Microsoft has agreed to grant a royalty-free license for any patents necessary to implement required portions of the UI Automation Specification…
"

Implementing UI Automation on Linux retains the existing Linux accessibility frameworks. UI Automation will integrate with the AT-SPI and ATK accessibility frameworks by implementing the client interfaces in a bridge that will act as a translation layer between the frameworks.

Open Source Tools

Keeping with its commitment to help the community build better experiences for people that use assistive technology, Microsoft released two new testing tools as open source on the CodePlex shared code site. The UI Accessibility Checker (AccChecker) a Microsoft Active Accessibility® testing tool and UI Automation Verify (UIA Verify), a UI Automation testing tool, were released in March 2008. These tools are targeted at both developers and testers to provide support for the development process to create and ship products that meet the needs of assistive technology users.

UI Accessibility Checker

AccChecker enables testers, without prior experience with accessibility testing, to easily discover accessibility problems with Microsoft Active Accessibility and other user interface (UI) implementations. AccChecker was born from the realization that existing Microsoft Active Accessibility tools, such as Inspect and AccExplorer, provided in-depth details on the implementation, but no information on the correctness of the accessibility implementation.

UI Automation Verify Test Automation Framework

UIA Verify is the second accessibility-testing tool available on CodePlex. UIA Verify is a test automation framework that features the User Interface Automation Test Library (UIA Test Library) and Visual UI Automation Verify (Visual UIA Verify), the graphical user interface (GUI) tool. The framework facilitates manual and automated testing of the Microsoft UI Automation Provider implementation of a control or application. The majority of the UIA Verify functionality is provided through a dynamic link library (such as UIATestLibrary.dll) that contains the code for testing specific UI Automation functionality and supports logging of the test results.

"
Microsoft is continuing its commitment to accessibility by creating innovative accessibility APIs and testing tools and releasing them with a Community Promise or as open source projects.
"

About the Community Promise

As a member of the AIA, Microsoft has agreed to grant a royalty-free license for any Microsoft patents necessary to implement required portions of the UI Automation Specification, as the specification may be modified and eventually published by the AIA. Companies also can implement the latest version of the UI Automation Specification, which is publicly available from Microsoft. The Community Promise that accompanies the UI Automation Specification permits royalty-free access to Microsoft patent claims necessary to implement required portions of both mandatory and optional parts of the UI Automation Specification.

Committed to Open Accessibility

Microsoft is continuing its commitment to accessibility by creating innovative accessibility APIs and testing tools and releasing them with a Community Promise or as open source projects. This open approach to accessibility technology allowed Novell to start development of UI Automation for Linux; it should also enable the development of lower-cost, interoperable solutions that ultimately make technology accessible to greater numbers of people throughout the world.

Resources

Accessibility Interoperability Alliance http://www.accessinteropalliance.org/

UI Automation Community Promise http://msdn.microsoft.com/en-us/accessibility/bb892136.aspx

Novell UI Automation Accessibility Project http://www.mono-project.com/Accessibility

CodePlex project hosting Web site http://codeplex.com/

Norm Hodne

&

By: Norm Hodne

Norm Hodne is the Lead Program Manager in the Windows Experience Group responsible for the accessibility APIs, accessibility applications, and the speech commanding and dictation features shipped in Windows.

Norm also is a representative to the INCITS V2 standards organization where he works on standards related to accessibility.

normanho@microsoft.com

Fast Facts

Novell will implement UI Automation for Moonlight that will provide accessibility capabilities for Silverlight applications on Linux.


AIA Membership

The Accessibility Interoperability Alliance offers membership to IT and AT companies, as well as to non-governmental organizations (NGOs).

The AIA is committed to developing and enhancing standards and promoting the adoption of the standards to support the estimated one in four computer users that can benefit from AT applications.


AIA Steering Committee

The Steering Committee for the Accessibility Interoperability Alliance includes five members. The Steering Committee includes Qualilife and GWMicro in the AT member category, IBM and Adobe in the IT member category, and Microsoft as the at-large member.



How would you rate the quality of this article?
1 2 3 4 5
Poor      Outstanding

Tell us why you rated the content this way. (optional)

Average rating:
2.5 out of 5

11 people have rated this article.

      iPhone iPad Developers Conference

 

CODE TRAINING