Re: [g-a-devel] Gail next steps (was Re: GTK and ATK)

2011-07-05 Thread Piñeiro

On 06/27/2011 05:18 PM, Matthias Clasen wrote:

Another week gone by, time for another status update on the a11y branch of GTK+.

- We have more tests in tests/a11y:
* a tree-performance test that compares populating a large treeview
with / without accessibles
* a text test that checks most of the AtkText interface for labels,
entries and text views

- The factories for creating accessibles are being removed. Instead we
are associating the accessible type directly with the widget class,
via gtk_widget_class_set_accessible_type. Currently, about a third of
all accessible have been converted


FWIW, on ST right now this is done by a class method called 
get_accessible_type.


But probably it would be good to homogenize this stuff, including cally, 
and remove also the factories there.


BR


--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [g-a-devel] Gail next steps (was Re: GTK and ATK)

2011-06-27 Thread Matthias Clasen
Another week gone by, time for another status update on the a11y branch of GTK+.

- We have more tests in tests/a11y:
   * a tree-performance test that compares populating a large treeview
with / without accessibles
   * a text test that checks most of the AtkText interface for labels,
entries and text views

- The factories for creating accessibles are being removed. Instead we
are associating the accessible type directly with the widget class,
via gtk_widget_class_set_accessible_type. Currently, about a third of
all accessible have been converted

- AtkText implementations have been removed from most accessibles
where the widget just has a simple string. Currently, there's still
some extra AtkText implementations around; the end goal is to just
keep the ones for labels, entries and text views

- The AtkText implementations of labels, entries and text views have
been ported from GailTextUtil to new text-related api in gtkpango.h /
gtktextbuffer.h.

- A number of trivial accessible implementations there were just
setting roles have been dropped altogether.

Next steps:
- complete the factory removal
- drop the init vs initialize distinction
- get rid of all uses of idles
- replace the notify_gtk mechanism by direct update calls from the
widget side, where appropriate\
- always create accessibles in gtk_widget_init

Longer-term:
- rewrite the tree view accessible to store its cell-accessibles
inside the rbtree, instead of separately
- same for icon view

I think once the factory removal is complete, we should think about
merging the branch, and continue the work in master.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [g-a-devel] Gail next steps (was Re: GTK and ATK)

2011-06-20 Thread Piñeiro

On 06/20/2011 06:18 AM, Matthias Clasen wrote:

I think we should probably give a quick status update.


Thanks for the update. Just a question.


In the last week, Benjamin and I have started to implement the outlined plan.
Achievements so far:

- Code has been moved from modules/other/gail to gtk/a11y

- Gail is no longer a module, but gets compiled into GTK+ proper. You
still need to
   load atk-bridge to make your application visible to ATs, but using
accessible objects
   inside the process now just works; gtk_widget_get_accessible()
always gives you
   a fully functional accessible.


I don't understand this you still need to load atk-bridge ..., are 
there short-term plans to avoid the atk-bridge loading?


BR

--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [g-a-devel] Gail next steps (was Re: GTK and ATK)

2011-06-20 Thread Matthias Clasen
No, there is no such plan in the short term. I was just trying to clarify
how things will fit together.
On Jun 20, 2011 8:59 AM, Piñeiro apinhe...@igalia.com wrote:
 On 06/20/2011 06:18 AM, Matthias Clasen wrote:
 I think we should probably give a quick status update.

 Thanks for the update. Just a question.

 In the last week, Benjamin and I have started to implement the outlined
plan.
 Achievements so far:

 - Code has been moved from modules/other/gail to gtk/a11y

 - Gail is no longer a module, but gets compiled into GTK+ proper. You
 still need to
 load atk-bridge to make your application visible to ATs, but using
 accessible objects
 inside the process now just works; gtk_widget_get_accessible()
 always gives you
 a fully functional accessible.

 I don't understand this you still need to load atk-bridge ..., are
 there short-term plans to avoid the atk-bridge loading?

 BR

 --
 Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

 ___
 gtk-devel-list mailing list
 gtk-devel-list@gnome.org
 http://mail.gnome.org/mailman/listinfo/gtk-devel-list
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-09 Thread Benjamin Otte
Piñeiro apinheiro at igalia.com writes:

 
 On 06/07/2011 05:06 PM, Emmanuele Bassi wrote:
 
  5) figure out new interfaces for GTK to expose necessary features to
  a11y (and other consumers, such as IM and OSK)
  we should probably establish some common interfaces so that Clutter can
  expose the same functionality for its own items — and so that embedding
  a GtkWidget inside a Clutter scene graph doesn't break the AT tools.
 
 Well, I thought that this common interface was ATK ;)
 
Just to make my point very clear about what I mean here:

Nobody I know is using ATK to handle cursors and word detection inside a
PangoLayout. Nor should they. In fact, nobody should use ATK for anything but
implementing accessibility. Because, as it turns out, ATK does not do anything
but define such an interface.


Also, the point (5) you were looking here is about a fundamental problem with
how application developers handle accessibility. Hrm, I guess I'll try to use
ASCII art to explain it.
So this is my view about how it should work in the future and how I think most
developers see accessibility:

glib
 ^
 |
gtk/clutter - atk/accessibility
 ^
 |
app

And this is how it works today and how I think most accessibility developers
think people develop applications:

glib
 ^
 |
gtk/clutter - atk
 ^ ^
  \   /
   app

They expect application developers to interact with ATK directly and attach
useful properties to the accessible objects of the widgets they are using. 
This is how ATK works today.


Now, this is a fundamental difference. Because one approach assumes developers
must be knowledgeable about accessibility and actively handle it and the other
assumes they can usually be ignorant of it and pretend it will just work.

It would of course be nice if we could have the second approach because it 
leads to a way higher code quality. But it's also way worse in a non-ideal 
world where developers only care very little, like the current world. Because 
in this world an automatic accessibility framework could at least present an 
ok view of the app.


To give an example for what I mean:
It might be useful to add a function like gtk_label_set_is_labelling (label,
entry); might be useful. It would let people say this label is labelling this
widget. And it would then proceed to do set the right relation automatically
behind your back.
Or we could have a gtk_widget_class_add_remote_action (switch_class, toggle,
gtk_switch_toggle) which would allow this widget, similar to key bindings, to
expose a toggle action to remote listeners. It would also do the right thing
automatically using AtkAction.

What this would do, is to let people continue to be ignorant of accessibility,
but provide them with functionality inside GTK that they will probably find
genuinely useful for various things. And instead of painting this stuff into 
an accessibility corner, it'd be in the GTK corner. And people would find out 
about it when reading GtkLabel/GtkWidget docs, which they are a lot more 
likely to do than reading ATK docs.

Benjamin

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Matthias Clasen
On Mon, Jun 6, 2011 at 11:17 AM, Piñeiro apinhe...@igalia.com wrote:

 I don't think we can treat that as a first step and hold off on doing
 any other fixes until that migration is done.  The migration is a
 significant undertaking, and will not be finished for 3.2.

 Sorry, I didn't want to say that we should hold off any other fix and focus
 just on the migration. Just trying to focus on the current big task defined
 as much as possible.

So, I've discussed the best way forward for this with Benjamin today.
Here is a rough 6-step plan for dealing with the 'gail problem':

0) write tests for accessible implementations
1) move modules/other/gail nach gtk/a11y
2) add tons of private headers for private structs, to share things
3) remove now unnecessary code
4) add a11y features support to core libs (mainly pango) - word
detection, cursor handling etc, share with clutter
5) figure out new interfaces for GTK to expose necessary features to
a11y (and other consumers, such as IM and OSK)
6) get rid of gtk/a11y and atk-bridge and use a generic dbus
marshaller using the new interface

As I've said earlier, some of this is clearly long-term and not
remotely doable for 3.2. But some of it is; at least steps 0-3.

So, here is the rough roadmap for the near future:

This week, Benjamin and Cosimo review and merge all the outstanding
CSS feature branches for 3.2. Then I do a 3.1 release. After that, we
(mainly Benjamin and me, I guess) work on moving the gail code to
gtk/a11y and doing some initial cleanups in master. The goal is to
have things back to a more or less working state (I would expect a11y
to work about as well as it does now, no major improvements yet) by
mid-July, so we can do another 3.1 release with this before Guadec.

Further work on steps 4, 5 and 6 can happen later, and does not block 3.2.


Comments ?
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Emmanuele Bassi
On 2011-06-07 at 09:46, Matthias Clasen wrote:
  I don't think we can treat that as a first step and hold off on doing
  any other fixes until that migration is done.  The migration is a
  significant undertaking, and will not be finished for 3.2.
 
  Sorry, I didn't want to say that we should hold off any other fix and focus
  just on the migration. Just trying to focus on the current big task defined
  as much as possible.
 
 So, I've discussed the best way forward for this with Benjamin today.
 Here is a rough 6-step plan for dealing with the 'gail problem':
 
 0) write tests for accessible implementations
 1) move modules/other/gail nach gtk/a11y
 2) add tons of private headers for private structs, to share things
 3) remove now unnecessary code
 4) add a11y features support to core libs (mainly pango) - word
 detection, cursor handling etc, share with clutter
 5) figure out new interfaces for GTK to expose necessary features to
 a11y (and other consumers, such as IM and OSK)

we should probably establish some common interfaces so that Clutter can
expose the same functionality for its own items — and so that embedding
a GtkWidget inside a Clutter scene graph doesn't break the AT tools.

at the same time of 0-3 in gtk I can work on the equivalent for the
Clutter side as well.

 Comments ?

I totally agree with this plan.

ciao,
 Emmanuele.

-- 
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Piñeiro

On 06/07/2011 03:46 PM, Matthias Clasen wrote:


So, I've discussed the best way forward for this with Benjamin today.
Here is a rough 6-step plan for dealing with the 'gail problem':

0) write tests for accessible implementations
1) move modules/other/gail nach gtk/a11y
2) add tons of private headers for private structs, to share things
3) remove now unnecessary code
4) add a11y features support to core libs (mainly pango) - word
detection, cursor handling etc, share with clutter
5) figure out new interfaces for GTK to expose necessary features to
a11y (and other consumers, such as IM and OSK)
6) get rid of gtk/a11y and atk-bridge and use a generic dbus
marshaller using the new interface

As I've said earlier, some of this is clearly long-term and not
remotely doable for 3.2. But some of it is; at least steps 0-3.

So, here is the rough roadmap for the near future:

This week, Benjamin and Cosimo review and merge all the outstanding
CSS feature branches for 3.2. Then I do a 3.1 release. After that, we
(mainly Benjamin and me, I guess) work on moving the gail code to
gtk/a11y and doing some initial cleanups in master. The goal is to
have things back to a more or less working state (I would expect a11y
to work about as well as it does now, no major improvements yet) by
mid-July, so we can do another 3.1 release with this before Guadec.


This seems an awesome plan, thanks.


Further work on steps 4, 5 and 6 can happen later, and does not block 3.2.
 Comments ?



0) (in relation with being isolated) Don' hesitate to ask to the 
gnome-accessibility-devel list to try to clarify it, bugzilla, or 
propose any specific topic on the a11y weekly meeting [0]


3) I think that it is worth to mention this bug [5], as one of the 
current messiest code on gail is related with the focus. I will try to 
work on clutter about the same [7] (although in the case of clutter is 
no so messy, and it would be also required some change on at-spi2).


4) Is also an awesome plan (proper shared libgailutil replacement).

About 5) and 6) and without the intention of being controversial again ... :

5) Li already mentioned here [1] that ATK is already an abstraction 
layer, so not sure why it is required a new one.


6) This is mostly the same original merge both interfaces proposal 
that Benjamin sent to the list. Proposal with some advantages but 
several disadvantages (IMHO). Most of the people involved on the 
discussion were against it, and several questions were not answered 
(like IPC abstraction [2], one-screen-reader per toolkit problem, 
multi-toolkit environment [3]), etc. Taking into account this point, it 
seems that this thread was started in order to communicate a final 
decision instead of creating a real debate. Anyway, as I said, this is a 
long term item, so probably it is still not written on stone, and we can 
debate it again (so you will have another chance to convince the others, 
and the others to convince you, and blabla). And after all, this is more 
or less what Qt is trying to do these days, and Frederik Gladhorn is 
still alive after being present on the *ATK*/AT-SPI2 hackfest.


Again, thanks for your interest and effort.

PS: is there the intention to have any some kind of GTK BoF/Workshop on 
the desktop summit [4]? It would be a good place to talk about this 
again, face-to-face.


BR

[0] http://live.gnome.org/Accessibility/Meetings
[1] https://mail.gnome.org/archives/gtk-devel-list/2011-May/msg00057.html
[2] https://mail.gnome.org/archives/gtk-devel-list/2011-May/msg00058.html
[3] https://mail.gnome.org/archives/gtk-devel-list/2011-May/msg00059.html
[4] https://www.desktopsummit.org/program
[5] https://bugzilla.gnome.org/show_bug.cgi?id=649575
[7] https://bugzilla.gnome.org/show_bug.cgi?id=650669

--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Matthias Clasen
On Tue, Jun 7, 2011 at 11:06 AM, Emmanuele Bassi eba...@gmail.com wrote:

 0) write tests for accessible implementations
 1) move modules/other/gail nach gtk/a11y
 2) add tons of private headers for private structs, to share things
 3) remove now unnecessary code
 4) add a11y features support to core libs (mainly pango) - word
 detection, cursor handling etc, share with clutter
 5) figure out new interfaces for GTK to expose necessary features to
 a11y (and other consumers, such as IM and OSK)

 we should probably establish some common interfaces so that Clutter can
 expose the same functionality for its own items — and so that embedding
 a GtkWidget inside a Clutter scene graph doesn't break the AT tools.

yep.

 at the same time of 0-3 in gtk I can work on the equivalent for the
 Clutter side as well.

Isn't clutter ahead of us here ? It thought cally was already inside clutter ?
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Piñeiro

On 06/07/2011 05:06 PM, Emmanuele Bassi wrote:



5) figure out new interfaces for GTK to expose necessary features to
a11y (and other consumers, such as IM and OSK)

we should probably establish some common interfaces so that Clutter can
expose the same functionality for its own items — and so that embedding
a GtkWidget inside a Clutter scene graph doesn't break the AT tools.


Well, I thought that this common interface was ATK ;)

Saying so, it is true that we didn't have time to check clutter-gtk in 
that aspect. But we talked about it on the ATK hackfest, and we got some 
initial conclusions:


https://bugzilla.gnome.org/show_bug.cgi?id=611507#c3


at the same time of 0-3 in gtk I can work on the equivalent for the
Clutter side as well.


Any schedule? If so, I could try to plan myself in order to try to work 
a little on this bug, to get some conclusions.



BR

--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Matthias Clasen
On Tue, Jun 7, 2011 at 11:08 AM, Piñeiro apinhe...@igalia.com wrote:


 4) Is also an awesome plan (proper shared libgailutil replacement).

A very quick-and-dirty sketch of this can be found in the drop-gail branch:

http://git.gnome.org/browse/gtk+/tree/gtk/gtkpango.h?h=drop-gailid=0e11f6eb18bf75a0b4420dc60e57ad1ec58404de
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Piñeiro

On 06/07/2011 05:11 PM, Matthias Clasen wrote:

On Tue, Jun 7, 2011 at 11:06 AM, Emmanuele Bassieba...@gmail.com  wrote:


0) write tests for accessible implementations
1) move modules/other/gail nach gtk/a11y
2) add tons of private headers for private structs, to share things
3) remove now unnecessary code
4) add a11y features support to core libs (mainly pango) - word
detection, cursor handling etc, share with clutter
5) figure out new interfaces for GTK to expose necessary features to
a11y (and other consumers, such as IM and OSK)

we should probably establish some common interfaces so that Clutter can
expose the same functionality for its own items — and so that embedding
a GtkWidget inside a Clutter scene graph doesn't break the AT tools.

yep.


at the same time of 0-3 in gtk I can work on the equivalent for the
Clutter side as well.

Isn't clutter ahead of us here ? It thought cally was already inside clutter ?


Yes, cally is already part of clutter. So 1) doesn't apply to clutter. I 
guess that Emmanuele was talking about 5) (as cally is after all an ATK 
implementation)


BR

--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Emmanuele Bassi
On 2011-06-07 at 17:16, Piñeiro wrote:
 On 06/07/2011 05:11 PM, Matthias Clasen wrote:
 On Tue, Jun 7, 2011 at 11:06 AM, Emmanuele Bassieba...@gmail.com  wrote:
 
 0) write tests for accessible implementations
 1) move modules/other/gail nach gtk/a11y
 2) add tons of private headers for private structs, to share things
 3) remove now unnecessary code
 4) add a11y features support to core libs (mainly pango) - word
 detection, cursor handling etc, share with clutter
 5) figure out new interfaces for GTK to expose necessary features to
 a11y (and other consumers, such as IM and OSK)
 we should probably establish some common interfaces so that Clutter can
 expose the same functionality for its own items — and so that embedding
 a GtkWidget inside a Clutter scene graph doesn't break the AT tools.
 yep.
 
 at the same time of 0-3 in gtk I can work on the equivalent for the
 Clutter side as well.
 Isn't clutter ahead of us here ? It thought cally was already inside clutter 
 ?
 
 Yes, cally is already part of clutter. So 1) doesn't apply to
 clutter. I guess that Emmanuele was talking about 5) (as cally is
 after all an ATK implementation)

yes, but Cally is also not using internal API even though it could — and
ClutterActors are generally unaware of Cally's implementation; for
instance, CallyActor installs a bunch of signal handlers where it would
be perfectly possible to have internal functions, or even call ATK/Cally
methods directly from ClutterActor.

ciao,
 Emmanuele.

-- 
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-07 Thread Emmanuele Bassi
On 2011-06-07 at 17:13, Piñeiro wrote:
 On 06/07/2011 05:06 PM, Emmanuele Bassi wrote:
 
 5) figure out new interfaces for GTK to expose necessary features to
 a11y (and other consumers, such as IM and OSK)
 we should probably establish some common interfaces so that Clutter can
 expose the same functionality for its own items — and so that embedding
 a GtkWidget inside a Clutter scene graph doesn't break the AT tools.
 
 Well, I thought that this common interface was ATK ;)
 
 Saying so, it is true that we didn't have time to check clutter-gtk
 in that aspect. But we talked about it on the ATK hackfest, and we
 got some initial conclusions:
 
 https://bugzilla.gnome.org/show_bug.cgi?id=611507#c3

cool; I'll cc myself to the bug.

 at the same time of 0-3 in gtk I can work on the equivalent for the
 Clutter side as well.
 
 Any schedule? If so, I could try to plan myself in order to try to
 work a little on this bug, to get some conclusions.

I can definitely help out to get this done in the 1.7 cycle, given that
the scope is way smaller for changes in Clutter.

ciao,
 Emmanuele.

-- 
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-06 Thread Matthias Clasen
On Sat, Jun 4, 2011 at 8:44 PM, Piñeiro apinhe...@igalia.com wrote:


 About this specific case it is about improve the documention:

 http://developer.gnome.org/atk/stable/AtkObject.html#AtkObject--accessible-name

 Or something else?

Well, more than that, really.

We need to know for each widget what the property is supposed to
contain. I guess this also requires coming to grips with the somewhat
haphazard way in which the acessible tree is different from the widget
tree: sometimes there is a single accessible that 'wraps up' a whole
widget subtree, e.g a button accessible 'hides' the image and label
children of the widget, and instead implements corresponding
interfaces itself. And the same is very much true for the
::accessible-name, which is often taken from 'somewhere below'.

 Anyway, I thought that the first step here was to migrate the current gail
 (with their virtues and drawbacks) to gtk. And although things would be
 easier with a good atk documentation, Im not sure if this is a blocking
 here.

I don't think we can treat that as a first step and hold off on doing
any other fixes until that migration is done.  The migration is a
significant undertaking, and will not be finished for 3.2.

 2. Test that the accessible implementations actually follow that spec.

 I want to be able to have a unit test in the GTK+ repository that
 instantiates a widget, gets the corresponding accessible, and then
 verifies that it has the expected properties. If we had such
 testcases, it would not have taken 9 months from me committing the
 breaking change to me committing the fix. On the other hand, the fact
 that nobody filed a bug maybe tells us something about the amount of
 real-life usage that the gnome3 accessibility stack currently gets...

 Real-life usage is mostly done by users. GNOME 3 is not accessible, or at
 least was announced as not accessible. In general most of the tests done by
 the users were mostly a disappointment  (ie: [1][2][3][4]). In summary:
 there is no real-life usage of the gnome3 accessibility stack. For the
 moment GNOME 3 accessibility stack is mostly developers tested.

I would say not even that, unless you mean just the handful of a11y
developers. I can't even turn on toolkit-accessiblity on my system;
evolution crashes as soon as I switch to the calendar...
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-06 Thread Piñeiro

On 06/06/2011 04:33 PM, Matthias Clasen wrote:

On Sat, Jun 4, 2011 at 8:44 PM, Piñeiroapinhe...@igalia.com  wrote:


About this specific case it is about improve the documention:

http://developer.gnome.org/atk/stable/AtkObject.html#AtkObject--accessible-name

Or something else?

Well, more than that, really.

We need to know for each widget what the property is supposed to
contain. I guess this also requires coming to grips with the somewhat
haphazard way in which the acessible tree is different from the widget
tree: sometimes there is a single accessible that 'wraps up' a whole
widget subtree, e.g a button accessible 'hides' the image and label
children of the widget, and instead implements corresponding
interfaces itself. And the same is very much true for the
::accessible-name, which is often taken from 'somewhere below'.


Ok, thanks for the explanation. In summary you are proposing to somehow 
make current heuristic practices more homegeneous. Well, in the end this 
is also documentation, and providing a proper good practices document. 
Because in the end, as an abstracted interface, what ATK needs to expose 
is a coherent model of the original hierarchy. Although I would need to 
see it in further detail, I guess that exposing the full subtree would 
be also OK, and that in this case, original developer concluded that was 
more clear in this way. But as you say, it would be good to having a 
document explaining good practices, instead of trying to reinvent the 
wheel over and over.


We always said that current accessibility documentation is just bad. And 
this is a bigger problem taking into account that original ATK 
developers seems to be out of this planet. This was also a problem on 
the ATK hackfest, as some of the things that we discussed started with 
I don't understand why they did this in that way, but it would be odd 
if they didn't have a reason to do that ...



Anyway, I thought that the first step here was to migrate the current gail
(with their virtues and drawbacks) to gtk. And although things would be
easier with a good atk documentation, Im not sure if this is a blocking
here.

I don't think we can treat that as a first step and hold off on doing
any other fixes until that migration is done.  The migration is a
significant undertaking, and will not be finished for 3.2.


Sorry, I didn't want to say that we should hold off any other fix and 
focus just on the migration. Just trying to focus on the current big 
task defined as much as possible.



2. Test that the accessible implementations actually follow that spec.

I want to be able to have a unit test in the GTK+ repository that
instantiates a widget, gets the corresponding accessible, and then
verifies that it has the expected properties. If we had such
testcases, it would not have taken 9 months from me committing the
breaking change to me committing the fix. On the other hand, the fact
that nobody filed a bug maybe tells us something about the amount of
real-life usage that the gnome3 accessibility stack currently gets...

Real-life usage is mostly done by users. GNOME 3 is not accessible, or at
least was announced as not accessible. In general most of the tests done by
the users were mostly a disappointment  (ie: [1][2][3][4]). In summary:
there is no real-life usage of the gnome3 accessibility stack. For the
moment GNOME 3 accessibility stack is mostly developers tested.

I would say not even that, unless you mean just the handful of a11y
developers. I can't even turn on toolkit-accessiblity on my system;
evolution crashes as soon as I switch to the calendar..


Yes, specifically a11y developers. You already mentioned that it is a 
problem that a11y developers are perceived as a different group than 
developers in general, right?


About the evolution thing, in this case there is a real-life usage, as 
probably is this bug:


https://bugzilla.gnome.org/show_bug.cgi?id=330728

Fixed recenly, although AFAIU comment 154, it is just a workaround (If 
ever we get someone to update our accessibility code then we can bring 
this back and let him/her try and debug the crash). Which is valid 
right now. AFAIK evolution right now is not really accessible friendly, 
in general, gtkhtml is not really accessible friendly. Lets hope the 
situation improves with the WekkitGTK move:


https://live.gnome.org/Evolution/Planning32

BR

--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-04 Thread Piñeiro

On 06/03/2011 06:01 PM, Matthias Clasen wrote:

On Wed, Jun 1, 2011 at 7:48 PM, Piñeiroapinhe...@igalia.com  wrote:

On 05/10/2011 04:28 PM, Benjamin Otte wrote:
In fact, IMHO, some of the issues pointed by Benjamin would be solved by
this [2] and the gail migration, but lets not talk about it. As I said,
those are long term tasks, and the fact is that the current accessibility
status needs to be improved also in the short and medium term.

I also planned to define those short-medium tasks, but after reading again
some mails, Matthias already did it in this mail [3], so I will not repeat
that. I will just include that as task 1.5 I would include refactoring
gailtreeview, one of the big problems related to performance that prevents
having a11y enabled as default [5]

For making things work better in the short/medium term (ie before we
land a complete refactoring/rewrite of gail), I think two things are
essential:

1. Define the atk interfaces to a testable level.

One example that I have run in recently is
the 'name' property of AtkObject - it is not really defined at all
what this is supposed to contain, and how it is supposed to be used.
It turns out a change that I committed last September made menu
accessibles not have names - it turns out that that breaks ATs which
expected those names to be taken out of the labels contained in the
menuitems. This needs to be specified somewhere, so that we can then


About this specific case it is about improve the documention:

http://developer.gnome.org/atk/stable/AtkObject.html#AtkObject--accessible-name

Or something else?

You could also try to create a bug to debate it, or include it as a item 
on the a11y weekly.


Anyway, I thought that the first step here was to migrate the current 
gail (with their virtues and drawbacks) to gtk. And although things 
would be easier with a good atk documentation, Im not sure if this is a 
blocking here.



2. Test that the accessible implementations actually follow that spec.

I want to be able to have a unit test in the GTK+ repository that
instantiates a widget, gets the corresponding accessible, and then
verifies that it has the expected properties. If we had such
testcases, it would not have taken 9 months from me committing the
breaking change to me committing the fix. On the other hand, the fact
that nobody filed a bug maybe tells us something about the amount of
real-life usage that the gnome3 accessibility stack currently gets...


Real-life usage is mostly done by users. GNOME 3 is not accessible, or 
at least was announced as not accessible. In general most of the tests 
done by the users were mostly a disappointment  (ie: [1][2][3][4]). In 
summary: there is no real-life usage of the gnome3 accessibility stack. 
For the moment GNOME 3 accessibility stack is mostly developers tested.


BR

[1] https://mail.gnome.org/archives/orca-list/2011-May/msg00307.html
[2] https://mail.gnome.org/archives/orca-list/2011-May/msg00165.html
[3] https://mail.gnome.org/archives/orca-list/2011-May/msg00048.html
[4] https://mail.gnome.org/archives/orca-list/2011-May/msg00143.html


--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: Gail next steps (was Re: GTK and ATK)

2011-06-03 Thread Matthias Clasen
On Wed, Jun 1, 2011 at 7:48 PM, Piñeiro apinhe...@igalia.com wrote:
 On 05/10/2011 04:28 PM, Benjamin Otte wrote:

 In fact, IMHO, some of the issues pointed by Benjamin would be solved by
 this [2] and the gail migration, but lets not talk about it. As I said,
 those are long term tasks, and the fact is that the current accessibility
 status needs to be improved also in the short and medium term.

 I also planned to define those short-medium tasks, but after reading again
 some mails, Matthias already did it in this mail [3], so I will not repeat
 that. I will just include that as task 1.5 I would include refactoring
 gailtreeview, one of the big problems related to performance that prevents
 having a11y enabled as default [5]

For making things work better in the short/medium term (ie before we
land a complete refactoring/rewrite of gail), I think two things are
essential:

1. Define the atk interfaces to a testable level.

One example that I have run in recently is
the 'name' property of AtkObject - it is not really defined at all
what this is supposed to contain, and how it is supposed to be used.
It turns out a change that I committed last September made menu
accessibles not have names - it turns out that that breaks ATs which
expected those names to be taken out of the labels contained in the
menuitems. This needs to be specified somewhere, so that we can then

2. Test that the accessible implementations actually follow that spec.

I want to be able to have a unit test in the GTK+ repository that
instantiates a widget, gets the corresponding accessible, and then
verifies that it has the expected properties. If we had such
testcases, it would not have taken 9 months from me committing the
breaking change to me committing the fix. On the other hand, the fact
that nobody filed a bug maybe tells us something about the amount of
real-life usage that the gnome3 accessibility stack currently gets...
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list


Gail next steps (was Re: GTK and ATK)

2011-06-01 Thread Piñeiro

On 05/10/2011 04:28 PM, Benjamin Otte wrote:

So I've been thinking about accessibility in GTK for a while (since it
broke all the time during the unstable GTK 3 development to be exact).
And I've been wondering how to fix the somewhat sad state of the code
we do have. Unfortunately I have no idea how to solve it, but I have
an opinion about what the problem is.

The TL;DR version is this:
I think the problem is the fact that we support a separate API for
accessibility.


Now for the long version:


Well, some weeks have passed and seems that nobody wants to add anything 
new to this thread, so I will try to add some conclusions.


First, thanks for this review and proposal. But it is a long term 
solution, and means so many changes on a lot of different modules, so if 
it finally implemented, this is a task to be planned for GTK4/glib3. 
Although this also applies to ATK2.


Summarizing we have on the table two long term proposals:
  * Benjamin one about merging ATK and GTK, so the accessibility 
support towards AT-SPI2 would be more similar to current Qt one (WIP) 
(although he also implied that the interaction with AT-SPI2 could change)

  * A new ATK2 (some of the tasks related to ATK2 here [1])

In fact, IMHO, some of the issues pointed by Benjamin would be solved by 
this [2] and the gail migration, but lets not talk about it. As I said, 
those are long term tasks, and the fact is that the current 
accessibility status needs to be improved also in the short and medium term.


I also planned to define those short-medium tasks, but after reading 
again some mails, Matthias already did it in this mail [3], so I will 
not repeat that. I will just include that as task 1.5 I would include 
refactoring gailtreeview, one of the big problems related to performance 
that prevents having a11y enabled as default [5]


Finally, some of us thought that Benjamin was already looking that, 
starting with the gail-to-gtk, and included that here [4]. It seems that 
we were wrong to that conclusion. So please, update that section 
accordingly.


BR

[1] https://live.gnome.org/Accessibility/ATK/Tasks
[2] https://bugzilla.gnome.org/show_bug.cgi?id=642597
[3] 
https://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00083.html
[4] 
https://live.gnome.org/Accessibility/ThreePointTwo/NiceToHaves#Gtk.2BAC8-Gail

[5] https://bugzilla.gnome.org/show_bug.cgi?id=651345

--
Alejandro Piñeiro Iglesias (API) (apinhe...@igalia.com)

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list