Thursday, February 8, 2007

Mozilla source code contribution!

I'm happy to report that I've being finding more time lately to work on patches to fix Thunderbird accessibility issues. In fact...

My first patch finally went into the mozilla codebase today!

First the technical bits...

The patch makes an email message's graphical status indicators accessible. These indicators include things like read/unread status which is normally a small or large green dot. To achieve this I implemented GetCellValue for the XUL tree view (part of the nsITreeView interface, implemented in a C++ class known to tbird developers as msgDBView). Implementing GetCellText to return text for these status indicators would have created conflict between the text and the graphical icon. Implementing GetCellValue provided a way for the accessibility infrastructure to query for a textual representation of the various status areas (which I added to nsXULTreeitemAccessible::GetName).

The patch touched the following modules: accessible, dom, mail, mailnews.

Now the fuzzier bits...

I can't say enough about how welcoming this community has been to me, and it has been an absolute joy working with them. I think as I began my Thunderbird work I was too hesitant to seek help from the community for fear that I would draining valuable resources, but that perspective has changed and I think I can really help out here in the long term. That will probably have to wait however as it appears I am soon going to be doing some ARIA work, in particular, dojo accessibility! I'll post something on that later.

For me, this was a really interesting first bug fix.

2 comments:

davidb said...

Oh! Before I forget, I should just mention that the very first bug I worked on (a thunderbird crasher bug) appeared to be a nasty intermittent bug related to the accessibility pointer caching mechanisms. Looking back it was probably a foolish bug for me to choose as it turned out to be really fiddly to debug. Anyways, it ended up just "going away" on its own and was closed as WFM, or "works for me". Good riddance!

I've dug into a few more bugs now (posting patches), and it has been really interesting learning about XUL, XBL, XPCOM and the design of the Mozilla codebase in general. I'm fixing more Mozilla bugs of course, but I'm not blathering on about every one. Although we'll see what happens with the pesty asynchronous delete + focus event bug...

Fastbet said...

Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that "The content of your post is awesome Great work. Prediksi Bola