Accessibility and alt Attributes

By  on  

The alt attribute is important for a number of reasons:  it describes an image for screen readers used by those without sight or poor sight, it describes the image to bots, and it provides an indicator of what should have loaded if the image fails to load at all.  But what about the case where the image doesn't have much value to be read, because it has accompanying positioned text offscreen?

Don't omit the the alt attribute -- the screen read will read out the image's src attribute.  Gross.  Instead include the alt attribute with an empty value:

<img src="/path/to/image.png" alt="" />

No image alt or src text is read and you're golden!

Recent Features

  • By
    fetch API

    One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for.  We've done well to create elegant APIs around XHR but we know we can do better.  Our effort to...

  • By
    Being a Dev Dad

    I get asked loads of questions every day but I'm always surprised that they're rarely questions about code or even tech -- many of the questions I get are more about non-dev stuff like what my office is like, what software I use, and oftentimes...

Incredible Demos

  • By
    Animated AJAX Record Deletion Using MooTools

    I'm a huge fan of WordPress' method of individual article deletion. You click the delete link, the menu item animates red, and the item disappears. Here's how to achieve that functionality with MooTools JavaScript. The PHP - Content & Header The following snippet goes at the...

  • By
    Animated AJAX Record Deletion Using Dojo

    I'm a huge fan of WordPress' method of individual article deletion. You click the delete link, the menu item animates red, and the item disappears. Here's how to achieve that functionality with Dojo JavaScript. The PHP - Content & Header The following snippet goes at the...

Discussion

  1. Really good! I added a sniping code to my editor to remember the alt attribute. Other attributes very important are the following:

    meta charset='uft-8' (html5) or http-equiv="Content-Type" content="text/html; charset=UTF-8" (html4)

    I’m from Brazil and these tags are really important for softwares that reads screens.

  2. Definitely in agreement with this. When I studied Software Engineering at university we had a module on human-computer interaction and part of it included making your website accessible to those with poor vision.

    Now I always try to have a high contrast between the color of the text and background color being used, and like you mention I always use the alt tags to, for example to prevent spam I put the email address on my sites contact pages in an image and then put the email address in the alt tag as well such as “my name at my domain dot com” so that if anyone is using a screen reader that clearly states what the email address is. I do the same with logos too, put something like “my website dot com logo” for the same reason.

    If the images are of a product or something I try to get some keywords in there, and since doing this I get a few hits from Google image search sometimes, so that can help a bit with SEO and stuff.

    Anyhow thanks for publishing this, I think too many people forget about how important it is.

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!