What I Found Running an Accessibility Audit on a Client WordPress Site

A client asked me to run an accessibility audit on their WordPress site before a redesign. The site looked professional and worked well visually. But Lighthouse, axe DevTools, and manual keyboard testing revealed a different story.
Missing Alt Text Was Everywhere
Out of 340 images on the site, 127 had empty alt attributes. WordPress adds alt text fields in the media library, but most content editors never fill them in. The fix was two-fold: add alt text to existing images via a bulk update script, and make the alt text field required in the media upload flow:
add_filter("attachment_fields_to_edit", function ($fields, $post) {
$fields["_wp_attachment_image_alt"]["required"] = true;
return $fields;
}, 10, 2);
Focus Indicators Were Removed
The theme CSS included outline: none on interactive elements — a common anti-pattern that makes the site unusable for keyboard users. Never remove focus indicators. Instead, style them to match your design:
:focus-visible {
outline: 2px solid var(--accent-color);
outline-offset: 2px;
border-radius: 2px;
}
Color Contrast Failures
Light gray text on white backgrounds failed WCAG AA contrast requirements in multiple places. The minimum contrast ratio is 4.5:1 for normal text and 3:1 for large text. I use the WebAIM contrast checker during design to catch these before they ship.
Form Labels Were Missing
Contact forms used placeholder text instead of labels. Placeholders disappear when you start typing, leaving users unsure what field they are filling in. Every input needs a visible <label> element with a matching for attribute.
The Impact
After fixing these issues, the Lighthouse accessibility score went from 64 to 98. More importantly, the site became usable for the 15% of people who rely on assistive technologies. Accessibility is not a feature — it is a baseline requirement.
Written by
Adrian Saycon
A developer with a passion for emerging technologies, Adrian Saycon focuses on transforming the latest tech trends into great, functional products.
Discussion (0)
Sign in to join the discussion
No comments yet. Be the first to share your thoughts.
Related Articles

Building and Deploying Full-Stack Apps with AI Assistance
A weekend project walkthrough: building a full-stack task manager from architecture planning to deployment, with AI as t

AI-Assisted Database Design and Query Optimization
How to use AI for schema design, index recommendations, N+1 detection, and query optimization in PostgreSQL and MySQL.

How MCP Servers Are Changing AI-Assisted Development
An introduction to Model Context Protocol (MCP) and how to set up and build MCP servers that connect AI tools to your de