On 28/12/16 18:33, Emmanuele Bassi wrote:
> Hi;
>
> On 28 December 2016 at 17:29, Colomban Wendling <cwendl...@hypra.fr> wrote:
>> Hi,
>>
>> It seems that GtkSocket and GtkPlug aren't tied together at the
>> accessibility level: e.g. the ATSPI tree from Accerciser shows them
>> separately, and atspi_accessible_get_application() returns the embedded
>> application rather than the embedding one.
> AFAIR, there's really no mechanism to bridge two separate processes;

Not sure if you are talking specifically about GtkSocket/GtkPlug, but
just in case that is a general statement:
AtkSocket/AtkPlug can be used to bridge two processes of one application
from the a11y POV. They were initially created to support some Mozilla
plugins, where the plugin was running on different processes, but it was
preferred to expose them as a single application from the AT-SPI pov. It
is also used on WebKitGTK, where each tab can be a different process.
Probably there are some more cases where they are used.

> there's not even a discovery mechanism that allows you to know if the
> embedded window has any accessibility support, let alone something
> ATSPI can consume. 
Yes thats true. All the current usages of AtkSocket/AtkPlug are based on
assuming that the embedded windows are controlled by the embedder, and
that they have accessibility support.

> Additionally, it's even possible to embed a
> sub-tree of a separate process, within different contexts of execution
> — e.g. it's entirely possible that the embedder is the window
> manager/compositor, and the embeddee is a part of an application
>
> We'd need a separate interface for ATK and ATSPI to negotiate
> capabilities and act as a proxy — and we're already coming up short
> with regards to other windowing systems like Wayland.

Perhaps it's too early in the morning, but I don't follow this last
paragraph. Could you provide a specific example?

>> So I'm wondering what should be done here.  Should GtkSocket and GtkPlug
>> have accessible implementations making use of AtkSocket and AtkPlug, and
>> this just hasn't been done yet, or is something else required?  Would
>> that solve the issue?
> It's likely that we'd need something more than that…

Last time I checked, GtkSocket/GtkPlug were not really good candidates
for providing a default AtkSocket/AtkPlug implementation. As Emmanuele
is mentioning, it is likely that something else would be needed.

>> I know some people would like to forget about GtkSocket and GtkPlug :)
> … but, really, the actual solution is to revise the accessibility
> stack in a way that's usable under Wayland.

I agree that there are several things on the accessibility stack that
needs improvement/reimplementation under Wayland. But still not sure if
it is the embedder/embedded window mechanism for applications with more
that one process is one of it. But as I mentioned before, probably Im
forgetting a specific case.

>
> And, yes: GtkSocket and GtkPlug can die in a fire, as far as I'm concerned.
>
>> But fact is things like MATE-Panel make heavy use of those, so it'd be
>> nice to have it work properly.

Then perhaps it is about using AtkSocket/AtkPlug on MATE-Panel. But that
is an advice given without looking at all that code.

BR

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

Reply via email to