Re: Doubt about ATK and AT-SPI states



On 06/14/2011 01:51 AM, Eitan Isaacson wrote:

The problem here is that a state_set is created from zero when you call ref_state. So when you call ref_state_set you get the state, and although you add it by hand using add_state_set, in the next ref_state_set the state will be created again, and probably with this state.

In general, the idea here is that the object is responsible of his own state.

More information here:

https://bugzilla.gnome.org/show_bug.cgi?id=635807

With ATK, I think you need to call atk_object_notify_state_change
after setting the state to actually have AT-SPI send an event (which
accerciser listens for).

Well, yes, using that accerciser would listen that state change. But the state_set of the object itself would still be the same. If accerciser is refreshed it would call ref_state_set and getting the same outcome.

On Mon, Jun 13, 2011 at 4:38 PM, Aline Bessa<alibezz gmail com>  wrote:
Hi everybody!

Accerciser told me that a little demo I was doing has the following problem:

a widget that should have states FOCUSABLE or SELECTABLE does not have none.
This is a general problem: I would like to add a state in a widget in such a
way that I could fix this.

Well, gail via atk just exposes the state of the widget. So go back to your app. You are saying that your widget should have the state FOCUSABLE or SELECTABLE. But is your widget in that state? Why your widget doesn't expose that? Sometimes the errors that expose Accerciser is not a ATK problem. Which widget are you using?

I tried adding an ATK state via
https://gist.github.com/7f384f5f88a12965d10b.

The C code tells me the state was correctly added, but Accerciser still
doesn't find it. :P

See above, that bug link. It explains why.

After that, I decided to add an AT-SPI state instead of an ATK one, but I'm
having troubles to compile it. I have the /usr/include/at-spi-1.0 directory,
so I added<cspi/spi.h>  in the proper header and -I/usr/include/at-spi-1.0
in the Makefile CFLAGS, but it says the methods from spi.h are undefined
references... If anyone has any idea of how to solve it, please let me know.
I've been struggling with it for a good time right now and google's not
helping.

As Eitan said, don't use cspi for that:
* cspi is intended for AT applications, not to hack the a11y support of an app
  * cspi is deprecated

More than that: if anyone knows whether ATK states are a better choice,
please let me know how to make it work.

I don't understand this paragraph.

BR

PS: BTW, probably gnome-accessibility-devel would be the proper list for this kind of questions.

--
Alejandro Piñeiro Iglesias (API) (apinheiro igalia com)



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