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
