Re: [g-a-devel]Atk Interfaces for Ghost View (ggv)



Rajkumar Sivasamy wrote:
> 
> Hi,

Hi Rajkumar:

> Am trying to implement accessibility for ghost-view (ggv).
> 
> Widget hierarchy is pretty huge and therefore pushed to the end of the
> mail.

I suspect most of the effort will have to go into supporting the content
pane, and would suggest you consider that first.
 
> Beware: Custom widgets in the app are prefixed Gtk :-) GtkScrollPane,
> GtkCheckList, GtkGs.

:-)

> The GtkScrollPane is used to adjust the view of the text (Document)
> displayed and it cn be dragged to to adjust the view-port.
> Do we need to implement an AtkInterface at all ? I feel setting a
> tooltip for the ScrollPane will serve the purpose. The user can be
> guided by this tooltip to drag the Scrollpane. Whenever the mouse
> scrolls over the Scrollpane, the AT can querry the tooltip and the user
> can drag the Scrollpane. Note that the scroll pane comprise a scroll bar
> that's confined within a window. The area outside the bar doesn't
> respond to user events. Hence the tooltip for just the scroll-bar.

This is not an accepted method of providing accessibility, and I don't
think we should use it here.  Assume the user cannot use the mouse at
all.

> Here's my initial thoughts for GtkGs (the area that displays text). Have
> AtkTextInterface exposed without worrying about the text that's
> currently displayed in the viewport. In other words, pass the whole text
> (page) to the AT, including (if any) what's in the clipped portion
> (hidden). Now, some of my doubts are:
> (1) Should this text be exposed as a child AtkObject (child of GtkGs) ?
> (2) What if the document contains an image ?

The image should be a child of the GtkGS area.  It may be that the text
should also be exposed as a child, but this is not certain.  Note that
only the content on the current page should be exposed.

> (3) The text that gets displayed aren't ASCII buffer but appears to be
> HEX coded. I will post this to a different forum but in case you have an
> idea of how to get the ASCII text out of this buffer, please let me
> know.

This is the root of the problem.  What must be exposed via ATK is the
text content *as seen by the user*, and not the actual content.  Thus
you must expose text as strings that are delimitable into words,
sentences, etc., with coordinate information for each character.

Note also that AtkText does not assume that text is ASCII, it uses UTF-8
encoding and thus can express any UNICODE/ISO-10646 content.

Best regards,

Bill
> Finally, GtkCheckList is all stock widgets (GTK) so I feel very little
> to be done here.
> 
> Please pour in your comments..
> 
> Regards,
> Raj.
> 
> ----------------
> Widget Hierarchy:
> ----------------
> 
>  |-GnomeApp
>     |
>     |-GtkVBox
>        |
>        |-GtkHBox
>        |  |
>        |  |-GnomeAppBar
>        |     |
>        |     |-GtkFrame
>        |        |
>        |        |-GtkLabel
>        |
>        |-BonoboDock
>           |
>           |-GtkHBox
>           |  |
>           |  |-GtkVBox
>           |  |  |
>           |  |  |-GtkHbox
>           |  |     |
>           |  |     |-GtkButton
>           |  |     |  |
>           |  |     |  |-GtkGtkImage
>           |  |     |
>           |  |     |-GtkButton
>           |  |     |  |
>           |  |     |  |-GtkGtkImage
>           |  |     |
>           |  |     |-GtkButton
>           |  |     |  |
>           |  |     |  |-GtkGtkImage
>           |  |     |
>           |  |     |-GtkButton
>           |  |     |  |
>           |  |     |  |-GtkGtkImage
>           |  |     |
>           |  |     |-GtkScrollPane
>           |  |     |
>           |  |     |-GtkScrolledWindow
>           |  |     |  |
>           |  |     |  |-GtkVScrollbar
>           |  |     |  |
>           |  |     |  |-GtkHScrollbar
>           |  |     |  |
>           |  |     |  |-GtkCheckList
>           |  |     |     |
>           |  |     |     |-GtkButton
>           |  |     |
>           |  |     |-GtkLabel
>           |  |
>           |  |-GtkFrame
>           |     |
>           |     |-GtkGs
>           |
>           |-BonoboDockBand
>           |  |
>           |  |-BonoboDockItem
>           |      |
>           |      |-GtkMenuBar
>           |         |
>           |         |-GtkImageMenuItem
>           |         |  |
>           |         |  |-GtkAccelLabel
>           |         |
>           |         |-GtkImageMenuItem
>           |         |  |
>           |         |  |-GtkAccelLabel
>           |         |
>           |         |-GtkImageMenuItem
>           |         |  |
>           |         |  |-GtkAccelLabel
>           |         |
>           |         |-GtkImageMenuItem
>           |            |
>           |            |-GtkAccelLabel
>           |
>           |-BonoboDockBand
>              |
>              |-BonoboDockItem
>                 |
>                 |-GtkToolBar
>                    |
>                    |-GtkButton
>                    |   |
>                    |   |-GtkVBox
>                    |     |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |  |
>                    |  |-GtkVBox
>                    |    |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |   |
>                    |   |-GtkVBox
>                    |     |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |  |
>                    |  |-GtkVBox
>                    |     |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |   |
>                    |   |-GtkVBox
>                    |     |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |  |
>                    |  |-GtkVBox
>                    |    |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |   |
>                    |   |-GtkVBox
>                    |     |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |  |
>                    |  |-GtkVBox
>                    |    |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                    |   |
>                    |   |-GtkVBox
>                    |     |
>                    |     |-GtkImage
>                    |     |
>                    |     |-GtkLabel
>                    |
>                    |-GtkButton
>                       |
>                       |-GtkVBox
>                          |
>                          |-GtkImage
>                          |
>                          |-GtkLabel
> 
>   ------------------------------------------------------------------------
>                            Name: Wipro_Disclaimer.txt
>    Wipro_Disclaimer.txt    Type: Plain Text (text/plain)
>                        Encoding: 7bit



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