Re: Gnome 2.0 : accessibility for the gnome-cd application



Hi All,

We could implement an AtkObject on behalf of CdDisplay, maybe call it AccessibleCdDisplay for discussion. This AtkObject would inherit its AtkComponent interface from GailWidget (note that the headers for GailWidget are not exported, but through the mechanism illustrated in libzvt and gtkhtml2 head, widgets can inherit from it). AccessibleCdDisplay would expose an accessible name of "CD Display" and an accessible description of "Displays information about the currently playing album and track"... or something like that.

AccessibleCdDisplay would also provide an implementation of get_n_children, which would always return 4 (a child for each pango layout). And then of course it would also have to implement ref_accessible_child to allow access to those children.

Then, we could implement an AtkObject to provide accessibility on behalf of the PangoLayouts, let's call it AccessibleCdDisplayChild. AccessibleCdDisplayChild would implement AtkText on behalf of its contained PangoLayout. Note that most of the functions necessary to do this are exported and are defined in gailmisc.h, so this is a relatively painless process.

The only sticky point with implementing accessibility on behalf of a PangoLayout is GetCharacterExtents, which requires screen cordinate information about the locations of individual characters, and the Gail implementations for this function on behalf of GtkTextView currently rely on GtkTextBuffer private API. Is there a way to determine the exact location of individual characters in a PangoLayout? Maybe a peak at GailLabel will shed some light...

Just my thoughts...

Marc




At 03:53 PM 2/4/2002 +0530, JAYARAJ P R wrote:
Hi,

The gnome-cd application has a custom widget called CDDisplay which forms
the display area where the information about the time elapsed, album name,
artist name etc appears. The parent of this CDDisplay custom widget is a
GtkDrawingArea. It contains 4 lines of PangoLayout each of which display
information about the time elapsed for the current track, album name and
artist name.

As part of accessibility, i feel that this custom widget requires AtkText
interface to be implemented. The atk_text_get_text() interface of AtkText
would return the time elapsed, album name and artist name when the focus is
on the CDDisplay custom widget. Most of the other interfaces in AtkText
doesn't seem
to make enough sense in this case and would be no-op functions.

Anyone got different ideas?

Regards,
Jayaraj

**************************Disclaimer************************************

Information contained in this E-MAIL being proprietary to Wipro Limited
is 'privileged' and 'confidential' and intended for use only by the
individual or entity to which it is addressed. You are notified that any
use, copying or dissemination of the information contained in the E-MAIL
in any manner whatsoever is strictly prohibited.


 ********************************************************************




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]