Constructing user interfaces
The first thing was the realization that ways of constructing user interfaces without absolute positioning are even more important if you're a blind programmer. Automatic support for accessibility technologies is often listed as a reason to let the computer construct the UI from a high-level description, but I'd always seen that as an advantage to the end-user. Not something that would be significant to the developer, were they blind.
This (taken from Edit) is how I construct dialogs, not because of the various benefits to the end-users, or the automatic adjustments for other platforms, but simply because it's the easiest way for me to build a dialog. Worrying about the exact layout is the computer's concern. If I were blind, I'd be even more glad of this:
FormPanel formPanel = new FormPanel();
formPanel.addRow("Replace With:", replacementField);
Another thing I'd never thought of was how annoying spam must be to the blind. It's bad enough getting animated GIFs of animal pr0n and losing real mail because a brain-dead spam filter (MIMEsweeper) deletes more real mail than spam. But imagine having your text-to-speech system shouting spam titles across the room. And what do all those l33t-spelled words meant to defeat spam filters sound like anyway? I shudder to think what that much intra-word punctuation does to the computer's pronunciation.
How long until this becomes my most-read post because Google turns it up in searches for "animal pr0n"?