Re: [orca-list] orca suggestion



On Tue, Apr 01, 2008 at 10:10:29PM -0400, Josh wrote:
I have a suggestion for the orca screen reader. Instead of relying totally 
on at spi, for programs like skype that don't use at spi. could orca use API 
hooking or some kind of object gathering method to read these programs? 

Not reliably, no. I don't know the full details, but off-screen models under
Microsoft Windows were originally built by making undocumented and unreliable
calls to operating system interfaces. This may still happen to some extent;
I'm not familiar with how screen readers on that platform are implemented
these days. The main problem with off-screen models was that they were often
inaccurate, and did not reliably track changes to the user interface.

Similar difficulties were found, as I understand it, when the Mercator project
tried to extract the required information from the X Window System via the X
protocol. This is why they devised the concept of an accessibility API,
through which the desktop environment and applications would inform the
assistive technology of the objects in the user interface and the events
taking place during the interaction with the user. Of course, this requires
the user interface library relied upon by each application to cooperate by
implementing the accessibility API, and it also requires the application to
be implemented appropriately. The major advantage of this is that the
assistive technology obtains the information that it needs. The disadvantage
is that applications and user interface components with which they are built
have to cooperate.

To understand why this approach was taken, it is important to appreciate why,
as outlined above, the other attempts (not involving extensions to user
interface libraries and components) failed.

Since most software for Linux systems is free and open-source, it is possible
for interested developers to make the necessary enhancements to support the
accessibility API, where necessary. In the case of proprietary software, this
is entirely the responsibility of the vendor, who may or may not be
cooperative.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]