SiteFix Audit

This is what you get.

A complete Professional-style report for a fictional outdoor-gear store. Every finding below is invented to show the format; the structure, severity scale and level of detail are exactly what a real report contains.

DEMO REPORT — the client, site and findings are fictional and exist only to show the format.

Website QA audit · Professional package

Northgate Outdoor Supply (fictional)

Site audited
https://demo-store.example
Report reference
SFA-DEMO-0001
Delivered
2026-10-09
Prepared by
SiteFix Audit

Summary

The store is attractive and fast on desktop, but on small phones the two actions that earn money — adding to cart and submitting the contact form — can both fail. Three findings are rated Critical or High and should be addressed first; the remaining issues are friction rather than blockers.

Pages tested

  • https://demo-store.example/
  • https://demo-store.example/collections/jackets
  • https://demo-store.example/products/ridgeline-shell
  • https://demo-store.example/pages/contact
  • https://demo-store.example/cart

Environments

  • Chrome 130 · Windows 11 · 1440 × 900
  • Safari 18 · macOS · 1280 × 800
  • Safari · iPhone SE (3rd gen) · 375 × 667
  • Chrome · Pixel 8 · 412 × 915

Findings by severity

8 findings in total

  • Critical 2
  • High 1
  • Medium 3
  • Low 2

How severity is rated

Critical:
Blocks a core task (buying, enquiring, signing up) for some or all visitors.
High:
Makes a core task materially harder or likely to fail; a clear loss of trust or data.
Medium:
Visible defect or friction on an important page; visitors can work around it.
Low:
Cosmetic or minor; fix when convenient.

Findings, in priority order

Index of findings with severity and location
ID Finding Severity Effort
SF-001 Cookie banner covers the "Add to cart" button on small phones Critical Small
SF-002 Contact form shows a success message even when the email field is invalid Critical Small
SF-003 Size selector error is indicated by colour alone and is not announced High Small
SF-004 Cart quantity "+" button overlaps the item total at 320px Medium Small
SF-005 Collection filters reset when the browser Back button is used Medium Medium
SF-006 Hero image on the home page is 2.9 MB and delays the first product Medium Small
SF-007 Footer "Shipping information" link returns a 404 Low Small
SF-008 Focus outline is removed on all links, so keyboard users cannot see where they are Low Small

Detailed findings

SF-001 · DEMO

Cookie banner covers the "Add to cart" button on small phones

Critical
Tested URL
https://demo-store.example/products/ridgeline-shell
Device / browser
iPhone SE (3rd gen) · Safari · 375 × 667
Steps to reproduce
  1. Open the product page in a fresh private window so the cookie banner appears.
  2. Scroll to the price and size selector.
  3. Attempt to tap "Add to cart".
Expected
The button is fully visible and tappable, or the cookie banner can be dismissed without obscuring it.
Actual
The fixed-position cookie banner overlaps the lower 60% of the button. Taps land on the banner. The banner has no close control; only "Accept all" (which some visitors avoid) removes it.
Evidence
Screenshot placeholder (DEMO). Screenshot: product page at 375px with banner overlapping the button, tap area highlighted.
Business impact
Visitors on small phones who do not accept cookies cannot add the product to the cart. Mobile accounts for most traffic on stores of this type, so this is a direct loss of orders.
WCAG reference
2.5.8 Target Size (Minimum) (Level AA)
Recommended fix
Add bottom padding equal to the banner height while it is visible, or move the banner to the top of the viewport. Provide a visible "Reject" or close control so the banner can be dismissed without accepting.
Estimated effort
Small

SF-002 · DEMO

Contact form shows a success message even when the email field is invalid

Critical
Tested URL
https://demo-store.example/pages/contact
Device / browser
Desktop · Chrome 130 · 1440 × 900
Steps to reproduce
  1. Open the contact page.
  2. Enter "test" (no @) in the Email field and any message.
  3. Click "Send message".
Expected
The form highlights the invalid email, explains the problem, and does not report success.
Actual
A green "Thanks, we will be in touch" message appears and the form clears. Network inspection shows the request returned a 422 error; nothing was sent.
Evidence
Screenshot placeholder (DEMO). Screenshot: success message shown; DevTools network panel with 422 response.
Business impact
Enquiries are silently lost and the visitor believes you received them. This damages trust more than an obvious error would.
WCAG reference
3.3.1 Error Identification (Level A)
Recommended fix
Show the success state only on a 2xx response. On validation errors, display the message returned by the server next to the field, keep the entered values, and move focus to the first error.
Estimated effort
Small

SF-003 · DEMO

Size selector error is indicated by colour alone and is not announced

High
Tested URL
https://demo-store.example/products/ridgeline-shell
Device / browser
Desktop · Safari 18 with VoiceOver · 1280 × 800
Steps to reproduce
  1. Open the product page without choosing a size.
  2. Click "Add to cart".
Expected
A text message explains that a size must be chosen, and screen-reader users hear it.
Actual
The size buttons gain a thin red border with no text. Nothing is announced; VoiceOver users hear only "Add to cart, button".
Evidence
Screenshot placeholder (DEMO). Screenshot: red outline on size buttons with no message; VoiceOver caption bar.
Business impact
Visitors who are colour-blind or use a screen reader cannot tell why the purchase did not proceed.
WCAG reference
1.4.1 Use of Color (Level A)
Recommended fix
Add a visible text message ("Please choose a size") in an element with role="alert" or aria-live="polite", placed next to the selector and referenced by aria-describedby.
Estimated effort
Small

SF-004 · DEMO

Cart quantity "+" button overlaps the item total at 320px

Medium
Tested URL
https://demo-store.example/cart
Device / browser
Small phone (emulated) · Chrome · 320 × 568
Steps to reproduce
  1. Add any product to the cart.
  2. Open the cart page at a 320px-wide viewport.
Expected
The quantity controls and the price fit within the row without overlapping.
Actual
The "+" control is rendered on top of the price, which becomes unreadable and partly unclickable.
Evidence
Screenshot placeholder (DEMO). Screenshot: cart row at 320px with overlapping controls.
Business impact
Visitors on the smallest phones cannot confirm what they are paying before checkout.
WCAG reference
1.4.10 Reflow (Level AA)
Recommended fix
Allow the cart row to wrap below 360px (flex-wrap) and give the quantity control a minimum width rather than an absolute position.
Estimated effort
Small

SF-005 · DEMO

Collection filters reset when the browser Back button is used

Medium
Tested URL
https://demo-store.example/collections/jackets
Device / browser
Desktop · Firefox 131 · 1440 × 900
Steps to reproduce
  1. Filter the collection by size "M" and colour "Blue".
  2. Open a product from the filtered list.
  3. Press the browser Back button.
Expected
The collection returns with the same filters applied and scroll position restored.
Actual
All filters are cleared and the list returns to the top. The URL never changed when filters were applied.
Evidence
Screenshot placeholder (DEMO). Screen recording still: filtered list before, unfiltered list after Back.
Business impact
Comparison shopping becomes tedious; visitors browsing several products are likely to give up.
Recommended fix
Write the active filters to the URL query string (history.replaceState) and read them on load so the state survives navigation.
Estimated effort
Medium

SF-006 · DEMO

Hero image on the home page is 2.9 MB and delays the first product

Medium
Tested URL
https://demo-store.example/
Device / browser
Pixel 8 (throttled 4G) · Chrome · 412 × 915
Steps to reproduce
  1. Open the home page on a throttled 4G connection.
  2. Observe the time until the first collection tile is visible.
Expected
The page shows products within a couple of seconds on a typical mobile connection.
Actual
A 2.9 MB PNG hero image blocks the first visible product for roughly 6 seconds on throttled 4G.
Evidence
Screenshot placeholder (DEMO). Screenshot: DevTools network waterfall with the hero image highlighted.
Business impact
Slow first paint on mobile correlates with higher bounce; the image is also costly for visitors on metered data.
Recommended fix
Export the hero as WebP/AVIF at appropriate sizes with srcset, add width/height attributes, and lazy-load everything below the fold.
Estimated effort
Small

SF-007 · DEMO

Footer "Shipping information" link returns a 404

Low
Tested URL
https://demo-store.example/
Device / browser
Desktop · Chrome 130 · 1440 × 900
Steps to reproduce
  1. Scroll to the footer on any page.
  2. Click "Shipping information".
Expected
A shipping policy page opens.
Actual
The link points to /pages/shipping-info, which returns the theme 404 page. The live page is at /pages/shipping.
Evidence
Screenshot placeholder (DEMO). Screenshot: 404 page with the clicked URL in the address bar.
Business impact
Shipping cost is a top pre-purchase question; a dead link here undermines confidence at exactly the wrong moment.
Recommended fix
Update the footer link target, and add a redirect from /pages/shipping-info to /pages/shipping for any external links.
Estimated effort
Small

SF-008 · DEMO

Focus outline is removed on all links, so keyboard users cannot see where they are

Low
Tested URL
https://demo-store.example/
Device / browser
Desktop · Chrome 130 · 1440 × 900
Steps to reproduce
  1. Load the home page.
  2. Press Tab repeatedly.
Expected
Each focused link or button shows a visible focus indicator.
Actual
A global rule `*:focus { outline: none }` removes all indicators. Nothing on the page shows keyboard focus.
Evidence
Screenshot placeholder (DEMO). Screenshot: computed styles for a focused link showing outline: none.
Business impact
Keyboard-only visitors and many power users cannot navigate confidently.
WCAG reference
2.4.7 Focus Visible (Level AA)
Recommended fix
Remove the global outline reset and style :focus-visible with a 2–3px high-contrast outline and an offset.
Estimated effort
Small

Notes and limitations

  • Only the pages listed above were tested, on the environments listed. Other pages and devices may behave differently.
  • Severity reflects the likely effect on a visitor completing a task; it is a judgement, not a measurement.
  • WCAG references point to the success criterion most relevant to the finding. This report is not a conformance evaluation.
  • Effort estimates assume a developer familiar with the site's platform and are indicative only.
  • No security testing was performed beyond what is visible to an ordinary visitor.

Want this for your own site?

Same structure, your pages, written by a person who clicked every button. Choose a package to get started.