Right now, as GAIL, Cally is a module, that it is required to load
during run-time.

During the discussion of bug 614121 [1] Emmanuele Bassi ask how to
integrate what Cally does in Clutter core.

On Boston Summit, AFAIU, he thought that it could be a good idea to
drop the accessibility object, and implement the accessibility
interfaces directly on the clutter objects. I pointed two reasons on
the bugzilla to avoid that:

1.) Allow to define accesibility objects not related directly with a
Clutter object (ie: flyweights objects [1])
2.) Allow to not expose some objects if it is not interesting from the
a11y POV.

In summary, being able to expose a a11y object hierarchy different
from the toolkit object hierarchy if necessary.

And of course, the fact that right now AtkObject is a object, so this
change would mean a complete redefinition of the Atk infrastructure.

Other reasons? There are someone who also thinks that would be a good
idea?

So, other option is just move the code to Clutter core:

1.) A new directory, as cogl.
2.) Initialize a11y in the clutter_init, to registry the factories[3].
3.) Add a equivalent to gtk_get_accessible in clutter, to allow
clutter-extending toolkits/apps to define easily the new accessible
factory/object
4.) If this should be done always, and how, it is required to be
discussed.

Anyway, load the atk-bridge should be still a module thing.

Comments? Someone (Li Yuan?) thinks that I'm forgotting something, and
we should keep with the module process?

>From the currect Cally source code, this would mean:

1.) Right now it uses GailTextUtil and GailMiscUtil [4][5] to help
some of the text processing tasks. This mean a dependency to
Gtk/Gdk*. So I should reimplement that part, avoiding to use that (and
probably reimplementing some of the GailTextUtil GailMisc
functionality).
2.) It uses some gdk functions to resend the key events in a more Gdk
similar way. (I will sent a mail about that later.) This should be
avoided as well.

Sorry for the long mail.

Ideas, thoughts, comments?

[1] https://bugzilla.gnome.org/show_bug.cgi?id=614121
[2] 
http://projects.gnome.org/accessibility/talks/GUAD3C/making-apps-accessible/flyweights.html
[3] http://library.gnome.org/devel/atk/stable/AtkRegistry.html
[4] 
http://library.gnome.org/devel/gail-libgail-util/stable/gail-libgail-util-GailTextUtil.html
[5] 
http://library.gnome.org/devel/gail-libgail-util/stable/gail-libgail-util-GailMisc.html

* One of my TODO tasks was add a compile option, to make this
dependency optional, so it seems that in the end it would be removed.

===
API ([email protected])
_______________________________________________
Gnome-accessibility-devel mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel

Reply via email to