open-scans

Scan Report: Preserve.eco

🎯 Priority: Pages with Most Errors

Focus your efforts on these pages to make the biggest impact (combined scanner unique failures):

Page axe Unique Equal Access Unique Total Unique Page Title
View Page 29 99 128 Preserve
View Page 13 96 109 Collections – Preserve
View Page 10 91 101 Preserve Compostables
View Page 10 46 56 Contact Us – Preserve
View Page 9 37 46 Shop Toothbrushes, Razors, and Houseware from 100% Recycled Plastic – Preserve
View Page 10 34 44 Overview – Preserve
View Page 10 34 44 B Corp Certification – Preserve

🔧 Priority: Most Common Issues (ALFA)

These ALFA accessibility issues appear most frequently across your pages:

✅ No ALFA failed rules detected!

🔧 Priority: Most Common Issues (axe)

These axe accessibility issues appear most frequently across your pages:

Rule Pages Affected Documentation
button-name 7 of 7 View Rule
heading-order 7 of 7 View Rule
html-has-lang 7 of 7 View Rule
image-alt 7 of 7 View Rule
label 7 of 7 View Rule
link-name 7 of 7 View Rule
region 7 of 7 View Rule
color-contrast 6 of 7 View Rule
page-has-heading-one 1 of 7 View Rule

💡 Tip: Click on the rule documentation links to learn how to fix each issue. Consider fixing the most common issues first for maximum impact.

🤖 Future Enhancement: This report will soon include AI-powered fix suggestions for authenticated GitHub users (opt-in only, no auto-run AI).

🔍 Cross-Page Patterns: Common HTML Issues

These HTML patterns cause the same accessibility errors across multiple pages. Fix the pattern once in your codebase to fix it everywhere!

🎯 Top Patterns to Fix (Highest Impact)

Pattern 1: Affects 7 page(s) - 7 occurrence(s)

Scanner: axe Rule: button-name Impact: critical Issue: Buttons must have discernible text

HTML Pattern:

<button type="submit" class="btn search-btn"></button>

XPath (use in browser DevTools):

.search-btn

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('.search-btn')
  5. The element will be highlighted

Affected Pages:


Pattern 2: Affects 7 page(s) - 7 occurrence(s)

Scanner: axe Rule: image-alt Impact: critical Issue: Images must have alternative text

HTML Pattern:

<img src="//www.preserve.eco/cdn/shop/t/21/assets/account.svg?v=152161910560963363051726753645">

XPath (use in browser DevTools):

a[href$="account"] > img

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('a[href$="account"] > img')
  5. The element will be highlighted

Affected Pages:


Pattern 3: Affects 7 page(s) - 7 occurrence(s)

Scanner: axe Rule: link-name Impact: serious Issue: Links must have discernible text

HTML Pattern:

<a href="/account"><img src="//www.preserve.eco/cdn/shop/t/21/assets/account.svg?v=152161910560963363051726753645"></a>

XPath (use in browser DevTools):

a[href$="account"]

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('a[href$="account"]')
  5. The element will be highlighted

Affected Pages:


Pattern 4: Affects 7 page(s) - 7 occurrence(s)

Scanner: axe Rule: link-name Impact: serious Issue: Links must have discernible text

HTML Pattern:

<a href="/pages/contact-us123"></a>

XPath (use in browser DevTools):

a[href$="contact-us123"]

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('a[href$="contact-us123"]')
  5. The element will be highlighted

Affected Pages:


Pattern 5: Affects 7 page(s) - 7 occurrence(s)

Scanner: axe Rule: link-name Impact: serious Issue: Links must have discernible text

HTML Pattern:

<a href="/cart" class="CartToggle header-cart"></a>

XPath (use in browser DevTools):

.nav--desktop > .mobile-wrapper > .header-cart__wrapper > .header-cart.CartToggle[href$="cart"]

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('.nav--desktop > .mobile-wrapper > .header-cart__wrapper > .header-cart.CartToggle[href$="cart"]')
  5. The element will be highlighted

Affected Pages:


Pattern 6: Affects 7 page(s) - 7 occurrence(s)

Scanner: axe Rule: region Impact: moderate Issue: All page content should be contained by landmarks

HTML Pattern:

<div class="header-account-link">
          <a href="/account"><img src="//www.preserve.eco/cdn/shop/t/21/assets/account.svg?v=152161910560963363051726753645"></a>
        </div>

XPath (use in browser DevTools):

.header-account-link

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('.header-account-link')
  5. The element will be highlighted

Affected Pages:


Pattern 7: Affects 6 page(s) - 6 occurrence(s)

Scanner: axe Rule: color-contrast Impact: serious Issue: Elements must meet minimum color contrast ratio thresholds

HTML Pattern:

<span id="qab_message" style="color: inherit; font-size: 18px;">FREE SHIPPING ON ALL U.S. ORDERS OVER $50! </span>

XPath (use in browser DevTools):

#qab_message

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('#qab_message')
  5. The element will be highlighted

Affected Pages:


Pattern 8: Affects 6 page(s) - 6 occurrence(s)

Scanner: axe Rule: heading-order Impact: moderate Issue: Heading levels should only increase by one

HTML Pattern:

<h5 class="uppercase">Main menu </h5>

XPath (use in browser DevTools):

.large--one-third.grid__item:nth-child(1) > h5

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('.large--one-third.grid__item:nth-child(1) > h5')
  5. The element will be highlighted

Affected Pages:


Pattern 9: Affects 5 page(s) - 5 occurrence(s)

Scanner: axe Rule: label Impact: critical Issue: Form elements must have labels

HTML Pattern:

<input class="search-bar snize-input-style" type="search" name="q" role="combobox" aria-haspopup="listbox" aria-autocomplete="list" aria-expanded="false" autocorrect="off" autocapitalize="off" autocomplete="off">

XPath (use in browser DevTools):

.search-bar

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('.search-bar')
  5. The element will be highlighted

Affected Pages:


Pattern 10: Affects 2 page(s) - 2 occurrence(s)

Scanner: axe Rule: label Impact: critical Issue: Form elements must have labels

HTML Pattern:

<input class="search-bar" type="search" name="q">

XPath (use in browser DevTools):

.search-bar

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('.search-bar')
  5. The element will be highlighted

Affected Pages:


Pattern 11: Affects 2 page(s) - 2 occurrence(s)

Scanner: axe Rule: html-has-lang Impact: serious Issue: <html> element must have a lang attribute

HTML Pattern:

<html class="supports-js supports-no-touch supports-csstransforms supports-csstransforms3d supports-fontface wf-opensans-n7-active wf-opensans-n4-active wf-oswald-n4-active wf-opensans-i4-active wf-opensans-i7-active wf-active" style="">

XPath (use in browser DevTools):

html

How to Replicate:

  1. Open any affected page in your browser
  2. Press F12 to open DevTools
  3. Go to Console tab
  4. Run: $x('html')
  5. The element will be highlighted

Affected Pages:


💡 Pro Tip: These patterns likely come from shared components or templates in your codebase. Fix them in the component/template source, and the fix will propagate to all affected pages.

📊 Detailed Results

Complete scan results for all tested pages:

Submitted URL Final URL Status HTTP Redirected Time (ms) axe Unique ALFA Unique Equal Access Unique AccessLint Unique Duplicates Notes
https://www.preserve.eco/ https://www.preserve.eco/ OK 200 no 7054 9 0 37 0 1 Skipped (not requested)
                    axe failed rules: button-name, heading-order, html-has-lang, image-alt, label, link-name, region  
                    Equal Access failed rules: a_text_purpose, aria_role_redundant, element_attribute_deprecated, element_tabbable_unobscured, element_tabbable_visible, html_lang_exists, img_alt_valid, input_label_exists, input_label_visible, style_color_misuse, style_focus_visible, style_highcontrast_visible, svg_graphics_labelled, text_block_heading, text_sensory_misuse  
https://www.preserve.eco/collections https://www.preserve.eco/collections OK 200 no 23231 13 0 96 0 2 Skipped (not requested)
                    axe failed rules: button-name, color-contrast, heading-order, html-has-lang, image-alt, label, link-name, page-has-heading-one, region  
                    Equal Access failed rules: a_text_purpose, aria_attribute_deprecated, aria_role_redundant, element_attribute_deprecated, element_tabbable_role_valid, element_tabbable_unobscured, element_tabbable_visible, html_lang_exists, html_skipnav_exists, img_alt_valid, input_label_exists, input_label_visible, style_color_misuse, style_focus_visible, style_highcontrast_visible, text_block_heading, text_contrast_sufficient  
https://www.preserve.eco/pages/overview https://www.preserve.eco/pages/overview OK 200 no 4584 10 0 34 0 1 Skipped (not requested)
                    axe failed rules: button-name, color-contrast, heading-order, html-has-lang, image-alt, label, link-name, region  
                    Equal Access failed rules: a_text_purpose, aria_role_redundant, element_attribute_deprecated, element_tabbable_unobscured, element_tabbable_visible, html_lang_exists, img_alt_valid, input_label_exists, input_label_visible, style_color_misuse, style_focus_visible, style_highcontrast_visible, text_block_heading, text_contrast_sufficient  
https://www.preserve.eco/pages/bcorp-certification https://www.preserve.eco/pages/bcorp-certification OK 200 no 4091 10 0 34 0 1 Skipped (not requested)
                    axe failed rules: button-name, color-contrast, heading-order, html-has-lang, image-alt, label, link-name, region  
                    Equal Access failed rules: a_text_purpose, aria_keyboard_handler_exists, aria_role_redundant, aria_role_valid, element_attribute_deprecated, element_tabbable_visible, html_lang_exists, img_alt_valid, input_label_exists, input_label_visible, style_color_misuse, style_focus_visible, style_highcontrast_visible, text_block_heading, text_contrast_sufficient, text_sensory_misuse  
https://www.preserve.eco/a/faq https://www.preserve.eco/a/faq OK 200 no 5110 29 0 99 0 3 Skipped (not requested)
                    axe failed rules: button-name, color-contrast, heading-order, html-has-lang, image-alt, label, link-name, region  
                    Equal Access failed rules: a_text_purpose, aria_keyboard_handler_exists, aria_role_redundant, aria_role_valid, element_attribute_deprecated, element_tabbable_unobscured, element_tabbable_visible, html_lang_exists, img_alt_valid, input_label_exists, input_label_visible, label_ref_valid, style_color_misuse, style_focus_visible, style_highcontrast_visible, text_block_heading, text_contrast_sufficient, text_sensory_misuse  
https://www.preserve.eco/collections/preserve https://www.preserve.eco/collections/preserve OK 200 no 6080 10 0 91 0 1 Skipped (not requested)
                    axe failed rules: button-name, color-contrast, heading-order, html-has-lang, image-alt, label, link-name, region  
                    Equal Access failed rules: a_text_purpose, aria_attribute_deprecated, aria_role_redundant, element_attribute_deprecated, element_tabbable_role_valid, element_tabbable_visible, html_lang_exists, img_alt_valid, input_label_exists, input_label_visible, style_color_misuse, style_focus_visible, style_highcontrast_visible, text_block_heading, text_contrast_sufficient  
https://www.preserve.eco/pages/contact-us https://www.preserve.eco/pages/contact-us OK 200 no 4249 10 0 46 0 3 Skipped (not requested)
                    axe failed rules: button-name, color-contrast, heading-order, html-has-lang, image-alt, label, link-name, region  
                    Equal Access failed rules: a_text_purpose, aria_role_redundant, element_attribute_deprecated, element_tabbable_unobscured, element_tabbable_visible, html_lang_exists, img_alt_valid, input_label_exists, input_label_visible, style_color_misuse, style_focus_visible, style_highcontrast_visible, text_block_heading, text_contrast_sufficient, text_sensory_misuse  

Detailed Failure Information (ALFA)

Detailed Failure Information (axe)

https://www.preserve.eco/

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: region

Impact: moderate

Failure 1:

https://www.preserve.eco/collections

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: color-contrast

Impact: serious WCAG: SC 1.4.3 (Level AA)

Failure 1:

Failure 2:

Failure 3:

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: page-has-heading-one

Impact: moderate

Failure 1:

Rule: region

Impact: moderate

Failure 1:

https://www.preserve.eco/pages/overview

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: color-contrast

Impact: serious WCAG: SC 1.4.3 (Level AA)

Failure 1:

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: region

Impact: moderate

Failure 1:

https://www.preserve.eco/pages/bcorp-certification

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: color-contrast

Impact: serious WCAG: SC 1.4.3 (Level AA)

Failure 1:

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: region

Impact: moderate

Failure 1:

https://www.preserve.eco/a/faq

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: color-contrast

Impact: serious WCAG: SC 1.4.3 (Level AA)

Failure 1:

Failure 2:

Failure 3:

Failure 4:

Failure 5:

… and 15 more failures for this rule

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: region

Impact: moderate

Failure 1:

https://www.preserve.eco/collections/preserve

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: color-contrast

Impact: serious WCAG: SC 1.4.3 (Level AA)

Failure 1:

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: region

Impact: moderate

Failure 1:

https://www.preserve.eco/pages/contact-us

Rule: button-name

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Rule: color-contrast

Impact: serious WCAG: SC 1.4.3 (Level AA)

Failure 1:

Rule: heading-order

Impact: moderate

Failure 1:

Rule: html-has-lang

Impact: serious WCAG: SC 3.1.1 (Level A)

Failure 1:

Rule: image-alt

Impact: critical WCAG: SC 1.1.1 (Level A)

Failure 1:

Rule: label

Impact: critical WCAG: SC 4.1.2 (Level A)

Failure 1:

Impact: serious WCAG: SC 2.4.4, SC 4.1.2 (Level A)

Failure 1:

Failure 2:

Failure 3:

Rule: region

Impact: moderate

Failure 1: