# Scan Report: Preserve Wholesale Site

- Issue: https://github.com/mgifford/open-scans/issues/319
- Submitted by: dcj-preserve
- Scanned at: 2026-06-30T12:28:28.818Z
- Engines used: AXE, EQUALACCESS
- Scan duration: 1.7 minutes
- Total URLs submitted: 4
- Accepted public URLs: 4
- Rejected URLs: 0
- 🎨 **Accessibility personalization (CSS media queries):**
  - 🌙 Dark mode: None of the scanned URLs support `prefers-color-scheme: dark`
  - ⚡ Reduced motion: None of the scanned URLs support `prefers-reduced-motion: reduce`
  - 🔍 High contrast: None of the scanned URLs support `prefers-contrast: more`
  - 🖥️ **Forced colors:** 4 of 4 URLs (100%) support `forced-colors: active`
  - 🪟 Reduced transparency: None of the scanned URLs support `prefers-reduced-transparency: reduce`
- ALFA outcomes: 0 passed, 0 failed, 0 cantTell, 0 inapplicable
- axe outcomes: 3406 passed, 44 failed, 6 cantTell, 186 inapplicable
- Equal Access outcomes: 8524 passed, 108 failed (98 unique, 10 duplicate), 56 cantTell, 0 inapplicable
- AccessLint outcomes: 0 passed, 0 failed (0 unique, 0 duplicate), 0 cantTell, 0 inapplicable
- QualWeb outcomes: 0 passed, 0 failed, 0 cantTell, 0 inapplicable
- Duplicate findings caught by later scanners: 10

## 🔄 Changes Since Last Scan

- 🆕 **142 new unique issue(s)** detected for the first time in this scan

### 🆕 New Issues

- **A11Y-8ad07d95** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/
- **A11Y-830b7d74** `rule:heading-order|light` (axe) — https://www.preservewholesale.com/
- **A11Y-85c9399a** `rule:heading-order|light` (axe) — https://www.preservewholesale.com/
- **A11Y-be1fe612** `wcag:wcag311|light` (axe) — https://www.preservewholesale.com/
- **A11Y-e1eb7621** `wcag:wcag111|light` (axe) — https://www.preservewholesale.com/
- **A11Y-281e116b** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/
- **A11Y-7608750c** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/
- **A11Y-0442a152** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/
- **A11Y-e531349a** `rule:region|light` (axe) — https://www.preservewholesale.com/
- **A11Y-78f399d1** `rule:region|light` (axe) — https://www.preservewholesale.com/
- **A11Y-fce3ca49** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-f7ca9d3a** `rule:heading-order|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-c72521cd** `wcag:wcag311|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-a72d1c6c** `wcag:wcag111|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-8ce44823** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-1c07514e** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-a0347d42** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-49edc57d** `rule:region|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-ba1c0144** `rule:region|light` (axe) — https://www.preservewholesale.com/collections/all
- **A11Y-b99a5bac** `rule:html_lang_exists|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-437e9d71** `rule:style_color_misuse|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-e45fe34c** `rule:style_highcontrast_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-e9dbd650** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-a3324df9** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-7dad0af5** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-6a50939a** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-e7658b3b** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-e070ee20** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-9cb78e33** `rule:img_alt_valid|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-ae6fa23b** `rule:aria_content_in_landmark|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-383da4c9** `rule:style_focus_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-54aedd5c** `rule:input_label_exists|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-d31aaf40** `rule:style_focus_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-70f866cb** `rule:input_label_exists|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-2a713bbf** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-6af9394b** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-4d176244** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-960f2014** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-9e7e6f60** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-34eceae8** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-932dd2aa** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-3f46c83b** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-bb1c71fb** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-e2b279fe** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-ef9ed095** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-07d27601** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-485161ba** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-bf451437** `rule:text_block_heading|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-013bb158** `rule:input_label_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-555b2007** `rule:input_label_visible|light` (equalAccess) — https://www.preservewholesale.com/collections/all
- **A11Y-a4ce8584** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-915f34ce** `rule:heading-order|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-67c1c4fb** `wcag:wcag311|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-8e802f7c** `wcag:wcag111|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-b88f3677** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-158fcde6** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-e96ca276** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-227c5c72** `rule:region|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-26b6409e** `rule:region|light` (axe) — https://www.preservewholesale.com/pages/faqs
- **A11Y-e95f560f** `rule:html_lang_exists|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-a686e436** `rule:style_color_misuse|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-ea03ddd0** `rule:style_highcontrast_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-696487c1** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-5e35b408** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-7db39aad** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-866a390d** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-083acc5e** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-e554bb05** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-5cfa2151** `rule:img_alt_valid|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-b8674a23** `rule:aria_content_in_landmark|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-319c9609** `rule:style_focus_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-a5a18a39** `rule:input_label_exists|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-cfc22cc5** `rule:style_focus_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-06b014fb** `rule:input_label_exists|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-bfae9a12** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-aa481e94** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-21a7545b** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-ef3aaf1a** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-5bab347f** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-27b1ed8e** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-3aa49d6e** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-575e824a** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-068f3f70** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-69d7e87e** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-8c4a2132** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-92c09643** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-11c315da** `rule:text_block_heading|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-d50cac09** `rule:text_sensory_misuse|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-8cdfbd9d** `rule:text_sensory_misuse|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-741719c4** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-4b570fb3** `rule:input_label_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-c57ca76f** `rule:input_label_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/faqs
- **A11Y-02e6ec1d** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-b8d53a46** `wcag:wcag143|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-6ce1528a** `wcag:wcag143|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-504206be** `wcag:wcag143|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-af205b44** `rule:heading-order|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-e621cbb4** `wcag:wcag311|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-23e35e9f** `wcag:wcag111|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-2b1397b1** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-83bba14f** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-7e04ce12** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-76dbcf63** `wcag:wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-5890d7f0** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-8c433b5f** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-f7754b03** `wcag:wcag244+wcag412|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-2bf510ab** `rule:region|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-55770b55** `rule:region|light` (axe) — https://www.preservewholesale.com/pages/contact
- **A11Y-41860407** `rule:html_lang_exists|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-df3d1475** `rule:style_color_misuse|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-2aa52b0a** `rule:style_highcontrast_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-fbcd31d4** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-d29698ce** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-6f4b7376** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-28d1a454** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-88317b26** `rule:element_attribute_deprecated|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-8f3bd822** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-8c6e8ad0** `rule:img_alt_valid|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-9daf4600** `rule:aria_content_in_landmark|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-5eefa9e5** `rule:style_focus_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-ca5ca616** `rule:input_label_exists|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-2e92b549** `rule:style_focus_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-56b281da** `rule:input_label_exists|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-46a4ae0f** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-87de4b10** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-e76d566c** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-acbafc0f** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-1416acc4** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-9648fec4** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-9c2c4296** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-f56a392e** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-9dd6ebfd** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-e2a8a6aa** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-18d8616e** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-52b21461** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-ee4def7c** `rule:text_sensory_misuse|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-3fa2ed0d** `rule:element_tabbable_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-98e6bddd** `rule:a_text_purpose|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-fdb36a19** `rule:text_block_heading|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-d4d8678e** `rule:aria_role_redundant|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-a1261fd4** `rule:input_label_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact
- **A11Y-949a4064** `rule:input_label_visible|light` (equalAccess) — https://www.preservewholesale.com/pages/contact

## 🎯 Pages with Most Errors

Focus your efforts on these pages to make the biggest impact. Scanner columns show raw failures; the Total column remains unique across the active scanners.

| Page | axe Errors | Equal Access Errors | Total Unique | Page Title |
|---|---:|---:|---:|---|
| [View Page](https://www.preservewholesale.com/pages/contact) | 16 | 37 | **53** | Contact &ndash; preservewholesale |
| [View Page](https://www.preservewholesale.com/pages/faqs) | 9 | 39 | **48** | FAQs &ndash; preservewholesale |
| [View Page](https://www.preservewholesale.com/collections/all) | 9 | 32 | **41** | Products &ndash; preservewholesale |
| [View Page](https://www.preservewholesale.com/) | 10 | 0 | **10** | Preserve&#39;s Wholesale Store &ndash; preservewholesale |

## 🔧 Most Common Issues (ALFA)

These ALFA accessibility issues appear most frequently across your pages:

✅ No ALFA failed rules detected!

## 🔧 Most Common Issues (axe)

These axe accessibility issues appear most frequently across your pages:

| Rule | Pages Affected | Documentation |
|---|---:|---|
| button-name | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/button-name) |
| heading-order | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/heading-order) |
| html-has-lang | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/html-has-lang) |
| image-alt | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/image-alt) |
| label | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/label) |
| link-name | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/link-name) |
| region | **4** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/region) |
| color-contrast | **1** of 4 | [View Rule](https://dequeuniversity.com/rules/axe/4.11.1/color-contrast) |

> 💡 **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 4 page(s) - 4 occurrence(s)

**Scanner**: axe
**Rule**: [button-name](https://dequeuniversity.com/rules/axe/4.11/button-name?application=playwright)
**Impact**: critical
**Issue**: Buttons must have discernible text

**HTML Pattern**:
```html
<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**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

#### Pattern 2: Affects 4 page(s) - 4 occurrence(s)

**Scanner**: axe
**Rule**: [image-alt](https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright)
**Impact**: critical
**Issue**: Images must have alternative text

**HTML Pattern**:
```html
<img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197">
```

**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**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

#### Pattern 3: Affects 4 page(s) - 4 occurrence(s)

**Scanner**: axe
**Rule**: [label](https://dequeuniversity.com/rules/axe/4.11/label?application=playwright)
**Impact**: critical
**Issue**: Form elements must have labels

**HTML Pattern**:
```html
<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**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

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

**Scanner**: axe
**Rule**: [link-name](https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright)
**Impact**: serious
**Issue**: Links must have discernible text

**HTML Pattern**:
```html
<a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></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**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

#### Pattern 5: Affects 4 page(s) - 4 occurrence(s)

**Scanner**: axe
**Rule**: [link-name](https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright)
**Impact**: serious
**Issue**: Links must have discernible text

**HTML Pattern**:
```html
<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**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

#### Pattern 6: Affects 4 page(s) - 4 occurrence(s)

**Scanner**: axe
**Rule**: [region](https://dequeuniversity.com/rules/axe/4.11/region?application=playwright)
**Impact**: moderate
**Issue**: All page content should be contained by landmarks

**HTML Pattern**:
```html
<div class="header-account-link">
          <a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></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**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

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

**Scanner**: axe
**Rule**: [region](https://dequeuniversity.com/rules/axe/4.11/region?application=playwright)
**Impact**: moderate
**Issue**: All page content should be contained by landmarks

**HTML Pattern**:
```html
<div class="header-message uppercase header-message--crowded">
        
          <a href="/pages/contact-us123">Questions?  888-354-7296</a>
        
      </div>
```

**XPath** (use in browser DevTools):
```
.header-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('.header-message')`
5. The element will be highlighted

**Affected Pages**:
- https://www.preservewholesale.com/
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

#### Pattern 8: Affects 3 page(s) - 3 occurrence(s)

**Scanner**: axe
**Rule**: [heading-order](https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright)
**Impact**: moderate
**Issue**: Heading levels should only increase by one

**HTML Pattern**:
```html
<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**:
- https://www.preservewholesale.com/collections/all
- https://www.preservewholesale.com/pages/faqs
- https://www.preservewholesale.com/pages/contact

---

> 💡 **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 Errors | ALFA Errors | Equal Access Errors | AccessLint Errors | Duplicates | Notes |
|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---|
| https://www.preservewholesale.com/ | https://www.preservewholesale.com/ | OK | 200 | no | 18343 | 10 | 0 | 0 | 0 | 0 | Skipped (not requested) |
|  |  |  |  |  |  |  |  |  |  | axe failed rules: button-name, heading-order, html-has-lang, image-alt, label, link-name, region |
| https://www.preservewholesale.com/collections/all | https://www.preservewholesale.com/collections/all | OK | 200 | no | 30363 | 9 | 0 | 32 | 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_content_in_landmark, aria_role_redundant, 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 |
| https://www.preservewholesale.com/pages/faqs | https://www.preservewholesale.com/pages/faqs | OK | 200 | no | 25505 | 9 | 0 | 39 | 0 | 6 | 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_content_in_landmark, aria_role_redundant, 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_sensory_misuse |
| https://www.preservewholesale.com/pages/contact | https://www.preservewholesale.com/pages/contact | OK | 200 | no | 25580 | 16 | 0 | 37 | 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_content_in_landmark, aria_role_redundant, 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_sensory_misuse |

## Detailed Failure Information (ALFA)

## Detailed Failure Information (axe)

### https://www.preservewholesale.com/

#### Rule: [button-name](https://dequeuniversity.com/rules/axe/4.11/button-name?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Buttons must have discernible text
- HTML: `<button type="submit" class="btn search-btn"></button>`
- XPath: `.search-btn`

#### Rule: [heading-order](https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: Heading levels should only increase by one
- HTML: `<h4 class="home__subtitle">SHOP PRESERVE</h4>`
- XPath: `.wrapper > h4`

**Failure 2:**
- First identified: 2026-06-30
- Message: Heading levels should only increase by one
- HTML: `<h4 class="home__subtitle">Purchase with a Purpose</h4>`
- XPath: `.preventOverflowContent.text-center > h4`

#### Rule: [html-has-lang](https://dequeuniversity.com/rules/axe/4.11/html-has-lang?application=playwright)
**Impact**: serious
**WCAG**: [SC 3.1.1](https://www.w3.org/WAI/WCAG22/Understanding/language-of-page) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: <html> element must have a lang attribute
- HTML: `<html class="supports-js supports-no-touch supports-csstransforms supports-csstransforms3d supports-fontface wf-opensans-n4-active wf-oswald-n4-active wf-opensans-n7-active wf-opensans-i4-active wf-opensans-i7-active wf-active" style="">`
- XPath: `html`

#### Rule: [image-alt](https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright)
**Impact**: critical
**WCAG**: [SC 1.1.1](https://www.w3.org/WAI/WCAG22/Understanding/non-text-content) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Images must have alternative text
- HTML: `<img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197">`
- XPath: `a[href$="account"] > img`

#### Rule: [label](https://dequeuniversity.com/rules/axe/4.11/label?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input class="search-bar" type="search" name="q">`
- XPath: `.search-bar`

#### Rule: [link-name](https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright)
**Impact**: serious
**WCAG**: [SC 2.4.4](https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context), [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>`
- XPath: `a[href$="account"]`

**Failure 2:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/cart" class="CartToggle header-cart"></a>`
- XPath: `.nav--desktop > .mobile-wrapper > .header-cart__wrapper > .header-cart.CartToggle[href$="cart"]`

#### Rule: [region](https://dequeuniversity.com/rules/axe/4.11/region?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-account-link">           <a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>         </div>`
- XPath: `.header-account-link`

**Failure 2:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-message uppercase header-message--crowded">                    <a href="/pages/contact-us123">Questions?  888-354-7296</a>                </div>`
- XPath: `.header-message`

### https://www.preservewholesale.com/collections/all

#### Rule: [button-name](https://dequeuniversity.com/rules/axe/4.11/button-name?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Buttons must have discernible text
- HTML: `<button type="submit" class="btn search-btn"></button>`
- XPath: `.search-btn`

#### Rule: [heading-order](https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: Heading levels should only increase by one
- HTML: `<h5 class="uppercase">Main menu </h5>`
- XPath: `.large--one-third.grid__item:nth-child(1) > h5`

#### Rule: [html-has-lang](https://dequeuniversity.com/rules/axe/4.11/html-has-lang?application=playwright)
**Impact**: serious
**WCAG**: [SC 3.1.1](https://www.w3.org/WAI/WCAG22/Understanding/language-of-page) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: <html> element must have a lang attribute
- HTML: `<html class="supports-js supports-no-touch supports-csstransforms supports-csstransforms3d supports-fontface wf-oswald-n4-active wf-opensans-n4-active wf-opensans-n7-active wf-opensans-i4-active wf-opensans-i7-active wf-active" style="">`
- XPath: `html`

#### Rule: [image-alt](https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright)
**Impact**: critical
**WCAG**: [SC 1.1.1](https://www.w3.org/WAI/WCAG22/Understanding/non-text-content) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Images must have alternative text
- HTML: `<img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197">`
- XPath: `a[href$="account"] > img`

#### Rule: [label](https://dequeuniversity.com/rules/axe/4.11/label?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input class="search-bar" type="search" name="q">`
- XPath: `.search-bar`

#### Rule: [link-name](https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright)
**Impact**: serious
**WCAG**: [SC 2.4.4](https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context), [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>`
- XPath: `a[href$="account"]`

**Failure 2:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/cart" class="CartToggle header-cart"></a>`
- XPath: `.nav--desktop > .mobile-wrapper > .header-cart__wrapper > .header-cart.CartToggle[href$="cart"]`

#### Rule: [region](https://dequeuniversity.com/rules/axe/4.11/region?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-account-link">           <a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>         </div>`
- XPath: `.header-account-link`

**Failure 2:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-message uppercase header-message--crowded">                    <a href="/pages/contact-us123">Questions?  888-354-7296</a>                </div>`
- XPath: `.header-message`

### https://www.preservewholesale.com/pages/faqs

#### Rule: [button-name](https://dequeuniversity.com/rules/axe/4.11/button-name?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Buttons must have discernible text
- HTML: `<button type="submit" class="btn search-btn"></button>`
- XPath: `.search-btn`

#### Rule: [heading-order](https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: Heading levels should only increase by one
- HTML: `<h5 class="uppercase">Main menu </h5>`
- XPath: `.large--one-third.grid__item:nth-child(1) > h5`

#### Rule: [html-has-lang](https://dequeuniversity.com/rules/axe/4.11/html-has-lang?application=playwright)
**Impact**: serious
**WCAG**: [SC 3.1.1](https://www.w3.org/WAI/WCAG22/Understanding/language-of-page) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: <html> element must have a lang attribute
- HTML: `<html class="supports-js supports-no-touch supports-csstransforms supports-csstransforms3d supports-fontface wf-opensans-n4-active wf-oswald-n4-active wf-opensans-i4-active wf-opensans-i7-active wf-opensans-n7-active wf-active" style="">`
- XPath: `html`

#### Rule: [image-alt](https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright)
**Impact**: critical
**WCAG**: [SC 1.1.1](https://www.w3.org/WAI/WCAG22/Understanding/non-text-content) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Images must have alternative text
- HTML: `<img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197">`
- XPath: `a[href$="account"] > img`

#### Rule: [label](https://dequeuniversity.com/rules/axe/4.11/label?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input class="search-bar" type="search" name="q">`
- XPath: `.search-bar`

#### Rule: [link-name](https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright)
**Impact**: serious
**WCAG**: [SC 2.4.4](https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context), [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>`
- XPath: `a[href$="account"]`

**Failure 2:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/cart" class="CartToggle header-cart"></a>`
- XPath: `.nav--desktop > .mobile-wrapper > .header-cart__wrapper > .header-cart.CartToggle[href$="cart"]`

#### Rule: [region](https://dequeuniversity.com/rules/axe/4.11/region?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-account-link">           <a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>         </div>`
- XPath: `.header-account-link`

**Failure 2:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-message uppercase header-message--crowded">                    <a href="/pages/contact-us123">Questions?  888-354-7296</a>                </div>`
- XPath: `.header-message`

### https://www.preservewholesale.com/pages/contact

#### Rule: [button-name](https://dequeuniversity.com/rules/axe/4.11/button-name?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Buttons must have discernible text
- HTML: `<button type="submit" class="btn search-btn"></button>`
- XPath: `.search-btn`

#### Rule: [color-contrast](https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright)
**Impact**: serious
**WCAG**: [SC 1.4.3](https://www.w3.org/WAI/WCAG22/Understanding/contrast-minimum) (Level AA)

**Failure 1:**
- First identified: 2026-06-30
- Message: Elements must meet minimum color contrast ratio thresholds
- HTML: `<div class="esc-google-privacy">       This form is protected by reCAPTCHA and the Google       <a href="https://policies.google.com/privacy">Privacy Policy</a> and       <a href="https://policies.google.com/terms">Terms of Service</a> apply     </div>`
- XPath: `.esc-google-privacy`

**Failure 2:**
- First identified: 2026-06-30
- Message: Elements must meet minimum color contrast ratio thresholds
- HTML: `<a href="https://policies.google.com/privacy">Privacy Policy</a>`
- XPath: `.esc-google-privacy > a:nth-child(1)`

**Failure 3:**
- First identified: 2026-06-30
- Message: Elements must meet minimum color contrast ratio thresholds
- HTML: `<a href="https://policies.google.com/terms">Terms of Service</a>`
- XPath: `.esc-google-privacy > a:nth-child(2)`

#### Rule: [heading-order](https://dequeuniversity.com/rules/axe/4.11/heading-order?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: Heading levels should only increase by one
- HTML: `<h5 class="uppercase">Main menu </h5>`
- XPath: `.large--one-third.grid__item:nth-child(1) > h5`

#### Rule: [html-has-lang](https://dequeuniversity.com/rules/axe/4.11/html-has-lang?application=playwright)
**Impact**: serious
**WCAG**: [SC 3.1.1](https://www.w3.org/WAI/WCAG22/Understanding/language-of-page) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: <html> element must have a lang attribute
- HTML: `<html class="supports-js supports-no-touch supports-csstransforms supports-csstransforms3d supports-fontface wf-opensans-n4-active wf-opensans-n7-active wf-oswald-n4-active wf-opensans-i4-active wf-opensans-i7-active wf-active" style="">`
- XPath: `html`

#### Rule: [image-alt](https://dequeuniversity.com/rules/axe/4.11/image-alt?application=playwright)
**Impact**: critical
**WCAG**: [SC 1.1.1](https://www.w3.org/WAI/WCAG22/Understanding/non-text-content) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Images must have alternative text
- HTML: `<img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197">`
- XPath: `a[href$="account"] > img`

#### Rule: [label](https://dequeuniversity.com/rules/axe/4.11/label?application=playwright)
**Impact**: critical
**WCAG**: [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input class="search-bar" type="search" name="q">`
- XPath: `.search-bar`

**Failure 2:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input name="esc_cf_t" type="text" class="esc--1337">`
- XPath: `input[name="esc_cf_t"]`

**Failure 3:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input type="email" class="esc--1337">`
- XPath: `.esc--1337[type="email"]`

**Failure 4:**
- First identified: 2026-06-30
- Message: Form elements must have labels
- HTML: `<input type="text" class="esc--1337">`
- XPath: `.esc--1337[type="text"]:nth-child(3)`

#### Rule: [link-name](https://dequeuniversity.com/rules/axe/4.11/link-name?application=playwright)
**Impact**: serious
**WCAG**: [SC 2.4.4](https://www.w3.org/WAI/WCAG22/Understanding/link-purpose-in-context), [SC 4.1.2](https://www.w3.org/WAI/WCAG22/Understanding/name-role-value) (Level A)

**Failure 1:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>`
- XPath: `a[href$="account"]`

**Failure 2:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a href="/cart" class="CartToggle header-cart"></a>`
- XPath: `.nav--desktop > .mobile-wrapper > .header-cart__wrapper > .header-cart.CartToggle[href$="cart"]`

**Failure 3:**
- First identified: 2026-06-30
- Message: Links must have discernible text
- HTML: `<a id="s-dfc4472e-5a47-4824-8aaf-653e2c9f6ddf" class="shg-btn shg-cse " href="https://www.preserve.eco/pages/contact-us-online-order"></a>`
- XPath: `#s-dfc4472e-5a47-4824-8aaf-653e2c9f6ddf`

#### Rule: [region](https://dequeuniversity.com/rules/axe/4.11/region?application=playwright)
**Impact**: moderate

**Failure 1:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-account-link">           <a href="/account"><img src="//www.preservewholesale.com/cdn/shop/t/4/assets/account.svg?v=152161910560963363051645110197"></a>         </div>`
- XPath: `.header-account-link`

**Failure 2:**
- First identified: 2026-06-30
- Message: All page content should be contained by landmarks
- HTML: `<div class="header-message uppercase header-message--crowded">                    <a href="/pages/contact-us123">Questions?  888-354-7296</a>                </div>`
- XPath: `.header-message`

