Hi, I have some general questions regarding the proposed IAccessible2 standard for Win32 platforms. As I am in the process to spend the python a11y wrapper, I'm currently developing, Win32 support, I was recommended to settle on IA2 as it should ease the development of a11y aware applications on Windows and fills some serious gaps MSAA currently has.
I surely can agree with this, but regarding compatibility, distribution
and availability I have some concerns I'd like to sort out before
starting with the development.
First of all I'd like to know, whether linking to the IAccessible2Proxy
DLL and using its functions is the only thing I have to take care of as
application (or in my case toolkit) developer in order to offer all
necessary support for accessibility systems on Win32 platforms?
My understanding so far is that the IAccessible2Proxy DLL wraps up MSAA
and adds some additional functionality, MSAA does not offer. The
conclusion would be that any MSAA aware technology, software or whatever
else is able receive and provide information via the IAccessible2Proxy
DLL, either by responding to (invoking) the underlying MSAA methods,
which are wrapped up, or by using the IA2 interfaces directly. Is this
correct or is an interaction like the following impossible?
From application to AT system:
Application ------> IA2Proxy --------> MSAA ----------> AT system
calls invokes interacts
with
From AT system to application:
AT system ---------> MSAA --------------> IA2Proxy ---------> Application
invokes/ recognized by feedback
reacts
The flow above simply means: Application calls IA2Proxy function, which
calls the wrapped MSAA function, which is recognized by the AT system.
The AT system (in turn or due to user input) reacts or interacts by
calling the MSAA function, whic,h due to its wrapping, is hooked into
IA2Proxy, which gives the feedback to the wanted application.
So far for the low-level technical questions.
While discussing with Pete the other day on IRC, he recommended not to
distribute the IAccessible2Proxy DLL with my toolkit as the AT systems
should ship it. That's a recommendation I cannot second due to at least
two reasons:
- Developers who want to add accessibility to their application will
need a working accessibility environment to verify correct
functionality. The majority of them possibly does not have an AT
system around, but merely stick to the software testing tools
available out there, which also might (and should?) not ship with the
proxy DLL. As a developer usually should know what he does,
(un)registering the shipped DLL would not be a big deal for him.
- Disabled people who do not own an AT system that ships with the DLL
might not benefit from parts or all of the application's features as
it requires the IA2 interfaces, which are not installed.
The second reason brings up the last question I have for now. As I
already told Pete, not anyone has the newest AT system version and I
guess many of those relying on an AT system are not willing to buy an
upgrade or new version of it (in case it's a commercial one, like JAWS
or Window-Eyes).
In fact I'm currently in contact with a blind developer, who uses
Window-Eyes 4.x, which might not get an update that ships with the DLL
(is there someone from GWMicro or FreedomScientific reading, who can
give some more details regarding this issue?).
Affording an upgrade to the most recent version that ships with the DLL
is no option for him at the moment as spending $400-$600 for an upgrade
(or even worse buying a new version for around $1000) is out of his
limits at the moment. This might be the case for several people who have
to rely on an AT system.
Thus I wonder, if older AT systems have any limitation regarding the IA2
specs (without the enhanced functionality), e.g. not being able to
communicate with it through MSAA as IA2 needs some special negotiation
process or whatever else?
Regards
Marcus
pgpWfseoGPwcp.pgp
Description: PGP signature
_______________________________________________ Accessibility-ia2 mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/accessibility-ia2
