Re: [g-a-devel]Gnome 2.0 : accessibility for the gnome-cd application



JAYARAJ P R wrote:
> 
> Hi Bill,
> 
> Thanks for your suggestions. Couple of questions to make my understanding
> clear on this.
> 
> 1. One thing to note here is that though there are 4 lines of PangoLayout,
> as far as the GUI is concerned, the user presently cannot select one layout.
> The focus moves to the entire custom widget when the user presses tab. Also,
> there is no cursor displayed on the screen, which is the reason i felt that
> AtkText interfaces like atk_text_get_character_at_offset,
> atk_text_get_text_at_offset, atk_text_get_selection and many other
> interfaces doesn't make sense in this case. 

Labels typically don't display a text caret either, but from the ATK
perspective they have one nonetheless.

Also, realize that not every AtkObject has to be focussable.  So even if
only the container is focussable, it may be reasonable for it to have
text children which are not focussable.  Again the example of labels
comes to mind - labels are not generally focussable but they are still
queryable via ATK.

> I have one question here. Does
> the AT application make a call to one AtkText interface (lets say
> atk_text_get_character_at_offset) and if it returns NULL, then does that
> lead to the other AtkText interfaces NOT being called?

No, that typically doesn't happen.  However consider a screenreader in
"review" mode - it attempts to present to the braille user (or
text-to-speech user) a line representing the text along a particular
horizontal "row" of the screen.  If text is contained only in single
lines arranged on items such as buttons, the screenreader uses the
screen coordinates of the containing object.  For multiline text this
doesn't work, thus multiline text must either be placed in individual
(possibly non-focussable) AtkComponent-implementing AtkOBjects, as the
name returned from atk_object_get_name (if the text is unattributed, and
simple enough) or it is returned as AtkText, in which case character
extents information should be provided.

> 2. If we try to expose the AtkObjects for each of the PangoLayouts, then i
> guess we need to put the PangoLayouts in separate containers so that they
> can gain focus individually. I feel this would change the look of the GUI.
> Please correct me if i'm wrong here. So do we really need to consider this
> as
> a multi-line text case?

As I said, layouts don't need to be focussable, so the look-and-feel of
the UI need not change in this case.

> 3. When we say GAIL library already has some code to implement AtkText
> interfaces for a PangoLayout, do we mean to say that applications can use
> the functions provided in GAIL to implement its own interfaces?
> Doesn't that make the application dependent on GAIL?

In this case the application would have a build-time dependency on
gail-util.h.  It would have the same runtime dependency when used in an
accessible context as any other application, but if gail is not present
at runtime the application should still function (depending on how one
structures the initialization code for the custom widgets, at least).

> 4. Instead of implementing AtkText, can we set the description field of the
> AtkObject for the custom widget to contain the text of all the PangoLayouts
> concatenated with their appropriate descriptions. Hence a single invocation
> to atk_object_get_description() would return information contained in all
> the PangoLayouts. In this example it would be something like "Cuurent time
> elapsed 0.14 Album <Album Name> Artist <artist name>".

This would get the information to the user, but would fail in the case
of screen review.   The user of AT will typically expect that the
description field is used for
information that is not already textually presented in the UI (for
instance, to sighted users).

-Bill
 
> Regards,
> Jayaraj
> 
> -----Original Message-----
> From: gnome-accessibility-devel-admin gnome org
> [mailto:gnome-accessibility-devel-admin gnome org]On Behalf Of Bill
> Haneman
> Sent: Monday, February 04, 2002 5:33 PM
> To: mukund rajagopalan wipro com
> Cc: 'JAYARAJ P R'; gnome-accessibility-devel gnome org
> Subject: Re: [g-a-devel]Gnome 2.0 : accessibility for the gnome-cd
> application
> 
> Hi Jayaraj:
> 
> I agree with Mukund's reaction here.  Generally we don't like to NULLIFY
> large parts of an API if they have meaning in a given context.  We may
> nullify API that doesn't apply, but we try not to leave methods NULL
> just because they are inconvenient to implement.
> 
> One point to consider is that for multi-line text a screenreader needs
> to know where the text is on the screen, particularly for screen-review
> mode of screenreaders.  That implies that multi-line text should always
> use AtkText (rather than just the accessible name property) and needs to
> implement the character extents method.
> 
> If the text has attributes that might convey any information (in other
> words, attributes that aren't purely cosmetic) then AtkText is required.
> 
> In the case of gnome-cd, a possible alternative would be to expose
> separate AtkObjects for each pango layout, and then you could attach a
> description to each field, along with a name which carried the actual
> text.
> 
> However the 'gail' library already has code that can implement most of
> AtkText on behalf of a pango layout, so it may not be too much
> additional work to complete the job of implementing AtkText.  For
> comparison, keep in mind that GtkLabels implement AtkText.
> 
> I don't think that we currently export the headers for re-using the
> pango-based AtkText implementations in gail, but perhaps we should
> (rather than recommending cut-and-paste from gail).  What do you think
> Padraig?  We'd have to request that this API be added, I believe.
> However if the alternative is cut-and-paste then the GNOME release team
> is likely to allow it, I think.
> 
> Best regards,
> 
> Bill
> 
> Mukund wrote:
> >
> > Jayaraj,
> >
> > Having AtkText interface means you got to provide information on
> > cursor-location, selection, getting text after position, etc. You need to
> > check if these functions could be implemented for the text in the display
> > area. In other words, could you get information from the application to
> > support these interfaces?
> >
> > I see that you would NULLIFY most of the functions in AtkText which means
> > this probably is not the right interface. In other words, an AT will make
> a
> > query on all these functions only to find that they aren't implemented,
> > which is not nice to have it done that way.
> >
> > Bill/Padriag?
> >
> > Cheers,
> > Mukund.
> >
> > -----Original Message-----
> > From: gnome-accessibility-devel-admin gnome org
> > [mailto:gnome-accessibility-devel-admin gnome org]On Behalf Of JAYARAJ P
> > R
> > Sent: Monday, February 04, 2002 3:54 PM
> > To: gnome-accessibility-devel gnome org;
> > gnome-accessibility-list gnome org
> > Subject: [g-a-devel]Gnome 2.0 : accessibility for the gnome-cd
> > application
> >
> > 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
> >
> > _______________________________________________
> > gnome-accessibility-list mailing list
> > gnome-accessibility-list gnome org
> > http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list
> _______________________________________________
> Gnome-accessibility-devel mailing list
> Gnome-accessibility-devel gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-accessibility-devel
> 
>   ------------------------------------------------------------------------
>                                Name: InterScan_Disclaimer.txt
>    InterScan_Disclaimer.txt    Type: Plain Text (text/plain)
>                            Encoding: 7bit



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