After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 83134 - not accessible widget
not accessible widget
Status: RESOLVED FIXED
Product: at-spi
Classification: Platform
Component: atkbridge
1.0.x
Other Linux
: High major
: GNOME2.x
Assigned To: bill.haneman
Luis Villa
Depends on:
Blocks:
 
 
Reported: 2002-05-27 09:20 UTC by remus draica
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4


Attachments
Proposed patch (3.45 KB, patch)
2002-11-15 09:32 UTC, padraig.obriain
none Details | Review

Description remus draica 2002-05-27 09:20:07 UTC
Overview:
   No event from gnome-cd/cddb track editor.
Steps to reproduce:
   Start gnome-cd application. Push Track editor push button.
Actual result:
   No event from at-spi.
Expected results:
   Events according with user actions.
Comment 1 Iain 2002-05-29 20:00:32 UTC
This button is just made the same way as all the others, so can you
give me a way to test this?
Comment 2 remus draica 2002-05-30 09:24:39 UTC
Not the button itself has problems, the new opened window. This window
is not accessible.
Comment 3 Iain 2002-05-30 11:32:56 UTC
That window is a seperate program called cddb-track-editor, so that
might be the problem. It should be accessible, as most of it's widgets
are the standard ones.
Comment 4 deepa 2002-07-03 12:51:48 UTC
Did you load gail-gnome ?
i.e set GTK_MODULES=gail:atk-bridge:gail-gnome

cddb-track-editor being a bonobo component will require gail-gnome to 
be loaded. Bill ?
Comment 5 bill.haneman 2002-07-03 13:06:53 UTC
right, you need gail-gnome in addition to gail.

setting the GNOME_ACCESSIBILITY environment variable to 1 (or true, or
anything non-null) should load libgail-gnome automatically.  However
if you are relying on the GTK_MODULES environment variable instead,
then deepa is quite right, you would need to specify gail-gnome in the
GTK_MODULES string as well, i.e.

setenv GTK_MODULES gail:gail-gnome:atk-bridge

(assuming c shell).

or just

setenv GNOME_ACCESSIBILITY 1
Comment 6 deepa 2002-07-04 08:09:46 UTC
o.k. I tried using at-poke. I was not able to see any events for 
applets and cddb-track-editor. My GTK_MODULES=gail:atk-bridge:gail-
gnome.

When i say "Poke" on gnome-panel, the tree view does not show any 
entries for the applets present in the panel. I had mini-commander, 
volume control & clock applet on my panel.

Am i missing some setting or is there a problem with events from 
bonobo-components, Bill ?

Comment 7 bill.haneman 2002-07-04 09:58:56 UTC
I don't know, the libgail-gnome bonobo support has been shown to work
in the past but there may be either regressions in
libbonobo/libbonoboui, or something could be abnormal about the panel.

One distinct possibility is that the panel applets may not be
inheriting the accessibility settings.  I would recommend using the
gconf key for accessibility instead of the environment variable, as
env variables may not be getting inherited by bonobo out-of-process
components. 

The gconf key is in the /desktop/gnome/interface gconf 'directory'
(not a real directory, but something used internally to gconf), you
need to set "accessibility = true".  
You can do this with gconftool-2:

gconftool-2 -R /

   /desktop/gnome/interface:
    ...
    accessibility = false
that reports all gconf settings.

gconftool-2 --help should give some info on using gconftool-2, or
email darren.kenny@sun.com.  Under some circumstances you may not have
a /desktop gconf directory, I am not sure what causes this, but in
such cases you must solve that problem first, then set the gconf
accessibility key to "true".


Comment 8 deepa 2002-07-04 15:11:50 UTC
Thanks Bill, at-poke was able to detect applets. But the problem with 
detecting cdd-track-editor still seems to exists.
Comment 9 Michael Meeks 2002-07-08 09:39:52 UTC
Ok - it's true that a11y is not enabled.

This seems to be because the application is activated by
bonobo-activation, and thus accessibility wise we assume it will be a
control - and thus don't register a toplevel for it, reasoning that it
will be embedded in another window.

In this case it's not true - and it's really unclear what to do about
it . Really an at-spi bug I think.
Comment 10 Michael Meeks 2002-07-08 12:43:24 UTC
Ok; so instead of using solely the bonobo_activation_iid_get check in
at-spi/atk-bridge/bridge.c to see if we are a Control - we probably
also need to add a GtkWindow hook in here like the one in gail:

  gtk_type_class (GTK_TYPE_WINDOW);

  signal_id  = g_signal_lookup ("show", GTK_TYPE_WINDOW);
  g_signal_add_emission_hook (signal_id, 0,
    gail_toplevel_show_event_watcher, toplevel, (GDestroyNotify) NULL);

and we need to register ourselves with the registry if a toplevel
window is created ie. if the window is not a GtkPlug.

Whether we should always delay registration until we throw up a real
window is a moot point - perhaps not.
Comment 11 bill.haneman 2002-07-16 18:23:08 UTC
well, we definitely don't want to delay registration until we throw up
a real window, since ATK/AT-SPI are intended to be functional for
non-GUI applications as well as GUI apps.

But I don't think this is really the right fix.

I think this raises another nasty issue... if embedded objects ever
launch toplevels which "look" to the user like separate applications
(for instance, launchers), then we *do* want to treat the new toplevel
like a separate application.  On the other hand, in the case of the
cddb track editor, is that a "new app" which needs to register with
the accessibility registry, or is it a dialog child of the object (cd
player)?

I think it should be the latter, but the proposed fix would make it
look like a separate application.

Comment 12 padraig.obriain 2002-11-15 09:32:47 UTC
Created attachment 12313 [details] [review]
Proposed patch
Comment 13 padraig.obriain 2002-11-15 09:33:33 UTC
Propsoed patch has been reviewed on gnome-accessibility-devel and has
been committed.