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
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

  • By
    Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in...

Incredible Demos

  • By
    Optimize Your Links For Print Using CSS â Show The URL

    When moving around from page to page in your trusty browser, you get the benefit of hovering over links and viewing the link's target URL in the status bar. When it comes to page printouts, however, this obviously isn't an option. Most website printouts...

  • By
    MooTools Star Ratings with MooStarRating

    I've said it over and over but I'll say it again:  JavaScript's main role in web applications is to enhance otherwise boring, static functionality provided by the browser.  One perfect example of this is the Javascript/AJAX-powered star rating systems that have become popular over 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!