Re: More info on ATK interfaces

2017-09-27 Thread Alejandro Piñeiro
Hi,

reading what you describe, I don't think that you need to modify Orca to
represent what you describe. After all, Orca just present to the user
what a11y implementations presents. More comments below.

On 26/09/17 20:46, Eric Williams wrote:
> Hello,
>
> On 09/26/2017 01:10 PM, Joanmarie Diggs wrote:
>> There's no way to force Orca to do that from your end. Tell me why I
>> should change Orca to do what you want? I might be persuaded, or you
>> might be doing something less than ideal. Without more information, I
>> don't know which it is.
>>
>> --joanie
>>
>
> I work on SWT which is based on GTK3 on the Linux side. We have
> implemented a custom GTK container called SwtFixed. It lets us do
> sizing manipulation and some other things, but most importantly every
> SWT widget (native or not) has one as its parent.
>
> In SWT we mostly use native GTK widgets, but we also have emulated
> widgets. These are widgets that fill a niche which GTK cannot provide,
> and are manually drawn at the Java level onto an SwtFixed instance.
> From the GTK/ATK/OS perspective, these widgets only exist as SwtFixed
> containers.
>
> The use case we have is that these emulated widgets can sometimes have
> children which are purely drawn. For example CTabFolder is a
> GtkNotebook-like widget, and each tab is a "child" of the parent
> CTabFolder. However these children do not have their own SwtFixed
> instances, they are just Java objects which are drawn onto the parent
> CTabFolder's SwtFixed instance.

FWIW, in case it serves as reference, this is somewhat similar to what
happens with GtkTreeview. GtkTreeView exposes a GtkTreeViewAccessible
ATK object. And it has a child for each row and column of the treeview,
internally called cells. For each cell there is an ATK accessible
object,  which type is GtkCellAccessible. But those cell children
doesn't have their own GtkWidget instance. The parent for those
accessible cells are the accessible treeview object.

>
> I've created a custom ATK implementation for SwtFixed containers,
> which override the necessary interfaces and communicate with Java to
> get all the information to Orca. It would be useful if we could
> somehow connect these children of emulated widgets with that
> implementation.

I think that probably the easier would be to create an ATK object for
those emulated widget. Something like a CTabFolderAccessible, that has a
SwtFixedAccessible (or whatever name) as a parent. If I understand
correctly what you are asking, I think that you wanted to add all the
parent-child logic on SwtFixedAccessible, but I think that this would be
somewhat more complex.

In any case, replying based on just this info, perhaps I'm missing
something. Hope my answer would help.

BR

___
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list


Re: More info on ATK interfaces

2017-09-26 Thread Eric Williams

Hello,

On 09/26/2017 01:10 PM, Joanmarie Diggs wrote:

There's no way to force Orca to do that from your end. Tell me why I
should change Orca to do what you want? I might be persuaded, or you
might be doing something less than ideal. Without more information, I
don't know which it is.

--joanie



I work on SWT which is based on GTK3 on the Linux side. We have 
implemented a custom GTK container called SwtFixed. It lets us do sizing 
manipulation and some other things, but most importantly every SWT 
widget (native or not) has one as its parent.


In SWT we mostly use native GTK widgets, but we also have emulated 
widgets. These are widgets that fill a niche which GTK cannot provide, 
and are manually drawn at the Java level onto an SwtFixed instance. From 
the GTK/ATK/OS perspective, these widgets only exist as SwtFixed containers.


The use case we have is that these emulated widgets can sometimes have 
children which are purely drawn. For example CTabFolder is a 
GtkNotebook-like widget, and each tab is a "child" of the parent 
CTabFolder. However these children do not have their own SwtFixed 
instances, they are just Java objects which are drawn onto the parent 
CTabFolder's SwtFixed instance.


I've created a custom ATK implementation for SwtFixed containers, which 
override the necessary interfaces and communicate with Java to get all 
the information to Orca. It would be useful if we could somehow connect 
these children of emulated widgets with that implementation.


Eric
___
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list


Re: More info on ATK interfaces

2017-09-26 Thread Joanmarie Diggs
On 09/26/2017 12:50 PM, Eric Williams wrote:
> Hello,
> 
> I am doing some research on implementing and understanding ATK
> interfaces, but I am still unclear on a few parts.
> 
> I found this page:
> https://www.freedesktop.org/wiki/Accessibility/Walkthrough/
> 
> It states: "The Orca screen reader can explicitly request for
> information for a given widget of a given application, for instance
> getText".
> 
> How does Orca decide to query for this information? Which widgets get
> queried? Is there a way to specify which widgets get queried (example: I
> have a child widget, but I want Orca to query its parent)?

There's no way to force Orca to do that from your end. Tell me why I
should change Orca to do what you want? I might be persuaded, or you
might be doing something less than ideal. Without more information, I
don't know which it is.

--joanie
___
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list


More info on ATK interfaces

2017-09-26 Thread Eric Williams

Hello,

I am doing some research on implementing and understanding ATK 
interfaces, but I am still unclear on a few parts.


I found this page: 
https://www.freedesktop.org/wiki/Accessibility/Walkthrough/


It states: "The Orca screen reader can explicitly request for 
information for a given widget of a given application, for instance 
getText".


How does Orca decide to query for this information? Which widgets get 
queried? Is there a way to specify which widgets get queried (example: I 
have a child widget, but I want Orca to query its parent)?


Thanks,

--
Eric Williams
Associate Software Engineer - Eclipse Team
Red Hat
___
gnome-accessibility-list mailing list
gnome-accessibility-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-accessibility-list