Re: [orca-list] Geany, SciTE and other Scintilla based applications



Hello,
This is turning into a verry interesting discussion.
A little while ago I was having similar discussion at gnome accessibility email list with Alejandro Pińeiro Iglesias. My use case is a bit different and unfortunatelly I am progressing really slowly. But anyway here is the last message on this. https://mail.gnome.org/archives/gnome-accessibility-list/2014-July/msg00017.html I am so far only targetting latest gtk version and the app I am playing with is coded in vala. I've managed to subclass GTKRendererCellAccessible in order to provide a working accessible name for a treeview column which is rendered using so called CellRenderer. The approach here reminds me a bit of how list view rows are owner drawn on windows.() Now I am going to look if I can make the text provided via get_name method reading by character, word and possibly other units using flat review. I suspect I need to implement so called ATKText methods on my subclass however I haven't yet figured that out plus I am afraid of issues related to working with screen coordinates etc. Amd unfortunatelly I am real noob asking for hints every so often so up to now I feel rather stupid causing more issues than I might be able to solve.

Greetings

Peter

On 15.07.2014 20:50, Mike Gorse wrote:
Hi Mike,

Unfortunately, we don't really have a good tutorial for building custom atk classes (I thought there was one around somewhere, but now I can't find it, and it would be outdated anyhow). My suggestion would be to look through gtk's accessibility code (in gtk/a11y for gtk 3) and look at the atk documentation as a reference:

https://developer.gnome.org/atk/unstable/

For the stable gtk+ sources: ftp://ftp.gnome.org/pub/gnome/sources/gtk+/3.12

If you only need to support gtk 3.8 or later, then you can derive your classes from the relevant Gtk*Accessible classes and call gtk_widget_class_set_accessible_type in the custom widget's class init function. If you also need to support earlier versions of gtk, then it is a bit of a mess, and your best bet is probably to override get_accessible in the class init function and create a base class adapted from, say, GtkWidgetAccessible. For an example of how to do this, you could look at my patch on https://bugzilla.gnome.org/show_bug.cgi?id=669441 (the patch in comment 7, not the much cleaner patch in comment 4, but the latter is a good example if you only need to support gtk+ 3.8 and later). One option might be to encapsulate the accessibility code with #if GTK_CHECK_VERSION(3.8.0), depending on whether it's important to make it work for gtk 2 as well.

Feel free to write if you have other questions. Sorry for not being able to suggest anything more straight-forward in terms of documentation, but, anyway, it would be good for more people to understand how all of this works.

Thanks,
-Mike

On Tue, 15 Jul 2014, Mike Ray wrote:

He also said that if I add atk accessibility to it he will incorporate
the changes.

But as I don't currently know how to do this, it is likely to take me a
while.

If anybody can point me at atk tutorials and tips I'd like to have a go
as I am a big fan of SciTE on Windows.

Mike
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Visit http://live.gnome.org/Orca for more information on Orca.
The manual is at http://library.gnome.org/users/gnome-access-guide/nightly/ats-2.html
The FAQ is at http://live.gnome.org/Orca/FrequentlyAskedQuestions
Log bugs and feature requests at http://bugzilla.gnome.org
Find out how to help at http://live.gnome.org/Orca/HowCanIHelp



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