Hi, I've been looking through the forums, and playing with modplug over the last couple days, and I have to say, well done! This is certainly a very nice tracker, and will be made even better for visually impaired users, if the following suggestions could be implemented. I'd gladly work on this myself, but, I'm not much of a c++ coder... yet,
, and, I don't have visual studio 2008 that seems to be needed to compile, *points to mfc*. Anyway, here's my thoughts on what would make this fully accessible, and yes, this will probably get long, sorry about that.
First, my definition of fully accessible. If a user of NVDA, a free and open-source! Screen reader can fully use all the important features, (loading samples/instruments, editing patterns/orders, and getting to all parts of the program), then we're talking. It doesn't necessarily mean that *everything* needs to speak, and, in fact, for things like editing samples, imho, speaking just gets in the way. If you want to look at NVDA, go here. http://www.nvda-project.org
So, the main points to work on are as follows.
1. getting from one part of a window to another. I've found that, for instance, if you go to the samples tab, you'll end up inside the sample your working on. this is fine, accept now, you can't tab, ctrl-tab, or whatever to the other sample properties. Same applys to, say, the instrument editor, or the pattern editor where there's no quick way, afaik, to get from the pattern/order list to the toolbar buttons. I suggest ctrl-tab be used more, like how it's done to toggle between the pattern editor and the order list.
2. making new/open/save/etc context sensative. For example, if your on the general tab, load/save modules. If the sample tab, load/export samples. etc etc. Currently loading instruments/samples requires some acrobatics with screen review cursors to find and click the toolbar buttons.
3. I noticed in the channel manager, well, you couldn't tab to the list of channels. Perhaps a standard multi-select list view with checkboxes here?
4. And now, the biggy. The pattern editor, as someone already pointed out, is bitmapped. My work around hopefully, is simple. Or, at least, it sounds simple in my head... lol. basically, take the fact that pattern data is internally stored as text, and you can paste this out to notepad or whatever to see it. How about taking that text, putting it in a standard edit control, then intersepting keys to handle the curret functions like moving between channels, etc? If not tab, ctrl-left/right should work, as if your moving from word to word in a text editor/word processor. This could be an interface option that you could toggle in the general tab of setup.
5. Finally, hopefully a small, but very useful tweak. have the pattern editor play notes as you cursor over them. If it can take simple effects like arpeggio, etc, then bonus. but not necessary if that complicates things.
Well, hopefully I've covered everything, and if you've made it this far, i congratulate you. Keep tracking alive!