Which WCAG criterion this fails
- Does not meet 1.1.1 Non-text Content (Level A)
- Does not meet 4.1.2 Name, Role, Value (Level A)
How to fix it on WooCommerce
Everything below is done from Appearance > Theme File Editor, or your child theme over SFTP. Take a copy of the theme before editing.
- Add alt describing the action, not the picture: alt="Search", alt="Subscribe".
- Better: replace <input type="image"> with a <button type="submit"> containing an <img> or inline SVG plus a text or visually hidden label — far easier to style and to keep accessible.
- Never use alt="button" or alt="submit".
Where this usually lives
searchform.php and legacy widget markup
Paths given for Storefront, Astra, Flatsome and other WooCommerce themes. A heavily customised theme may differ; the CSS selector in your scan report points at the exact element.
Code
<!-- Before -->
<input type="image" src="search.png">
<!-- After -->
<input type="image" src="search.png" alt="Search">
<!-- Preferred -->
<button type="submit">
<img src="search.png" alt="">
<span class="visually-hidden">Search</span>
</button>How to confirm it is fixed
Re-run the scan. This rule should drop out of the findings entirely. If the instance count falls but does not reach zero, the same defect exists in another template — product cards and quick-view modals are the usual second home for it.
Effort: low. Rule id: input-image-alt (axe-core).