Target Still Missing the Mark
Now that we’ve made it through the first series of tutorials, I thought I’d skip tutorials for a day and post a little editorial instead.
I stumbled upon this little piece Sunday night, it’s not really news since it happened a few years ago. But, it’s a perfect example of why it’s important to pay attention to web standards, which includes accessibility for the blind.
In May of 2005, Target was sued by the US National Federation of the Blind because their website wasn’t accessible to the blind. According to the article I found at WebStandards.org, the site was no more accessible 9 months after the lawsuit than it was the day they were sued. With a corporation as big as Target, one might expect them to afford a decent web developer.
The main problems with their website, according to the lawsuit, were:
- Lack of alt attributes on images
- Image maps that had neither alt text nor a functional equivalent on the page
- Necessity to use a mouse to perform various functions on the site
I’ve told you about alt attributes on images. Without alt attributes, a speech synthesizer will either spell out the entire url of the image, or it will skip right over the image completely. In the case of a form submission button that uses an image without an alt attribute — which is what they had — people couldn’t log into the site, which meant they couldn’t order prescriptions online, couldn’t receive coupons that were only available online, and I’m sure many other things that sighted people can do. Since they could not receive the same perks that any sighted person could receive, this was grounds for discrimination.
Image maps. This is something you won’t find a tutorial on here, because they are horrible for accessibility. Instead, I have another way to create the same effect, which would be a good topic for an upcoming tutorial. If I forget, please remind me in a comment to this post.
Basically, an image map uses an image and a bunch of fancy code to describe coordinates of that image. When a particular area of that image is clicked on, it takes you to a particular link. The problem is, you need a mouse to do it, and blind people who use aural screen readers use their keyboard for navigation, not a mouse.
As for the last point, I’ll just quote the article:
When using these type of submit buttons, x and y co-ordinates that represent the exact location in pixels where the image was clicked are submitted along with the rest of the form as part of its array of name-value pairs. And if you use the keyboard to submit the link what happens? No x or y co-ordinates. And if your server side logic requires those x and y co-ordinates? Yes, that’s right. You have effectively locked out keyboard users.
There’s more to it than that, but you can follow the links to that article if you’re interested in all the details. The bottom line is, this emphasizes something I said earlier on this blog that it’s actually a requirement for businesses in many jurisdictions to have their websites accessible for not only sighted users, but for the blind as well.
After reading that article, I checked out the Target website pharmacy sign-in page that they linked to, and took a look at their source code. They now have alt attributes in their images and there are no image maps on that page, but their code is still atrocious! They have tables inside tables inside tables ad infinitum when there is no reason to have even a single table on that page, plus look at all the errors that show up when you try to validate it. 919 errors? It doesn’t even look like they have 919 characters in the content itself, although I’m not up to the task of counting them, and they shouldn’t even have enough code on that page to generate 919 errors. Further, I haven’t bothered to run any of their 10 external style sheets (10??) through the CSS validator, but I have a feeling I would find a lot of errors in those, as well.
Again I ask, can’t a corporation as big as Target afford a decent web developer? I can think of a few people who still ask for my help with coding, who could all do better than that.
Heck, I bet many beginners who have been working through my tutorials could at least eliminate most of those 919 errors and get rid of all those tables within a couple of weeks. Maybe that would be a good challenge for you all, to see who can come up with the best code for that page, run your code through the xHTML and CSS validators, upload it to a website, and post a link to it here.
Anyone up for the challenge?
Let’s make it even more interesting. If enough people rise to the challenge and can out-code the people who built that site, I will email Target with a link to this post and try to shame them into hiring a halfway decent web developer or two.
Disclaimer: This is not to target Target specifically (please pardon the pun), because theirs is not the only big corporation with website developers who write utter crap and try to pass it off as code. Come to think of it, maybe a series of website coding reviews will make for a good list of what to do and what not to do.