Things I’ve learnt about accessibility during my first internship week
maio 27, 2011 § 6 Comentários
After some struggling with installing GNOME 3 and GTK+ 3, I finally started working!
I’m in the very beginning of a formulae/equations editor/visualizer. When someone is using a tool as OpenOffice, it’s possible to build complex formulae/equations to put on the text. Unfortunately, it isn’t very simple to render the equation beautifully to a SVG, for instance. More than that, I didn’t find anything that covers these purposes (visualizing/rendering formulae) in accessible GTK+/Cairo.
For building equations (in my opinion), it’s always better to use LaTeX, though many people find it a bit hard. My project consists, then, in implementing a simple formulae builder that can take a GtkEntry input and transform it either in MathML (that can be properly rendered to SVG via Lasem, for example) or – who knows? – LaTeX. Maybe converting one notation to another would be interesting, too.
The most important point, of course, isn’t about making something complicated : it’s about making sure that this simple application is accessible. People with visual impairments (or other kinds of disabilities) should find easy to build an equation with the tool, besides importing it to other formats. More than being enormously useful, the idea here is to write something from scratch, paying attention to every single implementation detail (specially those related to accessibility).
Right now, I have a little code that allows users to type the equation within the GtkEntry, besides selecting some operators from comboboxes (like square roots, integral symbols etc). Nevermind about the dummy data in Fig. 1 (music, food, movies): they’ll be switched to three different classes of mathematical symbols or something like this.
Fig. 1 First lines of useful code
The interface may grow up a little to allow users to navigate in a MathML tree related to the current equation shown in the GtkEntry. I’m thinking of adding a menu, too, with different rendering options etc.
It was very interesting to notice, while talking with Joanmarie Diggs, David bolter and Alejandro Piñeiro, that making an app/demo/widget accessible doesn’t necessarily imply in adding extra information. This is my current mantra, since I spent some time figuring out about how to add extra info to an interface! 😀
Another interesting thing that happened this week involves the way my mentors and I decided to work: first, I’ll build the code per se, without minding much about accessibility. Just write the code and check its quality with regular tools, such as lint, gdb and valgrind. Nevermind about accerciser for the moment: a key tool to guarantee that the code is accessible. After that, I’ll apply accerciser to figure out which are the most common points I forgot while implementing (related to accessibility, of course). This is going to be very useful to the documentation I’ll do next month, since it’s going to be devoted to developers that don’t know much (or don’t know anything) about accessibility. It’s like notes made from an outsider. I do like the idea ;).
And last, but not least, I’d like to thank my friends Caio Tiago and Tomaz Canabrava for all the help and opinions they gave me throughout the week. You rock! Also, I’d like to thank the GTK+ community for releasing such a complete documentation about it. It’s being enormously useful!