[Kde-accessibility] focus tracking

PiƱeiro apinheiro at igalia.com
Mon Jul 5 09:02:03 BST 2010

From: Jos Poortvliet <jospoortvliet at gmail.com>

>> > Ok, thanks all for the responses. A couple of questions if you don't mind, to check I understand this properly:
>> > - AT-SPI does not have a way of tracking focus for magnification purposes?
>> AT-SPI provides a way of tracking focus in general. Not just for
>> magnification purposes.
>> > - So Gnome-Mag has developed an API for this, but it's currently CORBA based and thus needs changing
>> gnome-mag has developed an API so other apps can use it. Yes, the
>> current one is CORBA based, work in progress to migrate to DBUS. [1]
> So 'other apps', does that mean Orca and other screenreaders, or does that mean EVERY application needs to support it for the magnification to be able to follow focus?!?

API defined by gnome-mag (and in the future the same in gs-mag) is
just the API to control it. ie [1]:
  * start the magnification
  * set the zoom level
  * full screen/just a region
  * set cross wire
  * etc

As you see this is really magnification-specific things. But ...

> Or can any magnification tool follow focus in any app which supports AT-SPI properly? Sorry, I don't really know how all this is chained together....

... focus tracking (as far as I understand this feature) is a basic
feature and provided by AT-SPI years ago. Some examples:

  * On at-spi2-core/idl/event.idl you have the Focus event definition
  * pyatspi2/pyatspi/appevent.py manages some focus related things

And apps were using this focus tracking for years. Examples:

  * orca/src/orca/focus_tracking_presenter.py

So, the API defined on the magnification tools are used to manage them
properly. As in gnome the idea is use Orca to use them, we try to
define the same equal in the current two magnifiers. If you want to
control the magnifier you need to use it.

Focus tracking (get the active app, get the object with the keyboard
focus, get notification about any change in the object with the focus,
...) is an AT-SPI task, implemented for years. So you don't need to be
a magnifier app to keep track of the focus. Ie: accerciser, the a11y
debug tool on gnome does something similar, and it is not a
magnification tool at all.

>> I don't understand this paragraph sorry. What it is required to be
>> implemented by eg OO.o? What feature are you missing?
> I think I'm misunderstanding something here...
> I'm mostly concerned with getting the magnification (either in Compiz, KWin, Gnome-magnifier or KMag) to follow focus - so does that need changes in applications or not? Is AT-SPI support enough?

First question: you don't need changes on the applications being
"obverved" (ie. gedit). You'll need changes on the AT apps, the ones
that wants to follow the focus.

Second question:  Yes, AFAIK.


[1] http://live.gnome.org/GnomeShell/Magnification#D-Bus

API (apinheiro at igalia.com)

More information about the kde-core-devel mailing list