Hi Nolan, Nolan Darilek wrote:
It depends. Accessibility implementation gets widget's information (or operate on the widgets) from the interface of the widget. If such interface still work, then the custom widget should still be accessible.On Wed, 2009-01-21 at 10:52 +0100, API wrote:Yes, this cell renderers are part of GTK [1], used a lot on the GtkTreeView [2]. And yes there are a way to get the cell and expose the accessible name, in fact, this is what happens, but seems that in this concrete case there are a error (or that is what I understand, after read the bug comments [3].OK. Apologies for all the newbie questions. I suppose the correct way to do this is to learn how to code GTK/GObject in C to become comfortable with its idioms, though I have no intentions of working in C other than to look at accessibility issues in others' code, so that may be a r roundabout way of accomplishing my objective. :) So it looks as if libempathy-gtk is creating its own implementations of various widgets. I don't think it's changing how the widgets perform, just creating custom subclasses, and I'm wondering if this is messing with the accessibility of what would otherwise be accessible widgets.
Yes, it inherits the parent's implementation. If you don't have a separate accessibility implementation of the subclass, you don't need to set its role.I'm not familiar with the GObject object/inheritance model. If a subclass of TreeView is created, does it inherit the ATK information of its parent, or do I need to explicitly set its role to that of its parent?
You can get the accessibility implementation of cell from treeview's gail_tree_view_ref_child.I'm also afraid that I don't see a way to go from a CellRenderer to an ATK object whose name I can set. Is there a cell_renderer_get_accessible() somewhere that I'm missing?
Yes I think set role to the CellRenderer is necessary. You can set it at CellRenderer's _new function.Or should I be going at this by making the TreeView itself accessible such that, when it uses the CellRenderer, it passes its own correct accessibility information? Or should I somehow be assigning the CellRenderer a role?
Regards, Li