Public accessibility assessment

Accessibility issues detected on ilovepeanutbutter.com

Evolize inspected 5 public pages on ilovepeanutbutter.com and detected 30 automatically identifiable accessibility findings.

30Findings detected
7WCAG criteria affected
5Pages inspected
8 Sep 2026Assessment date

Highest detected severity: Critical · 16 high-priority findings · 100% inspected-page coverage

Most widespread issueEmbedded frames lack descriptive titlesDetected on 5 inspected pages
Most affected page/products/gift-card25 findings detected
Most represented WCAG criterionWCAG 1.4.3 — Contrast (Minimum)13 detected findings

Is ilovepeanutbutter.com your website?

Keep this assessment current and get notified when new accessibility issues are detected.

https://

Not your website? Scan your own site →

01 · Accessibility summary

Evolize inspected 5 public pages on ilovepeanutbutter.com and detected 30 accessibility findings. The most widespread issue was "Embedded frames lack descriptive titles", detected on 5 inspected pages. The most affected inspected page was "/products/gift-card", where 25 findings were detected. The assessment identified findings mapped to 7 WCAG success criterions. The sections below prioritize the broadest issues and provide technical evidence for each detected finding.

02 · Start here

These findings combine the highest severity and broadest reach detected during this assessment.

  1. Critical

    Embedded frames lack descriptive titles

    WCAG 4.1.2 (A) · 5 inspected pages · 5 instances
    Why this matters

    An <iframe> has no title, so its purpose is not announced to assistive technology.

    Recommended action

    Add a concise title attribute that describes the frame's actual purpose — for example "Store locator" for a location search or "Promotional campaign" for a marketing embed. The affected frame loads https://www.google.c..., which can help identify its purpose. Avoid generic values such as "Embedded content", "iframe", or "frame".

    View technical evidence →
  2. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 35 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →
  3. High

    Modal dialog does not trap keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 5 instances
    Why this matters

    An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

    Recommended action

    While a modal is open, confine focus to the dialog and mark the rest of the page inert (or aria-hidden). Restore focus on close.

    View technical evidence →
  4. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 5 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →
  5. High

    Hidden elements can still receive keyboard focus

    WCAG 2.4.3 (A) · 5 inspected pages · 5 instances
    Why this matters

    An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

    Recommended action

    Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

    View technical evidence →

03 · WCAG criteria affected

CriterionNameLevelFindingsPagesReach
1.4.3Contrast (Minimum)AA1355 / 5
2.4.3Focus OrderA655 / 5
2.1.1KeyboardA455 / 5
4.1.2Name, Role, ValueA455 / 5
1.3.1Info and RelationshipsA255 / 5
1.4.4Resize TextAA111 / 5
3.3.2Labels or InstructionsA111 / 5

Absence of a criterion here does not indicate conformance with it — only that no automatically detectable issue was found for it.

Continuous monitoring

A scan shows today's exposure. Monitoring shows what changes next.

Evolize continuously reassesses public website pages, detects newly introduced or recurring accessibility findings, and tracks remediation over time.

04 · All detected findings

Critical

Embedded frames lack descriptive titles

WCAG 4.1.2 (A)5 instances5 inspected pages

An <iframe> has no title, so its purpose is not announced to assistive technology.

Why it matters

An <iframe> has no title, so its purpose is not announced to assistive technology.

Recommended correction

Add a concise title attribute that describes the frame's actual purpose — for example "Store locator" for a location search or "Promotional campaign" for a marketing embed. The affected frame loads https://www.google.c..., which can help identify its purpose. Avoid generic values such as "Embedded content", "iframe", or "frame".

View 5 affected elements
Component · Ref LT2HUW
Affected pagehttps://ilovepeanutbutter.com/account/login
Element#merchantwidgetiframe
Markup
<iframe id="merchantwidgetiframe" allowtransparency="true" frameborder="0" scrolling="no" sandbox="allow-same-origin al..." src="https://www.google.c..." style="position: absolute; ...">
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
High

Text has insufficient colour contrast

WCAG 1.4.3 (AA)38 instances5 inspected pages

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Why it matters

Text and background colours do not meet the minimum contrast ratio, reducing legibility.

Recommended correction

Increase the contrast ratio to at least 4.5:1 for normal text and 3:1 for large text.

View 38 affected elements
Component · Ref TZKAN6
Affected pagehttps://ilovepeanutbutter.com/pages/newsletter-signup
Element.ql-font-poppins
Accessible namewe're so happy you're here
Markup
<span style="font-size: 16px; color: rgb(255, 255, 255); font-family: Poppins-Klaviyo-Hosted, Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400;" class="ql-font-poppins">we're so happy you're here</span>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref 27CUYU
Affected pagehttps://ilovepeanutbutter.com/account/login
Element.go2934122318
Accessible nameSign Me Up!
Markup
<button type="button" tabindex="0" data-action-id="01JPT79M3SC5YHWJ39XXQ2K3CE" class="needsclick go2934122318 go4033861592 klaviyo-form-button kl-private-reset-css-Xuajs1">Sign Me Up!</button>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref BTITJ3
Affected pagehttps://ilovepeanutbutter.com/account/login
Element#notificationPolicyLink
Accessible nameLearn More
Markup
<a href="/privacy-policy" id="notificationPolicyLink" target="_blank" rel="noreferrer">Learn More</a>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref NWWHH6
Affected pagehttps://ilovepeanutbutter.com/cart
Element#notificationManagerLink
Accessible nameManage Cookies
Rolebutton
Markup
<a id="notificationManagerLink" href="#" role="button" class="manager-link">
            Manage Cookies
          </a>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref MC108S
Affected pagehttps://ilovepeanutbutter.com/
Element#rich-text-01JPT79M4ZV323JWM8GM9CH0KM > h1 > span
Accessible nameEnjoy 10% off your first purchase
Markup
<span style="font-weight: 400; font-size: 40px; font-family: Poppins-Klaviyo-Hosted, Arial, 'Helvetica Neue', Helvetica, sans-serif; color: rgb(255, 255, 255); font-style: normal;">Enjoy 10% off your first purchase</span>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref N99JZO
Affected pagehttps://ilovepeanutbutter.com/cart
Element#rich-text-01JPT79M594T0WMSAHZ2YJWW04 > p > span
Accessible namewhen you join our list
Markup
<span style="color: rgb(255, 255, 255); font-size: 14px; font-family: Poppins-Klaviyo-Hosted, Arial, 'Helvetica Neue', Helvetica, sans-serif; font-weight: 400; font-style: normal;">when you join our list</span>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref CC5VVQ
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Element.gc__banner > p
Accessible nameBelow is a preview of the page your gift recipient will be sent.
Markup
<p>Below is a preview of the page your gift recipient will be sent.</p>
Component · Ref IJUXBP
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Element.gc__breadcrumb_disabled
Accessible nameGift Message
Rolebutton
Markup
<a tabindex="-1" role="button" rel="”nofollow”" class="gc__breadcrumb_disabled gc__breadcrumb_button">Gift Message</a>
Component · Ref H8CX24
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Element.gc__step_active > .gc__footer-section > fieldset > .gc__flex-section.gc__footer-total-section > .gc__heading
Accessible nameGift Card Value
Markup
<div class="gc__heading">Gift Card Value</div>
Component · Ref RKYXR5
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Element.gc__active > .gc__tab_navigation_link[aria-current="page"]
Accessible namegeneral
Markup
<a class="gc__tab_navigation_link" aria-current="page">general</a>
Component · Ref R86AIU
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Elementh3
Accessible nameRecipient Preview
Markup
<h3>Recipient Preview</h3>
Component · Ref WOHZGF
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Element.gc__form_help
Accessible nameSelect a greeting card image
Markup
<div class="gc__form_help">Select a greeting card image</div>
Component · Ref OPFLAN
Affected pagehttps://ilovepeanutbutter.com/
Elementa[href$="keto-friendly"] > .skrim__title > .skrim__underline-me
Accessible nameKeto-Friendly Spreads
Markup
<div class="skrim__underline-me">
        Keto-Friendly Spreads
      </div>
High

Hidden elements can still receive keyboard focus

WCAG 2.4.3 (A)50 instances5 inspected pages

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Why it matters

An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.

Recommended correction

Keep this element out of the tab order while its containing region is hidden — remove it from focus (for example tabindex="-1"), or apply the inert attribute to the hidden container where supported. Restore normal focusability when the region becomes visible.

View 50 affected elements
Component · Ref T6Q59L
Affected pagehttps://ilovepeanutbutter.com/cart
Elementdiv:nth-of-type(2) > ul:nth-of-type(1) > li:nth-of-type(1) > div:nth-of-type(1) > div > button
Accessible nameProducts
Markup
<button type="button" class="collapsible-trigger collapsible--auto-height" aria-controls="Linklist-collections-all-products1" aria-labelledby="Label-collections-all-products1" aria-expanded="false"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation">
  <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"></path></svg>
</span>
</button>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref DMP0BV
Affected pagehttps://ilovepeanutbutter.com/pages/newsletter-signup
Elementdiv#NavDrawer > div > div:nth-of-type(2) > ul:nth-of-type(1) > li:nth-of-type(6) > a
Accessible nameBlog
Markup
<a href="/blogs/news" class="mobile-nav__link">Blog</a>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref UUSQSE
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Elementdiv#NavDrawer > div > div:nth-of-type(1) > div > div:nth-of-type(2) > button
Accessible nameicon-X Close menu
Markup
<button type="button" class="drawer__close-button js-drawer-close">
            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"></path></svg>
            <span class="icon__fallback-text">Close menu</span>
          </button>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref RV0PR4
Affected pagehttps://ilovepeanutbutter.com/pages/newsletter-signup
Elementa#Label-collections-all-products1
Accessible nameProducts
Markup
<a href="/collections/all-products" class="mobile-nav__link" id="Label-collections-all-products1">
                    Products
                  </a>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
High

Interactive controls are not keyboard-accessible

WCAG 2.1.1 (A)8 instances5 inspected pages

A control that responds to clicks (a clickable element or an ARIA widget) cannot receive keyboard focus, so keyboard and switch users cannot operate it.

Why it matters

A control that responds to clicks (a clickable element or an ARIA widget) cannot receive keyboard focus, so keyboard and switch users cannot operate it.

Recommended correction

Use a native <button>/<a>, or add tabindex="0" plus keyboard event handlers (Enter/Space) to custom controls.

View 8 affected elements
Component · Ref WA8PWK
Affected pagehttps://ilovepeanutbutter.com/
Elementdetails#site-nav-item--1 > summary
Accessible nameProducts
Rolebutton
Markup
<summary data-link="/collections/all-products" aria-expanded="false" aria-controls="site-nav-item--1" role="button" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown">
            Products <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"></path></svg>
          </summary>
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Component · Ref GK2BX1
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Elementdiv#gcpPurchaseFormWrapper > div:nth-of-type(1) > ul > li:nth-of-type(3) > a
Accessible nameGift Message
Rolebutton
Markup
<a tabindex="-1" role="button" rel="”nofollow”" class="gc__breadcrumb_disabled gc__breadcrumb_button">Gift Message</a>
Component · Ref 9YVD6T
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Elementdiv#gcpPurchaseFormWrapper > div:nth-of-type(1) > ul > li:nth-of-type(1) > a
Accessible nameGreeting Card
Rolebutton
Markup
<a tabindex="-1" role="button" rel="”nofollow”" class="gc__breadcrumb_button gc__breadcrumb_active">Greeting Card</a>
Component · Ref 26QAOO
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Elementdiv#gcpPurchaseFormWrapper > div:nth-of-type(1) > ul > li:nth-of-type(2) > a
Accessible nameGift Card
Rolebutton
Markup
<a tabindex="-1" role="button" rel="”nofollow”" class="gc__breadcrumb_button">Gift Card</a>
High

Modal dialog does not trap keyboard focus

WCAG 2.4.3 (A)5 instances5 inspected pages

An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

Why it matters

An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.

Recommended correction

While a modal is open, confine focus to the dialog and mark the rest of the page inert (or aria-hidden). Restore focus on close.

View 5 affected elements
Component · Ref C3ZFED
Affected pagehttps://ilovepeanutbutter.com/account/login
Elementhtml > body > div:nth-of-type(18) > div > div:nth-of-type(2)
Accessible namePOPUP Form
Roledialog
Markup
<div role="dialog" aria-modal="true" aria-label="POPUP Form" class="needsclick  kl-private-reset-css-Xuajs1" style="display: flex; z-index: 90000; position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; justify-content: center; align-items: center; overflow: clip auto; background-color: rgba(20, 20, 20, 0.6); animation-timing-function: ease; animation-play-state: running; animation-iteration-count: 1; animation-fill-mode: forwards; animation-delay: 0s; animation-duration: 0.35s; animation-name: klaviyo-fadein;" data-kl-scroll-locking-modal="true"><div class="needsclick  kl-private-res…
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Medium

Content sits outside any landmark region

WCAG 1.3.1 (A)5 instances5 inspected pages

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Why it matters

Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.

Recommended correction

Wrap primary content in <main> and other regions in appropriate landmark elements.

View 5 affected elements
Component · Ref G2C483
Affected pagehttps://ilovepeanutbutter.com/cart
Elementdiv#NavDrawer > div > div:nth-of-type(2) > ul:nth-of-type(2) > li:nth-of-type(1)
Accessible nameinstagram Instagram
Markup
<li>
      <a target="_blank" rel="noopener" href="https://www.instagram.com/peanutbutterco/?hl=en" title="Peanut Butter &amp; Co - ilovepeanutbutter.com on Instagram" class="js-no-transition">
        <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><title>instagram</title><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.…
Affected pages/ /account/login /pages/newsletter-signup /products/gift-card /cart
Medium

ARIA hidden element must not be focusable or contain focusable elements

WCAG 4.1.2 (A)1 instance1 inspected page

ARIA hidden element must not be focusable or contain focusable elements

Why it matters

ARIA hidden element must not be focusable or contain focusable elements

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 1 affected element
Component · Ref RAZIWC
Affected pagehttps://ilovepeanutbutter.com/
Element.slideshow__slide--image_cP7HCN
Accessible name.slideshow__slide--image_cP7HCN .hero__title { font-size: 40.0px; } @media only screen and (min-width: 769px) { .slideshow__slide--image_cP7HCN .hero__title { font-size: 80px; } }
Markup
<div class="slideshow__slide slideshow__slide--image_cP7HCN" data-index="1" data-id="image_cP7HCN" aria-hidden="true" style="position: absolute; left: 0px; transform: translateX(-50%);">
Medium

Form fields use placeholder text as the only label

WCAG 1.3.1 (A)3 instances1 inspected page

Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

Why it matters

Fields rely on placeholder text instead of a real label. The placeholder disappears once the user types, and it is not exposed as a programmatic label.

Recommended correction

Add a persistent <label> associated with each field. Keep the placeholder for example text only, not as the label.

View 3 affected elements
Component · Ref 5NYXAD
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Elementdiv:nth-of-type(4) > section:nth-of-type(2) > fieldset > div:nth-of-type(2) > div:nth-of-type(1) > input
Markup
<input class="gc__input_field  gc__recipient-email--input" name="properties[_gcp_recipient_email]" type="email" min="0.01" step="0.01" max="500" placeholder="eg) [email removed]" value="">
Medium

Frames must have a unique title attribute

WCAG 4.1.2 (A)2 instances1 inspected page

Frames must have a unique title attribute

Why it matters

Frames must have a unique title attribute

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 2 affected elements
Component · Ref P3G9A8
Affected pagehttps://ilovepeanutbutter.com/cart
Element.Giftbox-Popup-Iframe-3082023
Accessible namegb-frame
Markup
<iframe title="gb-frame" data-cy="popup" tabindex="1" srcdoc="
<!DOCTYPE html>
<ht..." class=" Giftbox-Popup-Ifram..." style="display: block; over...">
Component · Ref TYMVEX
Affected pagehttps://ilovepeanutbutter.com/cart
Elementiframe[data-cy="launcher"]
Accessible namegb-frame
Markup
<iframe title="gb-frame" data-cy="launcher" srcdoc="
<!DOCTYPE html>
<ht..." style="display: block; over...">
Medium

Zooming and scaling must not be disabled

WCAG 1.4.4 (AA)1 instance1 inspected page

Zooming and scaling must not be disabled

Why it matters

Zooming and scaling must not be disabled

Recommended correction

Review the affected element and correct the reported accessibility issue.

View 1 affected element
Component · Ref E96BW3
Affected pagehttps://ilovepeanutbutter.com/a/gc/gift-card/
Element#MainContent > meta[name="viewport"]
Markup
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
Low

Positive tabindex disrupts focus order

WCAG 2.4.3 (A)2 instances2 inspected pages

Elements use tabindex greater than zero, overriding the natural DOM focus order in confusing ways.

Why it matters

Elements use tabindex greater than zero, overriding the natural DOM focus order in confusing ways.

Recommended correction

Remove positive tabindex values; rely on DOM order and tabindex=0 / -1 only.

View 2 affected elements
Component · Ref 3CI565
Affected pagehttps://ilovepeanutbutter.com/
Elementdiv#giftbox-root > div > div > iframe
Accessible namegb-frame
Markup
<iframe title="gb-frame" data-cy="popup" tabindex="1" srcdoc="
<!DOCTYPE html>
<html>
  <head>
    <meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;>

    <style>
      :root{--gb-font-family:-apple-system,BlinkMacSystemFont,sans-serif}*{font-family:var(--gb-font-family)!important}.text-heading-lg{font-size:20px;font-weight:600;letter-spacing:-.8px;line-height:26px}.text-heading-md{font-size:16px;font-weight:600;letter-spacing:-.4px;line-height:22px}.text-heading-sm{font-size:16px;font-weight:400;letter-spacing:0;line-height:22px}.text-body{font-weight:400…
Affected pages/ /cart

05 · Most affected inspected pages

06 · About this assessment

Evolize inspects publicly accessible website pages using automated browser-based testing and deterministic accessibility rules. Automated testing can identify many reproducible technical issues but cannot determine complete WCAG or legal compliance.

  • Publicly accessible surfaces only — no credentials, private systems, or source-code access.
  • Findings apply to the pages and states successfully inspected; automated analysis may not detect every issue.
  • Results reflect the site at the scan date and may have changed since.

Evolize provides digital risk intelligence and does not provide legal advice, certify compliance, or guarantee that litigation will not occur. Methodology · Security · Example assessment

07 · Continuous monitoring

This public report captures one assessment. Evolize monitoring rescans the website, detects new and recurring findings, tracks changes over time and verifies corrections.

Is information in this report inaccurate or outdated? Request a correction or removal.