Prepared for stakeholder review, implementation planning, and secure team sharing.
This paid audit sample shows how AccessiGuard turns automated scan findings into a client-ready implementation plan. The highest risk barriers in this demo affect browsing, checkout completion, and link clarity across multiple templates, which means the work should start at shared component level rather than page by page.
Key pages included in this audit scope.
Distinct issue groups across all severities.
1 issue in the most affected category.
4 of 4 top findings point to reusable templates or shared components, so the fastest path is to fix patterns once and verify them everywhere.
A practical delivery range for the current scope.
Screenshot-backed evidence is included for the highest-impact findings.
2 issues across 6 pages suggest this is a repeated implementation pattern worth fixing at source and rechecking once.
1 issue across 5 pages suggest this is a repeated implementation pattern worth fixing at source and rechecking once.
1 issue across 1 page suggest this is a repeated implementation pattern worth fixing at source and rechecking once.
1 issue across 1 page suggest this is a repeated implementation pattern worth fixing at source and rechecking once.
5 pages affected / 34 instances
Blind users navigating the product catalogue cannot identify what any product image shows. This makes the entire shopping experience unusable with a screen reader because users cannot browse, compare, or select products.
1 page affected / 6 instances
Users relying on assistive technology cannot complete purchases because the checkout form fields have no programmatic labels. Screen readers announce these inputs without enough context to know what to enter.
5 pages affected / 18 instances
Price labels are difficult to read for users with low vision or colour deficiency. At a 2.8:1 ratio, the text fails WCAG AA requirements on a high-value conversion path.
Blind users navigating the product catalogue cannot identify what any product image shows. This makes the entire shopping experience unusable with a screen reader because users cannot browse, compare, or select products.
Users relying on assistive technology cannot complete purchases because the checkout form fields have no programmatic labels. Screen readers announce these inputs without enough context to know what to enter.
Price labels are difficult to read for users with low vision or colour deficiency. At a 2.8:1 ratio, the text fails WCAG AA requirements on a high-value conversion path.
Findings in this version are grounded in automated browser scans of the URLs listed above and the captured HTML and screenshot evidence shown in the issue detail section.
User-impact explanations and remediation guidance are generated from the captured evidence to speed up triage and planning.
This report supports prioritization and implementation planning. It is not a line-by-line manual conformance review of every flow.
Distinct accessibility themes present in this audit.
1 issue in the most affected category.
Categories with at least one critical barrier.
| Category | Critical | Major | Minor | Total |
|---|---|---|---|---|
| Images | 1 | - | - | 1 |
| Forms | 1 | - | - | 1 |
| Color | - | 1 | - | 1 |
| Navigation | - | 1 | - | 1 |
| Language | - | - | 1 | 1 |
| Total | 2 | 2 | 1 | 5 |
Blind users navigating the product catalogue cannot identify what any product image shows. This makes the entire shopping experience unusable with a screen reader because users cannot browse, compare, or select products.
<img src="/uploads/dress-blue.jpg" class="product-card__image">Selector: img.product-card__image
Fix any of the following: Element does not have an alt attribute. aria-label attribute does not exist or is empty.
<img src="/banners/summer-sale.jpg" class="hero-banner__img" width="1200">Selector: img.hero-banner__img
Fix any of the following: Element does not have an alt attribute.
Add descriptive alt attributes to all product images. For product cards, use the product name: alt="Blue Summer Dress - EUR 49.90". For decorative banners, use alt="" with role="presentation".
All non-text content has a text alternative that serves the same purpose. Images with no informational value use empty alt="".
Best fixed at component, token, or template level first so the same barrier clears across the site in one pass.
Users relying on assistive technology cannot complete purchases because the checkout form fields have no programmatic labels. Screen readers announce these inputs without enough context to know what to enter.
<input type="text" name="card_number" placeholder="Card number" class="checkout-input">Selector: input[name="card_number"]
Fix any of the following: Element has no associated label. No aria-label or aria-labelledby attribute.
Add <label> elements or aria-label attributes to all checkout inputs. Example: <label for="card_number">Card number</label> paired with id="card_number" on the input.
Information, structure, and relationships conveyed through presentation can be programmatically determined or are available in text.
Check the repeated page template or content block behind this issue before fixing one URL at a time.
Price labels are difficult to read for users with low vision or colour deficiency. At a 2.8:1 ratio, the text fails WCAG AA requirements on a high-value conversion path.
<span class="price-tag" style="color: #999; font-size: 14px;">EUR 49.90</span>Selector: .price-tag
Element has insufficient color contrast of 2.8:1 (foreground color: #999999, background color: #ffffff, expected ratio: 4.5:1).
Darken the price text colour from #999 to at least #767676 to meet the 4.5:1 contrast ratio. Update the CSS custom property or design token used for price labels site-wide.
Text and images of text have a contrast ratio of at least 4.5:1 (3:1 for large text).
Best fixed at component, token, or template level first so the same barrier clears across the site in one pass.
Screen reader users encounter links announced as 'link' with no description. They cannot tell where social media icon links lead or which product a card links to.
<a href="https://instagram.com/demo" class="social-icon"><svg>...</svg></a>Selector: a.social-icon
Fix any of the following: Element is in tab order and does not have accessible text. Element does not have text that is visible to screen readers.
Add aria-label to icon-only links: <a href="..." class="social-icon" aria-label="Follow us on Instagram">. For product card links, ensure the link text includes the product name.
The purpose of each link can be determined from the link text alone, or from the link text together with its programmatically determined context.
Best fixed at component, token, or template level first so the same barrier clears across the site in one pass.
Lower priority, but still recommended for full WCAG 2.1 AA coverage and cleaner long-term maintenance.
| Issue | Category | Spread | Severity |
|---|---|---|---|
HTML element missing lang attribute html-has-lang/WCAG 3.1.1 | Language | 5 pages 5 instances | minor |
This condensed guide is meant for project managers, developers, and QA teams who need the fix plan in one place. Detailed evidence, acceptance criteria, and ownership notes remain in the issue detail section above.
| Issue | Category | Spread | Severity | Remediation | Effort |
|---|---|---|---|---|---|
Product images missing alternative text image-alt/WCAG 1.1.1 | Images | 5 pages 34 instances | critical | Add descriptive alt attributes to all product images. | Medium (1-4 hours) |
Checkout form inputs missing labels label/WCAG 1.3.1 | Forms | 1 page 6 instances | critical | Add <label> elements or aria-label attributes to all checkout inputs. | Quick (under 1 hour) |
Insufficient colour contrast on price labels color-contrast/WCAG 1.4.3 | Color | 5 pages 18 instances | major | Darken the price text colour from #999 to at least #767676 to meet the 4.5:1 contrast ratio. | Quick (under 1 hour) |
Links without accessible names link-name/WCAG 2.4.4 | Navigation | 3 pages 12 instances | major | Add aria-label to icon-only links: <a href="..." class="social-icon" aria-label="Follow us on Instagram">. | Quick (under 1 hour) |
HTML element missing lang attribute html-has-lang/WCAG 3.1.1 | Language | 5 pages 5 instances | minor | Add lang="en" (or the appropriate language code) to the <html> element in the page template. | Quick (under 1 hour) |
A structured implementation sequence based on issue severity and effort.
A working range for the current scope, not a contractual estimate.
Phase 1: Checkout and browsing blockers
Fix missing form labels and image alternatives so users can browse products and complete checkout with assistive technology.
Resolve low-contrast pricing and unnamed links at component level so the same issues do not keep spreading.
Close the remaining language-template issue and verify the earlier fixes across key page templates before release.
Accessibility is not a one-time fix. New content, CMS updates, design changes, third-party widgets, and developer turnover all reintroduce issues. Without regular monitoring, today's compliant site can regress within weeks.
We recommend monthly accessibility monitoring
Catch regressions before they accumulate. New content, CMS updates, and third-party widgets reintroduce issues within weeks.
Your Agency provides accessibility auditing and monitoring services for web agencies serving EU-facing businesses. We help agencies turn accessibility compliance into a repeatable, client-ready service.
To discuss the findings in this report or learn about our monthly monitoring plan, contact us at office@accesi-guard.com