WCAG 1.3.1: Info and Relationships
Level AQuick answer: Structure conveyed visually—like headings, labels, grouped options, and table relationships—must also be exposed in code.
What This Means
On ecommerce sites, Info and Relationships usually shows up in repeating storefront components such as product cards, PDP media, search results, cart drawers, checkout forms, and support content. If the live experience depends on patterns like variant pickers look grouped visually but are just loose divs and spans. or sale price and original price are styled differently with no semantic relationship., disabled shoppers can lose context or get blocked before purchase.
This criterion matters because D2C teams often fix the homepage but miss reusable app blocks, campaign pages, and mobile-specific UI. The practical standard is simple: build the same outcome for keyboard users, screen-reader users, low-vision users, and anyone relying on captions, labels, structure, or predictable behavior.
For Shopify, WooCommerce, and custom storefronts, the fastest remediation path is usually template-level work. Fix the repeated component once, then retest every place it appears across browse, buy, and post-purchase journeys.
Common Violations on Ecommerce Sites
- Variant pickers look grouped visually but are just loose divs and spans.
- Sale price and original price are styled differently with no semantic relationship.
- Checkout forms use placeholder text instead of actual labels and fieldsets.
- Comparison tables on collection pages use bold text instead of proper table headers.
How to Fix It
Start with the live customer journey, not isolated components in Storybook or Figma. Audit the problem on category pages, product detail pages, quick views, cart, checkout, account, and help templates.
- Use headings, lists, fieldsets, legends, and table headers for real structure.
- Associate form labels with inputs and group related choices like size and color.
- Expose price relationships with semantic HTML and accessible text, not layout alone.
- Review CMS blocks that editors build visually but that need heading hierarchy underneath.
On Shopify, fix the theme section or app block that repeats the defect. On WooCommerce and WordPress, update the template override or plugin output. In custom React or headless storefronts, move the fix into shared components so merchandisers cannot reintroduce the issue with every campaign.
Code Example
<!-- Before -->
<div class="options-title">Choose size</div>
<!-- After -->
<fieldset>
<legend>Choose size</legend>
<label><input type="radio" name="size"> Medium</label>
</fieldset>
FAQ
What is WCAG 1.3.1?
Structure conveyed visually—like headings, labels, grouped options, and table relationships—must also be exposed in code.
How does WCAG 1.3.1 affect ecommerce sites?
It affects ecommerce anywhere shoppers interact with variant pickers look grouped visually but are just loose divs and spans. and sale price and original price are styled differently with no semantic relationship. If those patterns are inaccessible, customers can miss product information, fail forms, or abandon checkout.
How to fix WCAG 1.3.1 violations?
Start by auditing the live storefront, then Use headings, lists, fieldsets, legends, and table headers for real structure.; Associate form labels with inputs and group related choices like size and color.; Expose price relationships with semantic HTML and accessible text, not layout alone.. Prioritize templates and apps that repeat the issue across product, cart, checkout, and account pages.
Check if your store passes WCAG 1.3.1 → Free ADA Compliance Scan