Storefront accessibility lab / demonstration

A fix you can verify.

This fictional product page demonstrates six common e-commerce accessibility issues and working remediations. It is a process demonstration, not client work or a certificate of conformance.

Working component

Complete the product page using only a keyboard.

Use Tab and Shift+Tab. Select a size with the arrow keys, add the product to the basket and open delivery information. Focus remains visible and changes are announced to assistive technology.

Beige Aster One trainer with a light sole and a lime detail near the heel.

Everyday trainer / 01

Aster One

4.8 · 124 reviews

€109

Colour
EU size

Description and materials

A lightweight demonstration model made from fictional materials. The product and ASTER brand exist solely for this accessibility lab.

Issue → fix → retest

The code is part of the evidence.

Each finding explains user impact, a safe implementation direction and a repeatable acceptance test. “Before” snippets are displayed as text and do not reduce the accessibility of the demo itself.

01 / VariantsWCAG 1.3.1

Sizes without a group name

A row of controls labelled “40, 41, 42” does not tell screen-reader users what those values represent.

BEFORE<div><button>40</button>…</div>
AFTER<fieldset><legend>EU size</legend>…</fieldset>

Retest: the screen reader announces the group name, selected value and number of options.

02 / ErrorWCAG 3.3.1 · 3.3.2

No explanation when the basket action fails

When purchase is attempted without a size, the user receives a specific message and focus moves to the first option.

BEFOREalert('Error');
AFTERerror.textContent = message; firstSize.focus();

Retest: activate “Add to basket” without a size and verify focus position.

03 / StatusWCAG 4.1.3

The basket change is only visible as a number

A role="status" message announces the product, size and basket count without interrupting the user.

BEFOREcartCount.textContent = count;
AFTER<p role="status" aria-live="polite">…</p>

Retest: after adding the product, the update is announced while focus stays on the button.

04 / DialogWCAG 2.1.1 · 2.4.3

A modal without focus control

The native dialog element limits navigation to the open window. When closed, focus returns to the delivery information button.

BEFORE<div class="modal">…</div>
AFTER<dialog aria-labelledby="shipping-title">…</dialog>

Retest: open the dialog, use Tab and Escape, then verify focus return.

05 / FormWCAG 3.3.1 · 4.1.2

An error message not associated with its field

The promotion code has a persistent label, associated error text and an updated aria-invalid state.

Retest: enter an invalid code, then ACCESS10; verify both the message and field state.

06 / GraphicWCAG 1.1.1

A product graphic without a text alternative

The product image receives concise alternative text, so its meaning does not depend on sight alone.

BEFORE<img src="product.webp">
AFTER<img src="product.webp" alt="Beige Aster One trainer…">

Retest: a screen reader announces the product name and relevant visual characteristics.

Handover example

This is the summary an agency receives.

The final report includes remediation status and retest results. It does not leave the client with a generic list of recommendations.

Summary of six demonstration accessibility remediations
ComponentImpactChangeRetestStatus
Size variantOptions lack contextfieldset and legendKeyboard + screen readerImplemented
Purchase validationError is not identifiedMessage and focus movementPurchase without sizeImplemented
Basket statusUpdate is not exposed to ATrole="status"Announcement after addImplemented
Delivery informationFocus leaves the modalNative dialogTab, Escape, returnImplemented
Promotion codeError lacks field relationaria-describedby and aria-invalidInvalid/valid codeImplemented
Product imageNo text alternativeConcise alt attributeScreen readerImplemented

VOIDLAB AccessOps

One store. Defined scope. Verifiable result.

The mini-audit identifies priorities within a key customer journey. A technical remediation scope is created only after that evidence is available.

Delivery information

Free demonstration delivery on orders over €100. This fictional offer exists solely to demonstrate an accessible dialog.