Hi folks: As advertised last week ;-) We (Bill Haneman, Peter Korn, Padraig O'Briain, and others) now have a draft of our proposed API for GTK+ (and GNOME) accessibility which we think is substantially complete and ready for public review. Detailed information about the GNOME Accessibility Project, background info on accessibility, assistive technology, etc., are at: http://developer.gnome.org/projects/gap In particular, our reasoning for why we are proposing this architecture is at: http://developer.gnome.org/projects/gap/GNOME-Accessibility.html Attached is a compressed tarball containing headers defining the accessibility API and its abstract implementation, some wrapper implementations of two of the handful of sub-interfaces, and diffs of the additions to GtkWidget which are required to support this API. We designed for low impact at the GtkWidget level, most of the new features live in the "gaccessible" namespace, and moreover the implementations are readily externalizable. However the header files defining the interfaces are exposed to the GTK+ API. The GNOME.org pages should provide more context for the API and how it fits into the GTK+/glib framework. Our Gaccessible objects and interfaces are implemented using the GObject and GTypeInterface models. What's in the tarball: GnomeAccessibility/gtk+/gtk/gtkwidget.c.diff // GtkWidget support GnomeAccessibility/gtk+/gtk/gtkwidget.h.diff // GnomeAccessibility/gtk+/gtk/gtkaccessible.c 2K /* GTK-specific implementation of Gaccessible */ GnomeAccessibility/gtk+/gtk/gtkaccessible.h 3K GnomeAccessibility/gtk+/gtk/gtkaccessiblefactory.c 3K GnomeAccessibility/gtk+/gtk/gtkaccessiblefactory.h 3K /* abstract base factory class for * * creating Gaccessibles for GtkWidgets */ GnomeAccessibility/gaccess/gaccessible.c 20K GnomeAccessibility/gaccess/gaccessible.h 13K /* Basic definition of accessibility interface * and wrapper implementation (real implementation * lives in external library, if present) */ GnomeAccessibility/gaccess/gaccessibleaction.h 4K GnomeAccessibility/gaccess/gaccessiblecomponent.c 9K GnomeAccessibility/gaccess/gaccessiblecomponent.h 9K GnomeAccessibility/gaccess/gaccessibleeditabletext.h 5K GnomeAccessibility/gaccess/gaccessiblehypertext.h 4K GnomeAccessibility/gaccess/gaccessibleicon.h 3K GnomeAccessibility/gaccess/gaccessibleselection.h 4K GnomeAccessibility/gaccess/gaccessibletable.h 11K GnomeAccessibility/gaccess/gaccessibletext.h 8K GnomeAccessibility/gaccess/gaccessiblevalue.c 5K GnomeAccessibility/gaccess/gaccessiblevalue.h 3K /* Subinterfaces defining accessibility * functions for particular "types" of * objects (e.g. GaccessibleText is * implemented by text widget Gaccessible * instances). Also wrapper implementations * for two of these subinterfaces (the rest to * follow). */ Questions and comments are welcome, of course :-) Best regards, Bill, Peter, and Padraig ------ Bill Haneman x19279 Gnome Accessibility Lab / Batik SVG Toolkit Sun Microsystems Ireland
Attachment:
gaccess.tar.gz
Description: gaccess.tar.gz