Re: Describing an application state in ATK, without Gtk
- From: Luca Saiu <lsaiu hypra fr>
- To: Alejandro Piñeiro <apinheiro igalia com>
- Cc: debian-accessibility lists debian org, gnome-accessibility-list gnome org
- Subject: Re: Describing an application state in ATK, without Gtk
- Date: Thu, 25 Jun 2015 19:16:19 +0200
Hello Alejandro, and the other people on the list. You've been kind the
last time, so I'm taking the liberty of writing you again.
I did make progress, but I'm still not quite there.
Before binding everything to Compiz I'm playing with a trivial SDL
application consisting in a single window which reacts to keyboard and
mouse events. I want to make that accessible, without using any
toolkit.
I've modified your "dummyatk" code from the at-spi2-atk testsuite (I had
to get the git version, for I was bitten by
https://bugzilla.gnome.org/show_bug.cgi?id=751138 ); I implemented the
Text role in MyAtkComponent or at least most of its methods (by the way,
I would like to know which are necessary; do I need all the
non-deprecated ones?), and initialized the bridge correctly as you
suggested. Now accerciser shows my widget tree, and so do the programs
in at-spi2-examples, thanks to your suggestions. Good.
The problem is that my application window is still not "seen" as
accessible. For example, when I use marco to switch to my window with
Ctrl+Tab, Orca vocalizes the window title followed by "inaccessible".
In the same way, brltty (I'm using the X11 driver) shows nothing.
I hadn't thought about this in advance, but now that I'm seeing the
problem it doesn't seem so surprising: there's nothing which binds (SDL)
window events to ATK. So I suppose I should explicitly emit ATK signals
from SDL (and, later, Compiz) event handlers, for example by calling
g_signal_emit_by_name . Is this correct?
Moreover, I'm not completely sure about the widget hierarchy I need.
Since the only thing I need to show is a label I'm tempted by the idea
of using only one Atk object, implementing all the needed roles
(only Component and Text?), probably of type window; however the ATK
documentation says that the root should have type application. I've
tried both and I don't see any difference, but I suspect one of the two
option may not work in the end. Shall I simulate a typical
(non-existing) interface with an application containing a window
containing a label, just to show the label? I can if needed, but I'd
prefer not to have to implement a different set of interface for the
window and the label. Am I completely free in this or shall I follow
some fixed schema?
Thanking you in advance,
--
Luca Saiu
HYPRA -- Progressons ensemble : http://hypra.fr
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]