DEV Community

Cover image for Alt Text Isn't Optional: Accessibility and SEO in One Fix
Jonathan Pimperton
Jonathan Pimperton

Posted on • Originally published at sitevett.com

Alt Text Isn't Optional: Accessibility and SEO in One Fix

Alt Text Isn't Optional: Accessibility and SEO in One Fix

We’ve all seen it. Images on websites that are crucial for understanding content, yet a screen reader just rattles off the filename. Or worse, nothing at all. This isn't just an oversight; it's a direct failure of WCAG 2.1 Level A compliance and a missed opportunity for image SEO. For web developers and WordPress agencies, ensuring proper alt text is a fundamental practice, not an optional add-on.

The Dual Importance of Alt Text

Alt text serves two primary functions. First, it's the backbone of web accessibility for users who rely on screen readers. When a visual element is described by alt text, it provides context and information that would otherwise be lost. This includes users with visual impairments, but also users with slow internet connections or those who have images turned off.

Second, search engines use alt text to understand the content of an image. This information is then used to index the image and can contribute to its ranking in image search results. Well-optimized alt text can drive relevant traffic directly from image searches.

WCAG 2.1 Level A Compliance

The Web Content Accessibility Guidelines (WCAG) are the standard for web accessibility. At Level A, the lowest conformance level, it is explicitly stated in Guideline 1.1.1 Non-text Content: "All non-text content that presents information has a text alternative that serves the equivalent purpose." Images fall squarely into this category. Failing to provide descriptive alt text for informative images means your site is not accessible to a significant portion of the population. This has legal implications in some regions, but more importantly, it's simply good ethical practice.

Image Types and Alt Text Strategies

Not all images require the same level of alt text description. We can broadly categorize them:

1. Informative Images: These images convey specific information, data, or concepts that are essential to understanding the surrounding content.

  • Bad Alt Text: alt="graph" (Too vague)
  • Bad Alt Text: alt="IMG_5678.png" (Filename is useless)
  • Good Alt Text: alt="Bar chart showing a 15% increase in website traffic in Q3 2023 compared to Q2 2023." (Descriptive and informative)

2. Functional Images: These images act as links or are part of interactive elements. The alt text should describe the function of the image, not just what it looks like.

  • Bad Alt Text: alt="magnifying glass icon" (Describes the visual, not the action)
  • Good Alt Text: alt="Search" (Clearly indicates the action of the link)

3. Decorative Images: These images add visual flair but don't convey any essential information. They can be safely ignored by screen readers.

  • Bad Alt Text: alt="blue swirl pattern" (Unnecessary description)
  • Good Alt Text: alt="" (An empty alt attribute tells assistive technologies to skip the image)

Implementing Alt Text in WordPress

WordPress makes managing alt text straightforward through its Media Library. When you upload an image, or select an existing one in the Media Library, you’ll see fields for Title, Caption, Alt Text, and Description. The Alt Text field is the one you need to focus on for accessibility and SEO.

When adding or editing an image in the Media Library:

  1. Navigate to Media > Library.
  2. Click on the image you want to edit.
  3. Locate the Alt Text field.
  4. Enter your descriptive text here.
  5. Click Update.

Common Mistake: Relying on the image filename. Many developers, or clients, will upload images with descriptive filenames like blue-widget-product-shot.jpg. While better than IMG_1234.jpg, the actual alt text field should still be used. WordPress often pre-populates the alt text field with the filename (without the extension) when you insert an image into a post or page if the alt text field is empty. This is a lazy shortcut and should be corrected. Always manually fill in the alt text field for informative and functional images.

Advanced Considerations

For developers working with custom themes or plugins, you can programmatically set alt text using WordPress functions. For example, when displaying an image from a custom field or attachment ID:

<?php
$image_id = get_post_meta( get_the_ID(), 'your_image_meta_key', true );
if ( $image_id ) {
    $image_alt = get_post_meta( $image_id, '_wp_attachment_image_alt', true );
    $image_url = wp_get_attachment_image_url( $image_id, 'full' ); // Or your desired image size

    if ( $image_alt ) {
        echo '<img src="' . esc_url( $image_url ) . '" alt="' . esc_attr( $image_alt ) . '">';
    } else {
        // Fallback if alt text is missing, though this should be avoided
        echo '<img src="' . esc_url( $image_url ) . '" alt="[Missing Alt Text]">';
    }
}
?>
Enter fullscreen mode Exit fullscreen mode

This snippet retrieves the alt text associated with an attachment ID and uses it in the <img> tag. The esc_attr() function is crucial for sanitizing the alt text before outputting it to prevent potential security issues.

By consistently applying descriptive alt text, we not only make the web a more inclusive place but also enhance our sites' discoverability and SEO performance. It’s a small effort with significant returns.


SiteVett checks this automatically as part of a free website QA scan with 60+ checks across security, SEO, content, performance, and more.

Top comments (0)