[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