Piñeiro | 4 Jun 14:45 2012

Re: Some thoughts about deprecating pyatspi and moving to introspected libatspi

On 05/29/2012 03:11 PM, Piñeiro wrote:
> Hi,
>
> last week we talked about that during IRC and it was also an item on the
> weekly meeting. Mike Gorse has an action item to make some
> investigation, but meanwhile I would like to start a little debate as
> part of that investigation.

FWIW, during last weekly meeting we discussed a little about this. You
can read the minutes and the log here:

https://live.gnome.org/Accessibility/Minutes/20120531

From those minutes:

"Conclusion: for now, the decision to deprecate pyatspi2 in favour of
object-introspected atspi is postponed, until we investigate this more. "

BR

--

-- 
Alejandro Piñeiro Iglesias
Mike Gorse | 5 Jun 18:28 2012

ANNOUNCE: AT-SPI 2.5.2 released

AT-SPI 2.5.2 is now available for download at:

http://download.gnome.org/sources/at-spi2-core/2.5/
http://download.gnome.org/sources/pyatspi/2.5/

What is AT-SPI2
===============

AT-SPI2 is a D-Bus based accessibility framework. It defines a D-Bus
protocol for providing and accessing application accessibility
information. The project includes a library for bridging the D-Bus
protocol to the ATK API, allowing Gtk based applications to be made
accessible. It also contains a client (AT) side library in C and a wrapper
for Python.

What's changed in AT-SPI 2.5.2

* [core] Fix a crash when a call to fetch a hyperlink times out.

* [core] Fix C++ compilation.

* [core] Remove a warning that was sometimes logged when a method call timed out.

* [core] Fix crash in atspi_deregister_keystroke_listener (FDO#50578)

* [pyatspi] More Python 3 fixes.

* [pyatspi] Fix getStates regression (BGO#677070)

Where can I get more information about AT-SPI2
(Continue reading)

Piñeiro | 18 Jun 09:34 2012

Re: A11y always-on in gnome-shell and GTK+ (was Re: A11y always-on in gnome-shell)

On 06/15/2012 06:52 PM, Bastien Nocera wrote:
>
>> You will need to update to at-spi2-atk master to get the newly split out
>> atk-bridge library.
>>
>> File bugs if you see any problems.
> The next step would be to make the atk-bridge not snoop on keys when
> there are no clients, so as to reduce the overhead.

Strange, I thought that it was already the case, atk-bridge not
registering to any event (key snooping included) unless one client is
listening.

Mike, could you confirm that?

BR

--

-- 
Alejandro Piñeiro Iglesias
Mike Gorse | 19 Jun 05:05 2012

Re: A11y always-on in gnome-shell and GTK+ (was Re: A11y always-on in gnome-shell)

On Mon, 18 Jun 2012, Piñeiro wrote:

> On 06/15/2012 06:52 PM, Bastien Nocera wrote:
>> The next step would be to make the atk-bridge not snoop on keys when
>> there are no clients, so as to reduce the overhead.
>
> Strange, I thought that it was already the case, atk-bridge not
> registering to any event (key snooping included) unless one client is
> listening.
>
> Mike, could you confirm that?

It probably should be doing this, but, alas, it isn't. Right now 
atk-bridge has no way of knowing whether any keystroke listeners are 
active. I think we would want to do one of the following:

- add a DBus property that indicates whether any keystroke listeners are 
present, and have at-spi2-registryd send a PropertiesChanged signal as 
appropriate when this changes.

- Have at-spi2-registryd send signals when a listener is added or removed. 
Add a method to retrieve the currently-active listeners. Perhaps have 
atk-bridge send keystroke notifications to the listening applications 
directly rather than at-spi2-registryd being in the middle.

- Take at-spi2-registryd out of the business of handling listeners 
altogether. When a new application starts, have libatspi somehow notify it 
if a keystroke listener is present.

The first option seems easiest, and I'm tempted to go with it since I 
(Continue reading)

Piñeiro | 19 Jun 13:05 2012

Re: A11y always-on in gnome-shell and GTK+ (was Re: A11y always-on in gnome-shell)

Removing desktop-devel list from CC.

> It probably should be doing this, but, alas, it isn't. Right now
> atk-bridge has no way of knowing whether any keystroke listeners are
> active. I think we would want to do one of the following:

I don't understand this. Looking at the code, the bridge is the one that
calls atk_add_key_event_listener, and also the one that call
atk_remove_key_event_listener on cleanup and if no client is listening.

Having said so, I really think that the problem found by Bastien was
related with this bug:

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

After solving it (yesterday), I don't see any clutter key listener if no
AT is around.

BR

--

-- 
Alejandro Piñeiro Iglesias
Mike Gorse | 19 Jun 16:10 2012

Re: A11y always-on in gnome-shell and GTK+ (was Re: A11y always-on in gnome-shell)

On Mon, 18 Jun 2012, Mike Gorse wrote:

>> Strange, I thought that it was already the case, atk-bridge not
>> registering to any event (key snooping included) unless one client is
>> listening.
>> 
>> Mike, could you confirm that?
>
> It probably should be doing this, but, alas, it isn't. Right now atk-bridge

Actually, I was misremembering; it is doing this already, sort of. If no 
AT clients are listening, then it does disable most event listeners, 
including keystroke listeners, but it is all or nothing (if a client 
registers either an event or a keystroke listener, then applications are 
notified that a client has registered, so all listeners get registered, 
meaning that keystroke listeners get activated even if a client has only 
registered event listeners, which isn't ideal.)
Piñeiro | 22 Jun 13:39 2012

About where to place the implementation of atk_add_global_event_listener

Hi,

disclaimer: first try to forget the debate about global events vs
relevant evetns. As that debate doesn't have any conclusion, for the
moment we just have global events.

If you recall, one of the reasons to only allow to register to ATK
events on atk_add_global_event_listener[1], was the possibility to stop
to ask the toolkits to implement this method. After all this right now,
the implementation is basically a wrapper to g_signal_add_emission_hook,
so the implementation for Gtk and Clutter are basically the same.

At that moment the idea was about implementing this on ATK, providing a
default implementation for that method. But yesterday, while looking at
that (as part of trying to solve bug 678310) I start to wonder myself if
at this moment the proper place is ATK. What changed since then? That
now we have the bridge as a library, and possibly in the future,
toolkit/apps could ask for the bridge.

So I'm wondering if that hook should be implemented on the ATK bridge
instead of ATK itself. After all, the main consumer of that method is
the bridge, and can be implemented there. So, options:

Options a)
  * Implement it on Atk
  * Provide a default implementation for that AtkUtil virtual method,
discourage toolkits to reimplement that method on the documentation

Option b)
  * Implement it on at-spi2-atk
(Continue reading)

Piñeiro | 26 Jun 01:32 2012

ATK 2.5.3 released

About ATK
=========

GNOME provides support for accessibility devices using the ATK
framework. This framework defines a set of interfaces to which
graphical interface components adhere. This allows, for instance,
screen readers to read the text of an interface and interact with its
controls. ATK support is built into GTK+ and the rest of the GNOME
platform, so any application using GTK+ will have reasonable
accessibility support for free.

Nonetheless, you should be aware of accessibility issues when when
developing your applications. Although GTK+ interfaces provide
reasonable accessibility by default, you can often improve how well
your program behaves with accessibility tools by providing additional
information to ATK. If you develop custom widgets, you should ensure
that they expose their properties to ATK. You should also avoid using
sound, graphics, or color as the sole means of conveying information
to the user.

The GNOME desktop ships with a number of accessibility tools which
enable users with disabilities to take full advantage of their desktop
and applications. Applications that fully implement ATK will be able
to work with the accessibility tools. GNOME's accessibility tools
include a screen reader, a screen magnifier, an on-screen keyboard,
and Dasher, an predictive text entry tool.

News
====
* Added extra doc on atk_remove_[key/global]_event_listener
(Continue reading)

Mike Gorse | 26 Jun 01:54 2012

ANNOUNCE: AT-SPI 2.5.3 released

AT-SPI 2.5.3 is now available for download at:

http://download.gnome.org/sources/at-spi2-core/2.5/
http://download.gnome.org/sources/at-spi2-atk/2.5/
http://download.gnome.org/sources/pyatspi/2.5/

What is AT-SPI2
===============

AT-SPI2 is a D-Bus based accessibility framework. It defines a D-Bus
protocol for providing and accessing application accessibility
information. The project includes a library for bridging the D-Bus
protocol to the ATK API, allowing Gtk based applications to be made
accessible. It also contains a client (AT) side library in C and a wrapper
for Python.

What's changed in AT-SPI 2.5.3

* [core] Fix a memory leak (BGO#678738)

* [atk] Create a library (libatk-bridge), currently with
   atk_bridge_adaptor_init() and atk_bridge_adaptor_cleanup() functions, to
   facilitate linking directly into, ie GTK+ 3.

* [atk] Only register events at beginning if an AT is listening (BGO#678475).

* [atk] Use XDG_RUNTIME_DIR to hold the socket, rather than a potentially
   insecure directory hard-coded under /tmp (BGO#678348).

* [atk] Fix various compiler warnings and build errors.
(Continue reading)


Gmane