[adeel420] Microsoft Active Accessibility

  • From: "Sajid Iqbal" <sajid_cyberspace@xxxxxxxxxx>
  • To: <"Undisclosed-Recipient:;"@smtp-2.hotpop.com>
  • Date: Fri, 22 Nov 2002 05:25:45 +0500

From the web site http://microsoft.com/enable

   Microsoft Active Accessibility Version 1.2 is Now Available

Microsoft has released a new, more reliable version of Active
Accessibility that also enables accessibility aids to work with
the English-language version of Microsoft Windows NT® 4.0 with
Service Pack 4. During the large and lengthy beta testing
process, many bugs from the previous version were fixed and
overall stability was enhanced.

First introduced in May 1997, Active Accessibility is a
technology that software developers employ to make programs more
accessible to people who use accessibility aids, such as screen
magnifiers and screen readers for people who are blind.
Fundamentally, Active Accessibility deals with what's on a
computer screen. For example, Active Accessibility helps
accessibility aids distinguish toolbars, menus, text, graphics,
columns, and cells (among many others), so that people with
disabilities can work with these screen elements more
effectively and reliably.

Because Active Accessibility is primarily a developers' tool, it
is built into operating systems, software programs, and
accessibility aids. People who use accessibility aids and who
are interested in the new version should contact their aid
vendor. Vendors will let their customers know the best course of
action for updating to Active Accessibility 1.2.

New Support for the Windows NT Operating System

One important improvement to Active Accessibility is support for
the Windows NT operating system. The recent release of Windows
NT 4.0 Service Pack 4 (SP4) helps in this effort, though the
support is somewhat limited.

SP4 is designed primarily to let accessibility aids work with
programs that are "native" Active Accessibility servers, such as
those in Microsoft® Office 97. Also, Active Accessibility is
supported only on the English-language version of Windows NT 4.0
SP4. Currently there are no plans to support international
versions of Windows NT 4.0.

Availability in Foreign Languages

The following outlines Microsoft's approach to providing
localized versions of Active Accessibility.
  * Windows® 95. Microsoft has no plans to provide localized
    versions of Active Accessibility.
  * Windows® 98. Already includes international support, and
    future Service Packs will contain updated, localized
    versions of Active Accessibility.
  * Windows NT® 4.0 and earlier. Microsoft has no plans to
    provide localized versions of Active Accessibility.
  * Windows® 2000 (previously called Windows NT 5.0). Full
    support for Active Accessibility will be available in all
    localized versions of Windows 2000.

How to Use the Redistribution Kit (RDK)

Active Accessibility run-time components are available in the
Redistribution Kit (RDK). Accessibility aid developers need to
include the RDK with their products if their products depend on
Active Accessibility, and if those products will be installed on
Windows 95 or Windows NT 4.0 SP4. Accessibility aid developers
do not need to include the RDK if their applications will be
installed only on Windows 98 and Windows 2000 because these
operating systems provide built-in support for Active
Accessibility.

When launched, the RDK (msaardk.exe) unpacks all the files,
copies the Active Accessibility dynamic-link libraries
(oleacc.dll and oleaccrc.dll) to the system directory, and
updates the system files. The RDK is designed for
English-language Windows 95 and Windows NT 4.0 systems only.

Software vendors who wish to include the Active Accessibility
run-time components in their products should join the Active
Accessibility beta program to receive the latest released code
and have an opportunity to test new versions before they are
released. See How to Join the Beta Program for more information.

For More Information

  * What Is Active Accessibility?
  * Benefits of Active Accessibility
  * Common Questions About Active Accessibility
  * Can People Who Use Aids Obtain New Versions of Active
    Accessibility?
  * Active Accessibility 1.2: Questions and Answers
  * Information for Developers About Active Accessibility

(c) 1997-1998 Microsoft Corporation. All rights reserved. Legal
Notices. Last updated on December 8, 1998.



----------
              About Microsoft Active Accessibility

To help individuals with disabilities use computers more easily
and effectively, Microsoft developed Active Accessibility. This
set of technologies improves the way programs and accessibility
aids work together, providing people with disabilities more
flexibility in choosing software and accessibility aids.

A new version of Active Accessibility was released in
mid-November 1998. It is more reliable and includes support for
accessibility aids running on the English-language version of
Microsoft® Windows NT® operating system.

----------
             What Is Microsoft Active Accessibility?

First introduced in May 1997, Microsoft Active Accessibility is
a technology that software developers can use to make computer
programs more accessible to people using accessibility aids,
such as screen magnifiers and screen readers for people who are
blind. Microsoft released version 1.2 of Active Accessibility in
mid-November, 1998.

While aids already convey information to computer users about
the contents of the computer screen, Active Accessibility
enables aids to convey even more information. For example,
Active Accessibility helps aids distinguish between toolbars,
menus, text, graphics, columns, and cells, so that people with
disabilities can work with these screen elements more
effectively and reliably.

Because it is an underlying technology, Active Accessibility has
no user interface. However, it must be in a user's operating
system to enable the aid to collect and convey information. When
users load an accessibility aid on their computers, the aid
installs the appropriate components on the operating system.
Active Accessibility is built into Microsoft Windows® 98 and
beta versions of Windows 2000, so people with these systems
already have the necessary components.

In addition to making accessibility aids better for people who
require them, Active Accessibility promotes the development of
more powerful tools by delivering a wealth of information,
including non-visual information. It can expand the capabilities
of testing tools and other specialized utilities.

Why Use Active Accessibility?

The goal of Active Accessibility is to allow an accessibility
aid to work with screen elements in a variety of programs
without any specialized knowledge of that program. In the past,
accessibility aid developers had to write custom code to work
with each individual program. This complicates the development
process of supporting new software programs and also makes it
more difficult to automatically support new features when a
program is updated.

Previously, the only approach to providing consistent access to
multiple programs was to restrict innovation in user interfaces
and require that each program use operating system-provided
controls and conventions. Active Accessibility resolves this
limitation by allowing program developers to innovate without
compromising accessibility.

Today, accessibility aids that use Active Accessibility work
with a wider variety of programs, and software programs that use
Active Accessibility are compatible with more accessibility
aids, utilities and other tools.

More Information Is Available

Because Active Accessibility retrieves information directly from
software programs, it gives accessibility aids data about screen
elements that previously had not been available to these aids.
For example, a screen reader now has access to information about
a screen element's relationship to other items on the screen.
This allows screen readers to follow the logical order of items
on a screen, regardless of visual layout.

Accessibility aids that use Active Accessibility can give a user
information about:
  * User interface elements - the controls, toolbars, menus,
    dialog boxes, and so forth that appear in the program's user
    interface or within some documents.
  * Document contents - the text and graphics that compose the
    document, including information about those items that may
    not be available (such as annotations, comments or images).
  * Document structure - how the document is organized into
    paragraphs, sections, tables, cells, columns, and so forth,
    and the identity of those elements.

Active Accessibility Already Is in Use

Active Accessibility already is incorporated in many software
programs, such as those in Microsoft Office 97 and Microsoft
Internet Explorer 3.0 and 4.01. It also is used by a wide range
of accessibility aids, speech recognition systems, and testing
utilities. More information about the products that use Active
Accessibility will be available soon.

----------
        Benefits of Using Microsoft Active Accessibility

Active Accessibility provides benefits both for users of
accessibility aids and for developers.

It enables people who have accessibility aids to use software
programs more effectively, and it increases the number of
programs they can work with.

For developers, Active Accessibility is a solution to some hard
compatibility and functionality problems. Accessibility aid
developers have had to keep up with an increasingly wider range
of programs, and software program developers have had to make
programs more accessible. Without a standard for how to make
programs and aids work better together, it has been difficult
for these developers to coordinate their efforts.

Active Accessibility addresses these problems by providing a way
for the operating system and programs to cooperate with
accessibility aids and ultimately provide more meaningful
information to computer users. It replaces older techniques that
were less portable and reliable. Active Accessibility includes a
set of Microsoft Windows® operating system functions with
documentation, sample programs, and development and testing
tools.

Developers now can innovate more freely with their program's
user interface without sacrificing compatibility with
accessibility aids. They know what steps are required to be
compatible with aids. Aids now can be created to get program or
operating system information not previously available to them,
such as how to read a column of text.

Although built for the accessibility community, Active
Accessibility has many potential uses. It can make available
parts of the Windows operating system that are otherwise not
accessible to developers, and can therefore be used to create
automated testing tools.

----------
      Common Questions About Microsoft Active Accessibility

Q: How do people with disabilities get Active Accessibility?
Active Accessibility is built into operating systems,
accessibility aids, and software programs. It is not a consumer
product, like a word processor, that can be purchased
off-the-shelf. People interested in Active Accessibility can
talk with aid vendors for more information about which aids have
it.

Q: How would someone know if an accessibility aid uses Active
Accessibility?
People who want to know if a specific accessibility aid uses
Active Accessibility should contact the manufacturer of that
aid. Contact information for many accessibility aid vendors is
available from Microsoft's catalog of accessibility products.
See Accessibility Aids and Resources for more information.

Q: What are accessibility aids?
Accessibility aids are specialized programs and devices that
help people with disabilities use computers more effectively.
There are many types of aids. Some examples include screen
enlarger utilities for people who have low vision, screen review
utilities for people who are blind, voice input utilities for
people who provide verbal commands to their computer instead of
using a keyboard or mouse, and keyboard enhancement utilities
for people who have difficulty with standard keyboard behavior.
See Accessibility Aids and Resources for more information.

Q: Is Active Accessibility year 2000 (Y2K) compliant?
Microsoft has already reviewed Active Accessibility for Y2K
compliance. Because Active Accessibility is merely a conduit of
information, it does not manipulate dates or perform
calculations that could cause Y2K problems.

Q: Active Accessibility 1.0 didn't work with any languages other
than English, is this fixed?
Yes. Microsoft Windows 98 includes international versions of
Active Accessibility for each language that Windows 98 supports.
Therefore, if you have the Czech version of Windows 98, you also
have the Czech version of Active Accessibility. While Windows
95 and Windows NT® 4.0 (with Service Pack 4) support only the
English-language version of Active Accessibility, Windows 2000
will provide full international support for Active
Accessibility.

Q: It seems like only Microsoft programs provide Active
Accessibility information. Do other companies plan to use Active
Accessibility?
Many other companies are investigating or using Active
Accessibility. Microsoft is actively promoting its benefits to
the software industry, the accessibility community and others
with the expectation that increasing awareness of Active
Accessibility will encourage other companies to include it in
their products. A complete list of products that provide and use
Active Accessibility will be available on this Web site shortly.

Q: When will Active Accessibility be available for the Microsoft
Windows CE operating system?
Currently, Windows CE does not have the necessary architecture
to support "in-process COM servers," a requirement of Active
Accessibility. Work is in progress to resolve this and include
support for Active Accessibility in a future version.

Q: How do developers get Active Accessibility?
Developers must first download the Active Accessibility Software
Developers Kit (SDK) and then join the Active Accessibility beta
program to receive the current run-time components. See How
Developers Can Obtain Active Accessibility for more information
and to download the SDK.

Q: What is the Software Development Kit (SDK)?
The Active Accessibility SDK is for software developers. It
includes the Active Accessibility run-time components, sample
source code, libraries, header files, sample applications and
documentation for Active Accessibility. The SDK enables
developers to create accessibility aids and applications using
Active Accessibility technology. (Note that the SDK, which was
created for use with Active Accessibility 1.0, is currently
being updated for the latest version of Active Accessibility.
Also see How Developers Can Obtain Active Accessibility for more
information.

Q: What is the Redistribution Kit (RDK)?
The RDK contains the run-time components that developers need to
incorporate Active Accessibility technology into their client
applications. Accessibility aids and other client applications
need to include the RDK with their installation program so that
the self-installing package can copy the necessary files into
the Microsoft Windows® operating system. Complete information
about redistributing Active Accessibility with an accessibility
aid or any client application is available in the Active
Accessibility Client Developer Package, which includes the RDK,
release notes, and a license agreement. This package is
available to developers who are part of the Active Accessibility
beta program. See How Developers Can Obtain Active Accessibility
for more information.

Q. What is the latest version of Active Accessibility?
Active Accessibility version 1.2 is available now. It is more
reliable than earlier versions and includes support for
accessibility aids running on the Windows NT operating system.
See Version 1.2 of Active Accessibility Is Now Available for
more information about this release.

Q: How does Active Accessibility compare to the Microsoft Screen
Access Model?
These two technologies complement each other by addressing
different aspects of computer accessibility. Active
Accessibility enables developers to create or update
accessibility-aware applications and provides a standard way for
accessibility aids to interact with them. When available, the
Screen Access Model will provide additional sources of
information for accessibility aids and also will provide an
information storage mechanism for information collected by
Active Accessibility and other sources. Using the Screen Access
Model, accessibility aids will be able to collect information
about text and graphics drawn on the screen by applications that
do not support Active Accessibility.

Q: What about security?
Although Active Accessibility does make available portions of
the operating system that are not available through other
programming techniques, it doesn't breach the security of the
operating system.

Q: Does Active Accessibility work with Java applications?
Yes. Microsoft has developed Active Accessibility for Java
specifications, allowing any Java application to make
information about its user interface elements available to
accessibility aids. Applications built with Microsoft's
Application Foundation Classes for Java automatically include
this support without additional work by developers. The
Microsoft Virtual Machine for Java seamlessly handles
communication between a Windows-based client that uses Active
Accessibility information and a Java application that exposes
it. See Active Accessibility for Java for more information.

----------
Can People Who Use Accessibility Aids Obtain New Versions of
Microsoft® Active AccessibilityTM

Active Accessibility is built into operating systems,
accessibility aids, and software programs. It is not a consumer
program, like a word processor, that can be purchased
off-the-shelf.

People interested in the most up-to-date version of Active
Accessibility should first talk with their aid vendor. It is the
vendor's decision whether to use Active Accessibility and
whether to upgrade their aids when new versions of Active
Accessibility are developed and released. They will let their
customers know the best course of action.

The recommended approach to obtaining Active Accessibility
version 1.2 is summarized below by operating system.

  * Microsoft Windows® 95, Windows 98 and Windows 2000. Contact
    the accessibility aid vendor to obtain the latest version of
    their aid and to find out how to upgrade the operating
    system components. The vendor may ship these components with
    the upgraded aid, or may ask their customers to download
    them from Microsoft.
  * Microsoft Windows NT® 4.0. Contact the accessibility aid
    vendor for the latest upgrade of their aid and install
    Windows NT 4.0 Service Pack 4. Service Pack 4 must be
    installed prior to installing an upgraded aid. Please note
    that only English-language versions of Windows NT 4.0 are
    supported with Active Accessibility.
  * Microsoft Windows® 3.1, Microsoft Windows for Workgroups
    3.11 and Microsoft Windows NT® 3.51. Active Accessibility is
    not available for these operating systems. However, people
    should contact their accessibility aid vendor for
    information about what aids are available for these systems
    and how to use them.
  * Microsoft Windows® CE. People using Windows CE should
    contact their accessibility aid vendor. Support is planned
    in a future version of Active Accessibility, but is not
    currently available.

----------
Microsoft Active Accessibility Version 1.2: Questions and Answers

Q. What improvements does Active Accessibility 1.2 offer?
The major goal of Active Accessibility 1.2 was to improve
quality and stability. The Active Accessibility development team
worked closely with software vendors during production and code
testing to ensure this goal was achieved. A significant change
in Active Accessibility 1.2 is its limited support for
accessibility aids running on the English-language version of
Microsoft Windows NT® 4.0 with Service Pack 4. This support
allows some accessibility aids to work with programs that
implement Active Accessibility natively, such as those in
Microsoft® Office 97.

Q. What do you mean by "programs that implement Active
Accessibility natively?"
Programs that use custom user interface elements must implement
the Active Accessibility COM interface (IAccessible) to expose
these elements to accessibility aids. Only applications that
implement this interface will work properly with Active
Accessibility 1.2 on Windows NT 4.0 Service Pack 4.0 (SP4).
Although Active Accessibility 1.2 does automatically provide
support for some controls on Windows NT 4.0 SP4, this support is
limited.

Q. Is Active Accessibility available for all the languages that
Windows NT 4.0 supports?
Unfortunately, no. Full international support for Active
Accessibility on the Windows NT platform will be available in
Microsoft Windows® 2000 (previously called Windows NT 5.0).

Q. Do accessibility aids need to include the new Active
Accessibility Redistribution Kit (RDK) to work with the
English-language version of Windows NT 4.0 Service Pack 4?
Yes. In order to support Active Accessibility, Windows NT 4.0
Service Pack 4 requires the Active Accessibility 1.2 RDK.
Earlier versions of Active Accessibility do not work with
Service Pack 4.

Q. Where can accessibility aid users get Active Accessibility
1.2?
Active Accessibility is built into operating systems,
accessibility aids, and software programs. It is not a consumer
product, like a word processor, that can be purchased
off-the-shelf. People interested in version 1.2 should contact
their accessibility aid vendor. They will let their customers
know the best course of action.

Q. Do I need Active Accessibility 1.2 for my accessibility aid
running on Windows 95 or Windows 98?
Not necessarily, although some accessibility aids may benefit
from the enhancements made to Active Accessibility 1.2. You
should contact your accessibility aid vendor for more
information.

Q. When will Microsoft provide international versions of Active
Accessibility?
As new operating systems are released, Microsoft will provide
this support. For example, Microsoft Windows 98 includes
localized versions of Active Accessibility. The next version of
Microsoft Windows NT, now called Microsoft Windows 2000, will
also support localized versions of Active Accessibility for all
languages supported by Windows 2000. This version will also
support multiple, simultaneous languages through the
multi-language user interface. Microsoft currently has no plans
to provide localized versions of Active Accessibility for
Microsoft Windows® 95 or Windows NT 4.0.

----------
    How Developers Can Obtain Microsoft Active Accessibility

Active Accessibility technology is used by both client and
server developers. Active Accessibility clients are programs
such as accessibility aids that use Active Accessibility to
obtain information about the user interface of other
applications and the operating system. Servers are programs such
as word processors that provide information about the contents
of the computer screen that is within their control.

Components Are Available in Two Kits

Active Accessibility components are available in two kits: the
Software Developers Kit (SDK) and the run-time components, which
are packaged in the Redistribution Kit (RDK). For more
information about the SDK, see The Software Developers Kit for
Active Accessibility.

The run-time components must be on the computer of a person who
is using an accessibility aid. Either the components come with
their operating system, or the RDK must be distributed with the
aid so that those components will load on to the computer.

What Is in the RDK

The RDK contains core system files that enable communication
between Active Accessibility clients and servers. These files
let a client program take advantage of the information provided
by servers.

The RDK installs the Active Accessibility libraries onto
Microsoft Windows® 95 or Microsoft Windows NT® 4.0 with Service
Pack 4 operating systems. Microsoft Windows® 98 and beta copies
of Windows 2000 include these files as part of their
installation, so the RDK isn't necessary.

What Client Developers Should Do

In general, developers who create clients should use the SDK to
develop their software, and then include the RDK in their setup
program to ensure the run-time components get installed.
Depending on the operating system for which the client was
developed, it may not be necessary to use the RDK.
  * Clients developed for Windows 95 or Windows NT 4.0.
    Developers who update their accessibility aids should
    include the RDK along with any updates.
  * Clients developed solely for Windows 98 and Windows 2000.
    Developers who update their accessibility aids do not need
    to ship the RDK. The new components are included in the
    Windows 98 update that can be downloaded from Windows
    Update. The new components also are included in Windows
    2000, beta 3.

People who develop client programs should get the Client
Developer Package. This package contains the RDK (the run-time
components), release notes and a license agreement. The Client
Developer Package is available only from the Active
Accessibility Beta Program.

What Server Developers Should Do

People who develop server applications should download the
Active Accessibility Software Developers Kit and install the
latest run-time components to test with. Developers can get the
run-time components by updating their operating system with the
Windows Update feature or using the RDK.

----------
      The Software Developers Kit (SDK) for Microsoft Active
                          Accessibility

The Active Accessibility Software Developers Kit (SDK) is
intended solely for software developers who wish to incorporate
Active Accessibility into their products. The SDK contains
documentation, sample source code, and tools to incorporate
Active Accessibility into both client and server applications.
Clients are programs such as accessibility aids that use Active
Accessibility to obtain information, and servers are programs
that provide information, such as word processors.

Contents of the Active Accessibility SDK Version 1.0

Version 1.0 of the SDK is the current release and contains these
components:
  * Documentation in HTML, Microsoft Word, and Microsoft Windows
    Help formats
  * Testing tools
  * Sample source code
  * Header files and libraries
  * Version 1.0 of the Active Accessibility run-time components

Developers of both Active Accessibility clients and servers
should download the Active Accessibility SDK. It is currently in
the process of being updated to version 1.2. Three stages of
updates are planned, starting with the most critical components.
The completely updated SDK version 1.2 should be available in
March 1999.

Additionally, developers of Active Accessibility clients should
get the latest Active Accessibility Client Developer Package.
This package contains the current run-time components (packaged
as the Redistribution Kit, or RDK), release notes and license
agreement. To get this package, developers must join the Active
Accessibility Beta Program.

Important Notes About the Active Accessibility SDK Version 1.0

  * The SDK will install only on Microsoft Windows® 95 and
    Windows 98. It will present an error message when installing
    on Microsoft Windows NT® or Windows 2000. Active
    Accessibility run-time components can be used on the Windows
    NT platform, but, unfortunately, the SDK 1.0 will not
    install. While this is in the process of being fixed, there
    is a temporary work-around. First install the SDK on a
    computer running Windows 95 or Windows 98, then copy the
    samples, libraries and header files to the appropriate
    directory on the computer running Windows NT.
  * Installing the Active Accessibility run-time components on
    international versions of Windows 95 and Windows NT® 4.0
    Service Pack 4 (SP4) will cause some text, such as dialog
    boxes, to be converted to English. Microsoft does not
    support these configurations. Furthermore, if these Active
    Accessibility run-time components are installed on Far
    Eastern- or Middle Eastern-language versions of Windows 95
    or Windows NT 4.0 SP4, they may render the computer
    unbootable. Therefore, please do not install the Active
    Accessibility SDK on non-English versions of Windows 95 and
    Windows NT 4.0 SP4.

These limitations will be fixed in a planned update of the
Active Accessibility SDK.

To Download the SDK Now

If you want to download the SDK now, select the following:

Active Accessibility Software Developers Kit version 1.0 Release
Notes (text file, 17 KB)

Active Accessibility Software Developers Kit version 1.0 License
Agreement (text file, 12 KB)

Download the Active Accessibility Software Developers Kit
version 1.0 (self-extracting executable, 3,011 KB)

You will need to update to the latest Active Accessibility
run-time components (the RDK) after installing the SDK. See
Version 1.2 of Active Accessibility Is Now Available for
information about getting these components.

The Active Accessibility documentation is included as part of
the Windows Platform SDK. For more information go to the
Microsoft Developers Network .

----------
   How to Join the Microsoft Active Accessibility Beta Program

Software developers interested in Active Accessibility should
join the Active Accessibility beta program. As a member of the
Active Accessibility beta program, you will receive a package
that contains the latest released Redistribution Kit, current
release notes, and the license agreement covering redistribution
of Active Accessibility.

Additionally, a private newsgroup, staffed by Support Engineers,
is available to answer questions and resolve problems.

To join, please send the following information to
msaabeta@xxxxxxxxxxxxx:
  * Full Name
  * Title
  * Company
  * Physical Address (no Post Office boxes)
  * City, State, and Country
  * Postal/Zip Code
  * Phone Number (including country and/or area code)
  * Fax Number (including country and/or area code)
  * Internet E-mail Address
  * Web Site Address
  * Product Name

----------
Microsoft® Active Accessibility Technical Support for Developers

All technical support for Active Accessibility is provided by
Microsoft Technical Support, which offers several options,
ranging from Support Online to working directly with a Support
Engineer on the telephone for a fee. To help with support costs,
Microsoft is sponsoring a program to subsidize qualified
accessibility aid vendors. Please email enable@xxxxxxxxxxxxx for
more information about the subsidy and how to apply.

The Active Accessibility Newsgroup is a peer-to-peer newsgroup
where you can exchange information with other developers who use
Active Accessibility. Although some members of the Active
Accessibility team monitor this newsgroup, support from
Microsoft is not guaranteed. For more information about the
Microsoft newsgroups, see Rules of Conduct.

----------
      Details for Software Developers About Microsoft Active
                          Accessibility

Active Accessibility is based on the Component Object Model
(COM), the Microsoft-developed industry standard that defines a
common way for applications and operating systems to
communicate. Using Active Accessibility, applications, referred
to as servers, provide information about the contents of the
computer screen that is within their control. Accessibility
aids, referred to as clients, use Active Accessibility to obtain
information about the user interface of other applications and
the operating system.

This page provides a technical overview for developers about how
Active Accessibility works. This overview describes the
architecture and key application programming interface (API)
elements, and presents guidelines for both Active Accessibility
clients and servers.

COM Objects Represent User Interface Elements

With Active Accessibility, user interface elements are exposed
to clients as COM objects. These accessible objects maintain
pieces of information, called properties, which describe the
object's name, screen location, and other information needed by
accessibility aids. Accessible objects also provide methods,
which are functions that clients can call to cause the object to
perform some action.

Accessible objects are implemented using Active Accessibility's
COM-based IAccessible interface. This interface includes
functions such as IAccessible::get_accName and
IAccessible::accLocation, which allow clients to examine an
object's properties. The interface also provides methods such as
IAccessible::accDoDefaultAction and IAccessible::accHitTest,
which clients can call to cause the object to perform some
action.

Clients obtain information about or interact with an object by
calling the IAccessible properties and methods. Depending on the
user interface element, either Active Accessibility or a server
application implements the IAccessible methods and properties
that clients call.

Support for Operating System-Provided User Interface Elements

Active Accessibility uses the IAccessible interface to expose
operating system-provided user interface elements, such as
menus, scroll bars and dialog box controls. Any application that
contains these user interface elements automatically inherits
their accessibility. In other words, server applications do not
need to implement the IAccessible interface for operating
system-provided user interface elements because Active
Accessibility exposes these elements.

Server applications only need to implement the IAccessible
interface to expose custom user interface elements such as
floating tool palettes that are not already exposed by Active
Accessibility.

Dual Interface Provided

In addition to the IAccessible interface, accessible objects
also must support the standard COM interface IDispatch. The
IDispatch interface allows client applications written in
Microsoft Visual Basic® to access the methods exposed by
IAccessible. In other words, accessible objects provide a dual
interface, which provides access to the object indirectly
through IDispatch::Invoke or directly with IAccessible.

APIs Provide Clients Access to Objects

Active Accessibility provides Microsoft Win32 ® APIs such as
AccessibleObjectFromWindow and AccessibleObjectFromPoint, which
allow clients to retrieve information about accessible objects
in an application. These functions return either an IDispatch or
IAccessible interface pointer through which clients can get
information about the accessible object.

When a client calls AccessibleObjectFromWindow or any of the
other AccessibleObjectFromx APIs that retrieve an interface to
an object, Active Accessibility sends the Microsoft Windows®
operating system message WM_GETOBJECT to the appropriate server
application.

Server Responds to WM_GETOBJECT

If the window that receives the WM_GETOBJECT message implements
IAccessible, the window returns a reference to the IAccessible
interface using the API LresultFromObject. Active Accessibility,
in conjunction with the COM library, takes care of all the
details of getting the interface pointer from the server back to
the client.

If the window that receives the message does not implement
IAccessible, it should return 0. If the window does not handle
the WM_GETOBJECT message, the Windows API DefWindowProc returns
0.

If the server returns 0, Active Accessibility can still provide
the client with information about the object. For most
predefined objects such as list boxes and buttons, Active
Accessibility provides complete information, while for other
objects the information is limited. In any case, Active
Accessibility returns an IAccessible interface pointer that the
client can use to obtain information about the object.

Other APIs

Additional functions expose information that was previously
known only to the operating system. For example:
  * With Microsoft Windows® 95 and Windows 98, clients can call
    SetDDIHook to expose all video drawing operations using a
    new "Display Device Interface (DDI) Redirector." Similar
    functionality is included in Windows 2000 (previously called
    Microsoft Windows NT® 5.0). However, the two architectures
    are not interoperable.
  * Clients can call GetGUIThreadInfo to retrieve information
    such as the handle of the window that has the keyboard focus
    and the handle of the window that is displaying the caret.

WinEvents Notify Changes

Active Accessibility provides a mechanism called WinEvents that
allows servers to notify clients when an object has changed in
some manner. For example, events will signal:
  * When an object is created or destroyed.
  * When an object receives or loses focus.
  * When an object's state or location has changed.

Client applications tell the system which WinEvents they want to
know about by calling the SetWinEventHook function to register a
hook procedure. Using this function, the client sets one or more
hook functions that the system calls in response to particular
events. Hook functions can be located within the client's code
body, in a dynamic-link library (DLL) mapped into the client's
process, or in a DLL mapped into the server's process.

Servers call the function NotifyWinEvent whenever they need to
notify the system that an event has occurred. Active
Accessibility checks to see if any client applications have
expressed interest in the event, and calls the appropriate hook
procedures as necessary. If no clients are running, the
performance impact on servers for calling NotifyWinEvent is
negligible.

When it is called, the client's hook procedure receives a number
of parameters that describe the event and the object that
generated it. The hook procedure uses APIs like
AccessibleObjectFromEvent, to gain access to the object of
interest. Once the client retrieves the object, it can retrieve
its properties, make selections, or perform other actions
appropriate to the event.

Guidelines for Servers

For Active Accessibility to work as designed, servers must
cooperate in providing accessibility information to clients.
Active Accessibility servers should observe the following
guidelines:
  * Follow the design guidelines described in Checklist of
    accessibility design guidelines to make your application
    more accessible. Note that The Designed for Microsoft
    Windows Logo Program requires applications to support a
    number of accessibility features to qualify for the logo.
  * Create accessible objects by implementing the IAccessible
    properties and methods for your custom user interface
    elements and for your application's client area (if needed).
    Be sure to provide a dual interface (that is, support both
    IAccessible and IDispatch) so that clients written in Visual
    Basic can obtain information about the objects.
  * Call NotifyWinEvent to notify clients of user interface
    changes.
  * Handle WM_GETOBJECT to provide access to your accessible
    objects.

Guidelines for Clients

Clients should use the following Active Accessibility
functionality to obtain information about the contents of the
computer screen.
  * Obtain an IAccessible interface to objects by calling
    AccessibleObjectFromWindow, AccessibleObjectFromPoint, or
    AccessibleObjectFromEvent.
  * Examine and manipulate accessible objects using the
    IAccessible properties and methods.
  * Respond to WinEvents by calling SetWinEventHook to register
    a WinEvent callback function.

For More Information

  * How Developers Can Obtain Active Accessibility
  * The Software Developers Kit (SDK) for Active Accessibility
  * Technical Support for Developers
  * How to Join the Beta Program for Developers
  * General Information About Active Accessibility

(c) 1997-1998 Microsoft Corporation. All rights reserved. Legal
Notices. Last updated on December 9, 1998.

----------
From the web page
http://msdn.microsoft.com/developer/news/devnews/novdec98/msaa.htm

       MSDN News
November 2, 1998

Developing with Active Accessibility 1.2
by Charles Opperman

Summary: Discusses how Microsoft Active Accessibility version
1.2 programming interfaces are making the Microsoft Windows and
Windows NT platforms more accessible to people with
disabilities. (3 printed pages)


Introduction

Version 1.2 of the Microsoft Active Accessibility (AA) tools is
now available and, among other improvements, it includes support
for clients running on the Microsoft Windows NT platform.

Active Accessibility is technology developed by Microsoft to
make the Windows platform more accessible to people with
disabilities. This Component Object Model (COM)-based technology
allows applications to expose their user interface elements as
COM objects.

First introduced in 1997, Active Accessibility is implemented in
many applications and used by a wide range of accessibility
aids, speech recognition systems, and testing utilities.
Microsoft Office 97 implements Active Accessibility to expose
custom menus, toolbars, and dialog boxes. Microsoft Internet
Explorer 3.0 and Internet Explorer 4.01 expose the structure of
HTML documents using the Active Accessibility object model.

For consistency, Active Accessibility exposes normal Windows
system and common controls such as BUTTON and ToolBar32.
Application developers only need to implement Active
Accessibility when they create custom user interface elements
such as a floating tool palette or a custom grid control.
Developers wishing to implement Active Accessibility can
reference the Active Accessibility Software Developers Kit
included on the MSDN Library CD.

Clients can implement Active Accessibility to help the user
navigate the user interface of an application. The Microsoft
Magnifier included in Windows 98 uses Active Accessibility to
magnify the currently focused control. Voice input utilities can
gather information such as a list of menu items or controls in a
dialog box and use that to manipulate the user interface.

Version 1.2 of Active Accessibility brings about several
enhancements for clients. The basic interface, Iaccessible, has
not changed. The following section focuses on changes that
benefit client utilities.

What's New

Platforms Support

One of the most important improvements to Active Accessibility
is support for the Windows NT platform. Because Active
Accessibility was developed after Windows NT version 4.0
shipped, the necessary operating system support was not present
on Windows NT. This has been largely corrected with the
forthcoming Service Pack 4 for Windows NT 4.0. We say largely
corrected because those NT guys are real sticklers for quality
and do not want to sprinkle new code throughout the major
subsystems in a Service Pack.

The new APIs necessary for OLEACC to connect a client utility
with a server-side Active Accessibility provider application are
present, which allows applications to expose their custom user
interfaces, but not system controls such as BUTTON. This means
that Office 97 custom UI objects, such as command bars and
dialog boxes, can be queried. Microsoft's HTML engine in
Internet Explorer 3.0 and 4.01 also will work. As of this
writing, a Knowledge Base article is being prepared to detail
which objects are not supported under Windows NT 4.0. Current
beta versions of Windows NT 5.0 and the final release will
support all system UI objects and events. Future support for
Windows CE also is planned. See Figure 1 for a list of platforms
and languages supported.

A major complaint from client-side software vendors using Active
Accessibility was that version 1.0 supported only
English-language Windows 95. Starting with the release of
Windows 98, oleacc.dll has been localized for all the languages
in which Windows is available.

With version 1.2, oleacc.dll has a new resource dynamic-link
library (DLL), oleaccrc.dll, which contains the localized
strings. This means that accessibility aids querying
OLEACC-provided strings from the GetRoleText and GetStateText
APIs will get localized information. Unfortunately, because of
the core changes made to the USER and GDI components in Windows
95, only the English-language versions of Windows 95 is
supported. The same is true for Windows NT 4.0.

Improvements

A number of enhancements have been made to make Active
Accessibility more reliable and faster. Changes to the
LresultFromObject and ObjectFromLresult APIs provide more
consistency in the reference counting of objects. Active
Accessibility 1.2 also has benefited from a large and lengthy
beta testing process that has resulted in many bug fixes and
stability enhancements.

Redistribution

Active Accessibility is distributed in two forms-with Microsoft
operating systems such as Windows 98 and redistribution by
vendors of utilities that need the Active Accessibility
information exposed by applications and the operating system.
Only client utilities, which depend on getting Active
Accessibility information, need to ship the Active Accessibility
Redistribution Kit. Applications that expose Active
Accessibility properties and methods do not need to ship any
Active Accessibility components. The redistribution
kit-msaardk.exe-is available by registering at the Accessibility
and Disabilities Web site at http://www.microsoft.com/enable/.
This single file, when launched, will unpack all the files, copy
the oleacc.dll and oleaccrc.dll to the Windows system directory
and update Windows 95 system files to the correct level of
functionality needed. The msaardk.exe is designed for
English-language Windows 95 and Windows NT 4.0 systems only.

For Windows 98, Active Accessibility 1.2 is planned to be
included in a Service Pack that can be downloaded or ordered by
end users. Unlike previous versions of the Redistribution Kit,
the 1.2 version will not install on non-English language Windows
95 systems. Table 1 shows the matrix of platform support and
distribution method.

Table 1. Languages Supported by Active Accessibility and Method
of Distribution

  | Windows 95  | Windows 98  | Windows NT 4.0 on Intel (w/
Service Pack 4)  | Windows NT 5.0 on Intel and Alpha

Languages Supported  | English Only  | All  | English Only  |
All

Included in OS  | No  | Yes  | No  | Yes

Updated by Service Pack  | No  | Yes  | No  | Yes

Updated by client utility  | Yes  | No  | Yes  | No

Call to Action

If you develop accessibility aids, testing utilities, or any
other software that can benefit from the information provided by
Active Accessibility, please review the Active Accessibility
Software Developers Kit 1.0 included on the MSDN Library CD.
When you are ready to distribute your utility on Windows 95
and/or Windows NT 4.0, download the Active Accessibility
Redistribution Kit (msaardk.exe) from the Accessibility and
Disabilities Web site at http://www.microsoft.com/enable/ and
include that in your installation package.

If you develop mainstream applications, you should familiarize
yourself with the Windows logo program, which contains new
requirements for the user experience and accessibility.
Implementing Active Accessibility can help you comply with these
new requirements. Review your application's user interface and
ask the hard questions, such as "Can I use this without a
mouse?" and "Can people who are deaf or have low vision use my
application?" The Accessibility and Disabilities Web site has a
wealth of information on accessible design practices.

Remember that everyone acquires disabilities throughout their
life. Aging itself brings about many changes in our ability to
use a computer. By making software accessible to people with
disabilities, you are making software better for everyone.


(c) 1998 Microsoft Corporation. All rights reserved.

----------
End of Document


 


Other related posts:

  • » [adeel420] Microsoft Active Accessibility