[OpenID] OpenID and accessibility
tom
tom at barnraiser.org
Wed Apr 25 14:39:11 UTC 2007
Hi All,
I have recently returned from a visit to the The Swedish Handicap
Institute (http://www.hi.se/) where we spent the day looking at how
blind people and people with limited visibility navigate the web. As
part of this we looked in depth at OpenID registration forms.
I'm sure we all know the benefits of OpenID. For a blind person or a
person limited visibility the benefits are increased; especially if we
strive to provide full accessibility at both registration and login.
The bad news is that we could not find a single provider / login that is
accessible. Given that I would like to share with you how we resolved
this in the hope that the information helps others provide full
accessibility support.
*Some tools*
Fangs is a Firefox extension that mimics screen readers. It will give
you some idea of what a blind person hears as they browse your page.
http://www.standards-schmandards.com/projects/fangs
W3C provide a guide for content accessibility called 'W3C Web Content
Accessibility Guidelines 1.0'.
http://www.w3.org/TR/WAI-WEBCONTENT
The easiest way to begin to understand what a visually impaired person
experiences is to make your browser fonts large. Note how a Captcha
image does not change size;)
To experience browsing as a blind person, turn off your style sheet,
turn off images and ask someone to read the page from top left to bottom
right going down each table column in order to you. Fangs provides the
texts as you would hear this.
*Screen readers and navigation*
Screen readers (outputting synthesized speech) provide tools to jump to
html headers and to navigate forms using html labels.
<h1>Register your OpenID account here</h1> will provide a visually
impaired person with a place to jump to easily regardless of it's
position in page. Note that you can hide this with a css, so people
seeing the page don't even see it.
A label will make it easy for a visually impaired person to, for
example, log in:
/<label for=”openid_login”>OpenID login</label>
<input id="openid_login" name="openid_login" value="" type="text">
<input name="commit" value="Sign in" class="input_submit" type="submit">/
Note that when you click on “ OpenID login “ the browse places the focus
within the input field.
*Captcha*
An audio captcha should be provided for a visually impaired to "hear"
the challenge as they input the response.
Here are the 3 main "gotcha" issues and how we resolved them. It is a
PHP Linux solution, but I hope it provides enough of a hint for others
script languages:
1. Case sensitivity
When spoken you cannot differentiate upper case from lower case,
hence the compare (challenge versus response) needs to be either
switched to all upper case or lower case characters.
2. Mistaken characters
Some characters such as 1 and I or 0 and O look too similar. We
therefore chose to remove them from the captcha.
3. Audio reading
We present an audio output which is comma separated. Saying AND is
not the same as saying A,N,D.
*the code*
/// Generate a captcha string.
$char_count = 6;
$text = "";
$charpool = array
(2,3,4,7,8,9,'A','B','C','D','E','F','G','H','K','M','N','P','R','T','W','U','Y');
$poollength = count($charpool) - 1;
for ($i = 0; $i < $char_count; $i++) {
$text .= $charpool[mt_rand(0, $poollength)];
}
$text = strtoupper($text); // ensure that we are uppercase for audio version
$_SESSION['text'] = $text;
if (isset($_REQUEST['audio_version'])) {
//Create the captcha
$text = $_SESSION['text'];
// create verbal
$verbal = "";
for ($i = 0; $i < strlen($text); $i++) {
$verbal .= "'" . substr($text, $i, 1) . "',";
}
shell_exec("echo \"" . $verbal . "\" | text2wave -o audio_captcha.wav");
header('Content-type: audio/x-wav');
header("Content-Disposition: attachment;filename=audio_captcha.wav");
echo file_get_contents("audio_captcha.wav");
@unlink("audio_captcha.wav");
}
else {
// normal captcha image output
}
/
I hope this in some way encourages you to enable full accessibility. If
anyone wants our code or to find out more about this please just email me.
tom
/Although estimates vary, there are approximately 10 million blind and
visually impaired people in the United States alone – source:
http://www.afb.org/Section.asp?SectionID=15#num/
--
Tom Calthrop
Founder, Barnraiser.
dedicated to giving people the tools they need to share
knowledge and advance society through social software.
http://www.barnraiser.org/
--
Tom Calthrop
Founder, Barnraiser.
dedicated to giving people the tools they need to share
knowledge and advance society through social software.
http://www.barnraiser.org/
More information about the general
mailing list