Documenting Accerciser – first impressions
junho 11, 2011 § 4 Comentários
In the first days of my internship, I dedicated time for writing a demo that explored accessibility issues. You can read more about it here.
After some time, I realized that the demo would be almost 100% accessible – or 100% accessible – since I was only using default GTK+ methods. Basically, I discovered that a lib called GAIL would take care of most of my accessibility issues, turning my demo into something really boring – i.e., I almost wouldn’t use ATK. I even used it once to fix an accessibility error found via Accerciser, but it was something really simple involving comboboxes. There’s even a GTK+ patch for solving it without the need of using ATK.
To do something interesting that massively depends on ATK, the best way is to write a custom widget. Basically, you have to extend a GTK+ widget in a way that GAIL won’t find it by default – and that’s where you’ll find space to write tons of ATK code.
Since I didn’t find an interesting way of extending GtkEntry (or any other default widget) yet, and given that maybe I can do another more useful programming tasks, I skipped to my second scheduled task: documenting Accerciser in a topic-based, Mallard way. If you want to learn how something works, try writing a documentation for it. ;) Today, I finished a beta version for preliminary reviews and what I have to say is that I read a lot about AT-SPI, pyatspi, libatspi, and accessibility. Also, I read most of Accerciser’s code and even wrote a simple patch for it. Now, I also have a good notion about how to write plugins for Accerciser. Besides learning a lot about this tool – what’s going to be useful if my programming tasks become related to it – I feel I’m doing something useful for the GNOME community.
I’ll keep on writing that little demo in my free time – just for the pleasure of it. Besides, I may use more GTK+ in the future (including this internship), so it’ll be good for exercising. After finishing the Accerciser docs, I’m thinking of helping the tool with new plugins, bug fixes and migration to GNOME 3.
If you read the docs and have any critics/tips/notes about it, please let me know.