Every garden has weeds
You can have a beautifully designed website (clean typography, thoughtful layout, fast load times) and still have accessibility issues lurking beneath the surface. Like weeds in a well-kept garden, they're easy to miss if you're not looking for them.
After scanning thousands of pages through eiSEO, we've found that the same five issues appear on nearly every site. They're common, they're fixable, and they matter more than most teams realize.
1. Missing alt text on images
This is the dandelion of accessibility issues; it's everywhere. Images without alt text are invisible to screen readers, which means a significant portion of your content simply doesn't exist for visually impaired users.
The fix is straightforward: every meaningful image needs descriptive alt text. Decorative images (background textures, visual flourishes) should use alt="" with role="presentation" or aria-hidden="true" so screen readers skip them entirely.
2. Links without discernible text
Icon-only links and image links without text labels are like unmarked gates in a fence. Someone using a screen reader lands on them and hears... nothing useful. No destination, no purpose, no context.
Add an aria-label to icon-only links, or better yet, include a <span class="sr-only"> with descriptive text inside the link. Screen readers need words, not pixels.
3. Insufficient color contrast
Light gray text on a white background might look elegant, but if the contrast ratio falls below 4.5:1 for body text or 3:1 for large text, it fails WCAG AA. Low contrast affects everyone, not just users with visual impairments, but anyone reading on a phone in sunlight or a dim room.
Use a contrast checker before finalizing your color palette. Your design can be subtle without being invisible.
4. Missing form labels
Placeholder text is not a label. It vanishes when the user starts typing, leaving no persistent description of what the field expects. Every form input needs a <label> element properly associated with its input via the for attribute.
If you must hide the label visually, use the sr-only utility class. The label should exist in the DOM even if it's not on screen.
5. Keyboard traps and unreachable elements
If a user navigating by keyboard can't reach a button, can't escape a modal, or can't interact with a dropdown, your site has a fence with no gate. These traps are especially common in custom JavaScript components that weren't built with keyboard users in mind.
Test your entire site using only the Tab, Enter, Escape, and arrow keys. If you get stuck anywhere, so will your users.
Pull them early, pull them often
The thing about weeds is that they spread. One missing alt tag becomes a hundred across a growing site. One contrast issue gets copied into every template variant. The earlier you catch these issues, the less work it takes to fix them.
That's exactly why we built eiSEO to scan page by page, issue by issue, so you can pull the weeds before they take over the field.