How can you program if you're blind?
stackoverflow.com
stackoverflow.com
Say you wanted to find a method, how do you scroll in a large file to locate it? I guess deft use of find & go to definition helps out here.
How do you locate a line of code in a large function? Do you have to listen for the screen reader to read the contents of an entire screen's worth of code? Or do you rely on previous knowledge of the code and remember where it was?
How do you deal with debugging / fixing errors. I imagine the screen reader trying to parse the output of a template error being a nightmare.
This does influence my personal coding style - I always have the entry point at the top, which makes use of meaningful named methods - so it looks like the table of contents of a book. Next come the second level methods - and so forth, until the small auxiliary methods are way at the bottom. This lets me read it top-to-bottom, like a story. Much of this is just good coding practice - but, for example, I find it really frustrating to read code where functions must be defined before they are used - this results in details first, outline last - which makes it hard to build up that mental model (remember, I'm listening to the code line by line - no spinning the mousewheel).
Finally, I'm going to use this comment to express my dislike for underlines (yes, I'm looking at you, Ruby). Every underline adds three syllables to my audio stream - whereas screen readers read cammalCaseCode as separate words.
Feel to ping me @SaqibS on Twitter.
While I don't know the name of the program of he used, my vague recollection is that it read aloud the contents of whatever line he had the cursor on, a good deal faster than a human would speak it (I actually found the text to be read too quickly for me to follow by listening - I needed to read it myself).
I actually found this article about him on the Internet:
(Edit: I see below there are Braille editors, which I imagine mirror line editors! Expensive though.)
And no, they do not really compare to a 20-character LCD display. Reason is that blind user have to rescan the line with their hands whenever something changes, and that takes longer than visually scanning it. Effectively, blind users only 'see' two or three characters simultaneously.
If you own an iOS device do activate VoiceOver and try to surf YOUR applications (and more important, your WEB applications). Even better, let someone else do it for you.
You'll discover how hard and difficult can be to READ a page not designed to be read but scanned with eyes.
Please, do it. Blind people have the same right to access your content and features.
If your content is intended for use or distribution by a US federal agency, or was created using federal dollars or as part of a federal contract, you are responsible for ensuring that it is compliant with section 508 of the Rehabilitation Act of 1973, which specifies that your content be accessible to individuals with disabilities.
Leaving aside for a moment the larger question of whether specific blind and/or deaf individuals consider their sight/hearing status to be a disability or not, section 508 is generally interpreted to mean that your content needs to be as accessible as you can make it. That means (among other things) working to make sure that screen readers and other such software are able to make full use of your site's functionality.
In my experience, the process of getting a project compliant with section 508 is generally very valuable- it makes you think a lot about how your content is organized, and rewards use of semantic markup. It can be frustrating at times, but the end result is definitely worth it for a wide range of reasons.
Here are a couple of places to get started learning about 508 issues:
http://en.wikipedia.org/wiki/Section_508_Amendment_to_the_Re...
Of course blind people do not have a "right" to access his content. Neither does anyone else. There is no law anywhere that says "X person or group has an inalienable right to view Google". That doesn't mean we shouldn't be considerate of disabilities.
ADD: He says blind people have "the same right" and not "a right", the implication here being that they have "the same right" as any sighted person.
For those without showdead on, here's the comment, which I thought was worth reprinting:
"I'd like to add another way of thinking of it. Several years ago I was part of a group working on a project that was composed of people from various companies. One of the attendees was blind. It became clear VERY quickly that our blind friend was light years above everyone else technically and in terms of thinking about process. He'd sit there, listen to people go back and forth on this or that issue, then come in with an incredibly intelligent and appropriate solution, time after time. He was using an audio browser to go over the project materials when we weren't working. If you don't make your services accessible to the blind, YOU might be the one missing the benefit of this type of person's input."
Do you do any work building government websites or sites that serve other large public services? Do you sell services to schools or universities? Do you run a site that people might be obligated to use for some reason (i.e., website for a utility)?
Think of it like this: "I know it's kind of a shitty thing to block disabled folks from my site -- but given that I'm an X (offering X, hosting X, etc.), is it ILLEGAL for Xs to discriminate against disabled people?"
Laws are progressively covering more ground as time goes on, so while I doubt there will ever be much enforcement for teensy hobby sites (like the guy at the side of the highway selling strawberries probably won't be building any handicapped ramps), it's pretty reasonable to expect gradually more requirements from all serious sites. In the UK (for example) the Equality Act 2010 gets a bit more explicit that all sites should at least makes reasonable efforts for accessibility: http://www.shoosmiths.co.uk/news/3441.asp
Some info for many countries here: http://www.w3.org/WAI/Policy/
(Caveat: I'm not an accessibility legal expert by any means, but have been doing a bit of reading on the subject over the past year, as I'm developing a site we intend to be fully accessible).
I think it's our duty to be as inclusive as possible when talking about the target audience of our applications/content.
Even more if you're designing an infrastructure used by someone else (or more the one) to build their communication channels.
And talking about a specific law and legal rights for accessibility, here in Italy every public/governative web-site/application MUST meet the required standards for accessibility. Less or more a triple A (and more given the additional strictness of our local law).
http://blog.nerdery.com/2012/01/developing-accessible-websit...
Also, I recognize the irony of a video presentation about browsing the web blind.
I don't have a budget to pay them, but I'd be willing to put in reasonable recommendations.
I do already use alt attributes and label tags on everything.
http://podbean.99percentinvisible.org/2010/11/19/99-invisibl...
http://www.reddit.com/r/programming/comments/ke5ao/how_can_y...