OpenAI GPT 5.4 Mini – Shopping

via OpenAI · Generated

  • AIMAC Debt 0.00
  • Cost $0.03
  • Total Violations 0
  • HTML Size 24 KB
  • Em Dashes 1

Screenshot

View OpenAI GPT 5.4 Mini Shopping page View Live Page

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>NorthCart — Smart Shopping, Better Deals</title>
  <meta name="description" content="NorthCart is a modern shopping destination for curated deals, seasonal collections, best sellers, and gift-ready finds with price-match confidence." />
  <style>
    :root{
      --bg: #0b1020;
      --bg-2:#11182d;
      --card:#121b33;
      --card-2:#0f1730;
      --text:#eef2ff;
      --muted:#b7c0e0;
      --line: rgba(255,255,255,.10);
      --brand:#7c5cff;
      --brand-2:#2dd4bf;
      --accent:#ffb84d;
      --good:#66e3a4;
      --bad:#ff7a7a;
      --shadow: 0 18px 60px rgba(0,0,0,.35);
      --radius: 22px;
      --radius-sm: 14px;
      --max: 1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(1200px 500px at 20% 0%, rgba(124,92,255,.22), transparent 60%),
        radial-gradient(900px 480px at 80% 10%, rgba(45,212,191,.16), transparent 55%),
        linear-gradient(180deg, #070b16 0%, #0b1020 100%);
      color:var(--text);
      line-height:1.6;
    }
    a{color:inherit; text-decoration:none}
    img{max-width:100%; display:block}
    .container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
    .topbar{
      padding:12px 0;
      border-bottom:1px solid var(--line);
      background: rgba(7,11,22,.7);
      backdrop-filter: blur(14px);
      position:sticky; top:0; z-index:50;
    }
    .header{
      display:flex; align-items:center; gap:20px; justify-content:space-between;
    }
    .brand{
      display:flex; align-items:center; gap:14px; min-width: 260px;
    }
    .brand img{width:54px; height:54px; border-radius:16px; box-shadow: var(--shadow)}
    .brand h1{margin:0; font-size:1.1rem; line-height:1.1}
    .brand p{margin:2px 0 0; color:var(--muted); font-size:.92rem}
    nav ul{
      list-style:none; display:flex; gap:18px; padding:0; margin:0; flex-wrap:wrap; justify-content:flex-end;
    }
    nav a{
      color:var(--muted);
      font-weight:600;
      font-size:.95rem;
      padding:10px 12px;
      border-radius:999px;
      transition:.2s ease;
    }
    nav a:hover{color:var(--text); background: rgba(255,255,255,.06)}
    .hero{
      padding:44px 0 22px;
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.3fr .7fr;
      gap:22px;
      align-items:stretch;
    }
    .panel{
      background: linear-gradient(180deg, rgba(18,27,51,.92), rgba(15,23,48,.88));
      border:1px solid var(--line);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }
    .hero-main{
      padding:32px;
      position:relative;
      overflow:hidden;
    }
    .eyebrow{
      display:inline-flex; gap:10px; align-items:center;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(124,92,255,.15);
      color:#d9d0ff;
      font-weight:700;
      font-size:.85rem;
      letter-spacing:.02em;
    }
    .hero h2{
      margin:18px 0 14px;
      font-size: clamp(2.2rem, 5vw, 4.8rem);
      line-height:1.02;
      letter-spacing:-.04em;
    }
    .hero p{
      margin:0 0 18px;
      color:var(--muted);
      max-width: 62ch;
      font-size:1.03rem;
    }
    .cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:22px}
    .btn{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      padding:13px 18px;
      border-radius:14px;
      font-weight:800;
      border:1px solid transparent;
      transition:.2s ease;
    }
    .btn-primary{background: linear-gradient(135deg, var(--brand), #9a7cff); color:white}
    .btn-secondary{background: rgba(255,255,255,.06); border-color: var(--line); color: var(--text)}
    .btn:hover{transform:translateY(-1px)}
    .hero-side{padding:18px}
    .mini-card{
      background: rgba(255,255,255,.04);
      border:1px solid var(--line);
      border-radius:18px;
      padding:16px;
      margin-bottom:14px;
    }
    .mini-card h3{margin:0 0 8px; font-size:1rem}
    .mini-card p{margin:0; color:var(--muted); font-size:.94rem}
    .stats{
      display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:14px;
    }
    .stat{
      padding:16px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--line);
    }
    .stat strong{display:block; font-size:1.35rem}
    .stat span{color:var(--muted); font-size:.9rem}
    main{padding: 18px 0 54px}
    .content-grid{
      display:grid;
      grid-template-columns: 1.05fr .38fr;
      gap:22px;
      align-items:start;
    }
    section{margin-bottom:22px}
    .section-title{
      display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 14px;
    }
    .section-title h3{margin:0; font-size:1.5rem}
    .section-title p{margin:0; color:var(--muted)}
    .feature-grid{
      display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
    }
    .feature{
      padding:18px;
      border-radius:18px;
      background:rgba(255,255,255,.04);
      border:1px solid var(--line);
    }
    .feature .icon{
      width:42px; height:42px; border-radius:14px;
      background: linear-gradient(135deg, rgba(124,92,255,.26), rgba(45,212,191,.22));
      display:grid; place-items:center; margin-bottom:12px; font-size:1.2rem;
    }
    .feature h4{margin:0 0 8px}
    .feature p{margin:0; color:var(--muted); font-size:.95rem}
    .cards{
      display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
    }
    .product-card, .testimonial, .sidebar-card, .faq-item{
      background: rgba(255,255,255,.04);
      border:1px solid var(--line);
      border-radius: 20px;
      overflow:hidden;
    }
    .product-card img{width:100%; height:200px; object-fit:cover}
    .product-body{padding:16px}
    .tag{
      display:inline-block; padding:6px 10px; border-radius:999px;
      font-size:.78rem; font-weight:800; margin-bottom:10px;
      background:rgba(45,212,191,.14); color:#b7fff0;
    }
    .product-body h4{margin:0 0 8px}
    .product-body p{margin:0 0 14px; color:var(--muted); font-size:.94rem}
    .price-row{display:flex; justify-content:space-between; align-items:center; gap:10px}
    .price{font-weight:900; font-size:1.12rem}
    .compare{
      padding:18px;
    }
    table{width:100%; border-collapse:collapse; overflow:hidden}
    th,td{padding:14px 10px; border-bottom:1px solid var(--line); text-align:left; font-size:.95rem}
    th{color:#dbe2ff; font-size:.86rem; text-transform:uppercase; letter-spacing:.04em}
    td{color:var(--muted)}
    .good{color:var(--good); font-weight:700}
    .bad{color:var(--bad); font-weight:700}
    .sidebar{position:sticky; top:92px}
    .sidebar-card{padding:18px; margin-bottom:14px}
    .sidebar-card h4{margin:0 0 10px}
    .sidebar-card p, .sidebar-card li{color:var(--muted)}
    .sidebar-card ul{margin:0; padding-left:18px}
    .review-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
    .testimonial{padding:18px}
    .stars{color:#ffd66b; letter-spacing:2px; margin-bottom:10px}
    .testimonial p{margin:0 0 12px; color:var(--muted)}
    .person{display:flex; align-items:center; gap:12px}
    .person img{width:46px; height:46px; border-radius:50%}
    .faq-item{padding:18px; margin-bottom:12px}
    .faq-item h4{margin:0 0 8px}
    .faq-item p{margin:0; color:var(--muted)}
    .footer{
      border-top:1px solid var(--line);
      background: rgba(7,11,22,.8);
      padding:28px 0 34px;
    }
    .footer-grid{
      display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:18px;
    }
    .footer h5{margin:0 0 10px; font-size:1rem}
    .footer p, .footer a{color:var(--muted); font-size:.95rem}
    .footer ul{list-style:none; padding:0; margin:0}
    .footer li{margin:8px 0}
    .social{display:flex; gap:10px; flex-wrap:wrap}
    .social a{
      padding:10px 12px; border-radius:12px; background:rgba(255,255,255,.05); border:1px solid var(--line)
    }
    .fineprint{margin-top:18px; color:var(--muted); font-size:.9rem}
    .topnote{font-size:.82rem; color:var(--muted); margin-top:6px}
    @media (max-width: 980px){
      .hero-grid,.content-grid,.footer-grid,.feature-grid,.cards,.review-grid{grid-template-columns:1fr}
      .sidebar{position:static}
      .header{flex-direction:column; align-items:flex-start}
      nav ul{justify-content:flex-start}
    }
  </style>
</head>
<body>
  <header class="topbar">
    <div class="container header">
      <a class="brand" href="#top" aria-label="NorthCart home">
        <img src="https://placehold.co/120x120/7c5cff/ffffff?text=NC&font=montserrat" alt="NorthCart logo placeholder">
        <div>
          <h1>NorthCart</h1>
          <p>Smart shopping, better deals</p>
        </div>
      </a>
      <nav aria-label="Primary navigation">
        <ul>
          <li><a href="#best-sellers">Best Sellers</a></li>
          <li><a href="#collections">Collections</a></li>
          <li><a href="#clearance">Clearance</a></li>
          <li><a href="#wishlist">Wishlist</a></li>
          <li><a href="#reviews">Reviews</a></li>
          <li><a href="#orders">Orders</a></li>
          <li><a href="#faq">FAQ</a></li>
        </ul>
      </nav>
    </div>
  </header>

  <div id="top" class="hero">
    <div class="container hero-grid">
      <section class="panel hero-main">
        <span class="eyebrow">Curated retail, gift-ready picks, and price-match confidence</span>
        <h2>Find the right products faster, with fewer tabs and better deals.</h2>
        <p>
          NorthCart is a modern shopping destination built for people who want more than endless scrolling.
          We curate seasonal collections, best-selling essentials, and last-chance markdowns with clear product
          details, honest reviews, and fast comparison tools so you can shop with confidence.
        </p>
        <p>
          Whether you are browsing for a birthday gift, restocking home essentials, or checking SKU-level
          availability before a weekend sale ends, our storefront is designed to reduce friction and help you
          make smarter purchase decisions in minutes.
        </p>
        <div class="cta-row">
          <a class="btn btn-primary" href="#best-sellers">Shop Collection</a>
          <a class="btn btn-secondary" href="#comparison">Compare Products</a>
          <a class="btn btn-secondary" href="#orders">Track Order</a>
        </div>
      </section>

      <aside class="panel hero-side" aria-label="Highlights">
        <div class="mini-card">
          <h3>Today’s Deal Drop</h3>
          <p>Freshly updated offers across home, tech, beauty, and gifting. Many items include price-match eligibility and limited-time bundle savings.</p>
        </div>
        <div class="mini-card">
          <h3>Fast Checkout</h3>
          <p>Saved addresses, express payment, and one-click reorder support for returning customers and recurring essentials.</p>
        </div>
        <div class="stats">
          <div class="stat"><strong>1,200+</strong><span>Curated SKUs</span></div>
          <div class="stat"><strong>4.8/5</strong><span>Average reviews</span></div>
          <div class="stat"><strong>24h</strong><span>Order updates</span></div>
          <div class="stat"><strong>35%</strong><span>Avg. savings</span></div>
        </div>
      </aside>
    </div>
  </div>

  <main class="container content-grid">
    <div>
      <section id="collections" class="panel" style="padding:22px;">
        <div class="section-title">
          <div>
            <h3>Seasonal Collections</h3>
            <p>New arrivals built around gifting, home refreshes, and everyday essentials.</p>
          </div>
        </div>
        <div class="feature-grid">
          <article class="feature">
            <div class="icon">🎁</div>
            <h4>Gift Guide Picks</h4>
            <p>Handpicked items for birthdays, housewarmings, and milestone celebrations. Every gift set includes clear sizing, SKU details, and packaging notes so you can shop without guesswork.</p>
          </article>
          <article class="feature">
            <div class="icon">🛋️</div>
            <h4>Home Refresh</h4>
            <p>Soft goods, storage solutions, and decor essentials curated for easy upgrades. We prioritize durable materials, verified product reviews, and practical bundles that make room for savings.</p>
          </article>
          <article class="feature">
            <div class="icon">✨</div>
            <h4>Weekend Edits</h4>
            <p>Fast-moving seasonal favorites updated weekly, featuring trending colors, limited inventory, and best-value selections that stay relevant beyond a single promotion window.</p>
          </article>
        </div>
      </section>

      <section id="best-sellers" class="panel" style="padding:22px;">
        <div class="section-title">
          <div>
            <h3>Best Sellers</h3>
            <p>High-performing products with strong ratings, healthy stock, and repeat buyer loyalty.</p>
          </div>
          <a class="btn btn-secondary" href="#wishlist">View Deal</a>
        </div>
        <div class="cards">
          <article class="product-card">
            <img src="https://picsum.photos/600/400?random=21" alt="Lifestyle product placeholder">
            <div class="product-body">
              <span class="tag">Top Rated</span>
              <h4>Everyday Essentials Bundle</h4>
              <p>A practical mix of household staples with consistent in-stock availability and a competitive price-per-unit. Ideal for weekly restocks and subscription-style shoppers.</p>
              <div class="price-row"><span class="price">$42.00</span><a class="btn btn-secondary" href="#comparison">Compare</a></div>
            </div>
          </article>
          <article class="product-card">
            <img src="https://picsum.photos/600/400?random=22" alt="Retail product placeholder">
            <div class="product-body">
              <span class="tag">Gift Favorite</span>
              <h4>Signature Gift Box Set</h4>
              <p>Curated for effortless gifting, this set balances presentation, quality, and value. Includes flexible add-ons and a concise product page to help shoppers choose the right variant.</p>
              <div class="price-row"><span class="price">$58.00</span><a class="btn btn-secondary" href="#reviews">Reviews</a></div>
            </div>
          </article>
          <article class="product-card">
            <img src="https://picsum.photos/600/400?random=23" alt="Modern shopping product placeholder">
            <div class="product-body">
              <span class="tag">Fast Moving</span>
              <h4>Home Edit Storage Kit</h4>
              <p>Best for small-space organization and tidy living. Shoppers love the clean finish, straightforward assembly, and clear compatibility details listed by SKU and size.</p>
              <div class="price-row"><span class="price">$36.00</span><a class="btn btn-secondary" href="#orders">Track Order</a></div>
            </div>
          </article>
        </div>
      </section>

      <section id="comparison" class="panel compare">
        <div class="section-title">
          <div>
            <h3>Product Comparison Tool</h3>
            <p>A quick way to weigh price, shipping, reviews, and price-match eligibility before you buy.</p>
          </div>
        </div>
        <table aria-label="Product comparison">
          <thead>
            <tr>
              <th>Product</th>
              <th>Price</th>
              <th>Reviews</th>
              <th>Shipping</th>
              <th>Price Match</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>Everyday Essentials Bundle</td>
              <td>$42.00</td>
              <td>4.9/5</td>
              <td>2–3 days</td>
              <td class="good">Yes</td>
            </tr>
            <tr>
              <td>Signature Gift Box Set</td>
              <td>$58.00</td>
              <td>4.8/5</td>
              <td>1–2 days</td>
              <td class="good">Yes</td>
            </tr>
            <tr>
              <td>Home Edit Storage Kit</td>
              <td>$36.00</td>
              <td>4.7/5</td>
              <td>3–5 days</td>
              <td class="bad">No</td>
            </tr>
          </tbody>
        </table>
        <p style="margin:14px 0 0; color:var(--muted);">
          Tip: comparison data is especially useful when you are choosing between similar SKUs. NorthCart highlights
          differences in shipping windows, bundle value, and promotional eligibility so the strongest option is obvious.
        </p>
      </section>

      <section id="clearance" class="panel" style="padding:22px;">
        <div class="section-title">
          <div>
            <h3>Clearance & Flash Deals</h3>
            <p>Limited-time markdowns on overstock, end-of-line, and seasonal clearance items.</p>
          </div>
          <a class="btn btn-primary" href="#orders">Shop Clearance</a>
        </div>
        <div class="cards">
          <article class="product-card">
            <img src="https://picsum.photos/600/400?random=31" alt="Clearance item placeholder">
            <div class="product-body">
              <span class="tag">-40%</span>
              <h4>Minimal Desk Organizer</h4>
              <p>Reduced to clear, with a clean finish and compact footprint. Great for dorms, offices, or as a low-cost add-on to a larger cart.</p>
            </div>
          </article>
          <article class="product-card">
            <img src="https://picsum.photos/600/400?random=32" alt="Discounted retail item placeholder">
            <div class="product-body">
              <span class="tag">Last Chance</span>
              <h4>Seasonal Candle Trio</h4>
              <p>Popular scents, now in final quantities. Product reviews mention strong fragrance throw and thoughtful packaging for gifting.</p>
            </div>
          </article>
          <article class="product-card">
            <img src="https://picsum.photos/600/400?random=33" alt="Flash sale shopping placeholder">
            <div class="product-body">
              <span class="tag">Today Only</span>
              <h4>Travel Pouch Set</h4>
              <p>Perfect for weekend trips and carry-on organization. The current flash price applies while stock lasts and may change without notice.</p>
            </div>
          </article>
        </div>
      </section>

      <section id="reviews" class="panel" style="padding:22px;">
        <div class="section-title">
          <div>
            <h3>Customer Reviews</h3>
            <p>Realistic feedback patterns shoppers look for: quality, value, shipping speed, and packaging.</p>
          </div>
        </div>
        <div class="review-grid">
          <article class="testimonial">
            <div class="stars">★★★★★</div>
            <p>“The product pages were clear, the SKU filters were helpful, and the price match saved me from hunting elsewhere. Checkout was smooth and the order updates arrived on time.”</p>
            <div class="person">
              <img src="https://i.pravatar.cc/90?u=reviewer1" alt="Reviewer avatar">
              <div>
                <strong>Mia R.</strong><br>
                <span style="color:var(--muted); font-size:.92rem;">Frequent home shopper</span>
              </div>
            </div>
          </article>
          <article class="testimonial">
            <div class="stars">★★★★★</div>
            <p>“I bought a gift box and the packaging looked premium without the premium price. The reviews were trustworthy and the comparison view made it easy to choose between options.”</p>
            <div class="person">
              <img src="https://i.pravatar.cc/90?u=reviewer2" alt="Reviewer avatar">
              <div>
                <strong>Daniel P.</strong><br>
                <span style="color:var(--muted); font-size:.92rem;">Gift buyer</span>
              </div>
            </div>
          </article>
        </div>
      </section>

      <section id="faq" class="panel" style="padding:22px;">
        <div class="section-title">
          <div>
            <h3>Frequently Asked Questions</h3>
            <p>Everything shoppers usually want to know before placing an order.</p>
          </div>
        </div>
        <div class="faq-item">
          <h4>Do you offer price matching?</h4>
          <p>Yes. Eligible items can qualify for price match review when the competing offer is identical in SKU, condition, and shipping terms. This keeps our pricing competitive while protecting product quality standards.</p>
        </div>
        <div class="faq-item">
          <h4>How do I track my order?</h4>
          <p>Use the Orders section in the navigation or the tracking link in your confirmation email. You will see status updates for payment, packing, dispatch, and delivery once your parcel enters the carrier network.</p>
        </div>
        <div class="faq-item">
          <h4>Are reviews verified?</h4>
          <p>We highlight verified-purchase reviews and separate them from general feedback. This helps shoppers evaluate real usage, product durability, and value before adding items to cart.</p>
        </div>
      </section>
    </div>

    <aside class="sidebar">
      <div id="wishlist" class="sidebar-card">
        <h4>Wishlist Highlights</h4>
        <p>Track items you want to revisit later and get notified when pricing changes or inventory is low.</p>
        <ul>
          <li>Best-selling gift sets</li>
          <li>Seasonal home decor</li>
          <li>Back-in-stock essentials</li>
        </ul>
      </div>

      <div class="sidebar-card">
        <h4>Trending Now</h4>
        <p>These categories are currently driving the most clicks and conversions:</p>
        <ul>
          <li>Compact storage and organization</li>
          <li>Curated gift bundles</li>
          <li>Travel accessories</li>
          <li>Limited-run clearance items</li>
        </ul>
      </div>

      <div id="orders" class="sidebar-card">
        <h4>Order Support</h4>
        <p>Need an update? Check your order status, download invoices, or start a return from the customer portal.</p>
        <div class="cta-row" style="margin-top:12px">
          <a class="btn btn-primary" href="#">Track Order</a>
          <a class="btn btn-secondary" href="#">Contact Support</a>
        </div>
      </div>

      <div class="sidebar-card">
        <h4>Why shoppers choose NorthCart</h4>
        <p>We combine retail-style merchandising with practical e-commerce features so browsing feels efficient, informed, and enjoyable.</p>
      </div>
    </aside>
  </main>

  <footer class="footer">
    <div class="container footer-grid">
      <div>
        <h5>NorthCart</h5>
        <p>Curated shopping for modern buyers who want fast discovery, transparent pricing, and gift-ready picks without the clutter.</p>
        <p class="topnote">Contact: hello@northcart.shop · +1 (555) 014-2098<br>88 Market Row, Suite 420, Chicago, IL 60601</p>
      </div>
      <div>
        <h5>Standard Links</h5>
        <ul>
          <li><a href="#">Privacy Policy</a></li>
          <li><a href="#">Terms & Conditions</a></li>
          <li><a href="#">Shipping & Returns</a></li>
          <li><a href="#">Accessibility</a></li>
        </ul>
      </div>
      <div>
        <h5>Follow Us</h5>
        <div class="social">
          <a href="#" aria-label="Facebook">Facebook</a>
          <a href="#" aria-label="Instagram">Instagram</a>
          <a href="#" aria-label="X">X</a>
          <a href="#" aria-label="Pinterest">Pinterest</a>
        </div>
      </div>
    </div>
    <div class="container fineprint">
      © 2026 NorthCart. All rights reserved.
    </div>
  </footer>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:41:29.902Z",
  "url": "https://benchmark.aimac.invalid/c9868a08a61a1e5158108b3470777d7aa6e6ee742b713b796162b91354c6bbb5.html",
  "toolOptions": {
    "runOnly": {
      "type": "tag",
      "values": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22a",
        "wcag22aa"
      ]
    },
    "resultTypes": [
      "violations"
    ],
    "reporter": "v1"
  },
  "inapplicable": [
    {
      "id": "area-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <area> elements of image maps have alternative text",
      "help": "Active <area> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-braille-equivalent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
      "help": "aria-braille attributes must have a non-braille equivalent",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-command-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA button, link and menuitem has an accessible name",
      "help": "ARIA commands must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-input-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA input field has an accessible name",
      "help": "ARIA input fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-meter-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA meter node has an accessible name",
      "help": "ARIA meter nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-progressbar-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA progressbar node has an accessible name",
      "help": "ARIA progressbar nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-children",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require child roles contain them",
      "help": "Certain ARIA roles must contain particular children",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-parent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require parent roles are contained by them",
      "help": "Certain ARIA roles must be contained by particular parents",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": []
    },
    {
      "id": "form-field-multiple-labels",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag332",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.3.3.2"
      ],
      "description": "Ensure form field does not have multiple label elements",
      "help": "Form field must not have multiple label elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": []
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "avoid-inline-spacing",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag21aa",
        "wcag1412",
        "EN-301-549",
        "EN-9.1.4.12",
        "ACT"
      ],
      "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
      "help": "Inline text spacing must be adjustable with custom stylesheets",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "important-letter-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-word-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-line-height",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "line-height in the style attribute is not set to !important, or meets the minimum"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<section id=\"collections\" class=\"panel\" style=\"padding:22px;\">",
          "target": [
            "#collections"
          ]
        }
      ]
    },
    {
      "id": "bypass",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag241",
        "section508",
        "section508.22.o",
        "TTv5",
        "TT9.a",
        "EN-301-549",
        "EN-9.2.4.1"
      ],
      "description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
      "help": "Page must have means to bypass repeated blocks",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "internal-link-present",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Valid skip link found"
            },
            {
              "id": "header-present",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<h1>NorthCart</h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h2>Find the right products faster, with fewer tabs and better deals.</h2>",
                  "target": [
                    "h2"
                  ]
                },
                {
                  "html": "<h3>Today\u2019s Deal Drop</h3>",
                  "target": [
                    ".mini-card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Fast Checkout</h3>",
                  "target": [
                    ".mini-card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Seasonal Collections</h3>",
                  "target": [
                    "#collections > .section-title > div > h3"
                  ]
                },
                {
                  "html": "<h4>Gift Guide Picks</h4>",
                  "target": [
                    ".feature:nth-child(1) > h4"
                  ]
                },
                {
                  "html": "<h4>Home Refresh</h4>",
                  "target": [
                    ".feature:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Weekend Edits</h4>",
                  "target": [
                    ".feature:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h3>Best Sellers</h3>",
                  "target": [
                    "#best-sellers > .section-title > div > h3"
                  ]
                },
                {
                  "html": "<h4>Everyday Essentials Bundle</h4>",
                  "target": [
                    "#best-sellers > .cards > .product-card:nth-child(1) > .product-body > h4"
                  ]
                },
                {
                  "html": "<h4>Signature Gift Box Set</h4>",
                  "target": [
                    "#best-sellers > .cards > .product-card:nth-child(2) > .product-body > h4"
                  ]
                },
                {
                  "html": "<h4>Home Edit Storage Kit</h4>",
                  "target": [
                    "#best-sellers > .cards > .product-card:nth-child(3) > .product-body > h4"
                  ]
                },
                {
                  "html": "<h3>Product Comparison Tool</h3>",
                  "target": [
                    "#comparison > .section-title > div > h3"
                  ]
                },
                {
                  "html": "<h3>Clearance &amp; Flash Deals</h3>",
                  "target": [
                    "#clearance > .section-title > div > h3"
                  ]
                },
                {
                  "html": "<h4>Minimal Desk Organizer</h4>",
                  "target": [
                    "#clearance > .cards > .product-card:nth-child(1) > .product-body > h4"
                  ]
                },
                {
                  "html": "<h4>Seasonal Candle Trio</h4>",
                  "target": [
                    "#clearance > .cards > .product-card:nth-child(2) > .product-body > h4"
                  ]
                },
                {
                  "html": "<h4>Travel Pouch Set</h4>",
                  "target": [
                    "#clearance > .cards > .product-card:nth-child(3) > .product-body > h4"
                  ]
                },
                {
                  "html": "<h3>Customer Reviews</h3>",
                  "target": [
                    "#reviews > .section-title > div > h3"
                  ]
                },
                {
                  "html": "<h3>Frequently Asked Questions</h3>",
                  "target": [
                    "#faq > .section-title > div > h3"
                  ]
                },
                {
                  "html": "<h4>Do you offer price matching?</h4>",
                  "target": [
                    ".faq-item:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>How do I track my order?</h4>",
                  "target": [
                    ".faq-item:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Are reviews verified?</h4>",
                  "target": [
                    ".faq-item:nth-child(4) > h4"
                  ]
                },
                {
                  "html": "<h4>Wishlist Highlights</h4>",
                  "target": [
                    "#wishlist > h4"
                  ]
                },
                {
                  "html": "<h4>Trending Now</h4>",
                  "target": [
                    ".sidebar-card:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Order Support</h4>",
                  "target": [
                    "#orders > h4"
                  ]
                },
                {
                  "html": "<h4>Why shoppers choose NorthCart</h4>",
                  "target": [
                    ".sidebar-card:nth-child(4) > h4"
                  ]
                },
                {
                  "html": "<h5>NorthCart</h5>",
                  "target": [
                    "div:nth-child(1) > h5"
                  ]
                },
                {
                  "html": "<h5>Standard Links</h5>",
                  "target": [
                    "div:nth-child(2) > h5"
                  ]
                },
                {
                  "html": "<h5>Follow Us</h5>",
                  "target": [
                    "div:nth-child(3) > h5"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main class=\"container content-grid\">",
                  "target": [
                    "main"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a landmark region"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "document-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ],
      "description": "Ensure each HTML document contains a non-empty <title> element",
      "help": "Documents must have <title> element to aid in navigation",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "doc-has-title",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Document has a non-empty <title> element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-has-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure every HTML document has a lang attribute",
      "help": "<html> element must have a lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The <html> element has a lang attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-lang-valid",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure the lang attribute of the <html> element has a valid value",
      "help": "<html> element must have a valid value for the lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "valid-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Value of lang attribute is included in the list of valid languages"
            }
          ],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">",
          "target": [
            "img[alt=\"NorthCart logo placeholder\"]"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            },
            {
              "id": "aria-label",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute exists and is not empty"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul>",
          "target": [
            "nav > ul"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li><a href=\"#best-sellers\">Best Sellers</a></li>",
          "target": [
            "nav > ul > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">",
          "target": [
            "img[alt=\"NorthCart logo placeholder\"]"
          ]
        }
      ]
    },
    {
      "id": "target-size",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 263.6,
                "height": 54
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (263.6px by 54px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"NorthCart home\">\n        <img src=\"https://placehold.co/120x120/7c5cff/ffffff?text=NC&amp;font=montserrat\" alt=\"NorthCart logo placeholder\">\n        <div>\n          <h1>NorthCart</h1>\n          <p>Smart shopping, better deals</p>\n        </div>\n      </a>",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "td-headers-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The headers attribute is exclusively used to refer to other cells in the table"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<table aria-label=\"Product comparison\">",
          "target": [
            "table"
          ]
        }
      ]
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "th-has-data-cells",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "All table header cells refer to data cells"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<table aria-label=\"Product comparison\">",
          "target": [
            "table"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": null,
                "bgColor": null,
                "contrastRatio": 0,
                "fontSize": "13.2pt (17.6px)",
                "fontWeight": "bold",
                "messageKey": "bgGradient",
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<header class=\"topbar\">",
                  "target": [
                    "header"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined due to a background gradient"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h1>NorthCart</h1>",
          "target": [
            "h1"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined due to a background gradient"
        }
      ]
    }
  ],
  "violations": [],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 4197
      },
      {
        "y": 576,
        "height": 4197
      },
      {
        "y": 1152,
        "height": 4197
      },
      {
        "y": 1728,
        "height": 4197
      },
      {
        "y": 2304,
        "height": 4197
      },
      {
        "y": 2880,
        "height": 4197
      },
      {
        "y": 3456,
        "height": 4197
      },
      {
        "y": 3477,
        "height": 4197
      }
    ],
    "scans": 9,
    "max_states": 512,
    "settle_ms": 5000,
    "page_timeout_seconds": 150,
    "layout_stability": "consecutive 100ms size samples within one CSS pixel",
    "animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
    "interactive_states": "not exercised",
    "horizontal_scroll": "not exercised"
  }
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Shopping" sector.
Your goal is to generate the full HTML code for a page that is not just functional but also visually compelling, content-rich, and feels like a finished product ready for launch.

**Client & Category:**
- Industry: "Shopping"
- Description: Online shopping, e-commerce, deals, retail products, and gift guides.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Shopping" category.
2.  **Define Page:** Determine the most effective primary page type (e.g., homepage, service landing page, category portal) to showcase this fictional entity.
3.  **Design:** Develop an opinionated, modern, and professional layout. Make distinct choices about structure and flow.

**Content & Structure Requirements (Deliver a COMPLETE page):**
-   **Overall:** The final page must feel substantial and complete, with realistic amounts of text (multiple paragraphs per section where appropriate, avoid single sentences), well-integrated placeholder images, and logical flow. It should look like a real website a business would proudly use.
-   **HEADER:** Include the invented site name, tagline, a logo placeholder image, and a primary navigation bar. Ensure the navigation has **at least 5-7 clearly defined, relevant links** including: "Wishlist", "Reviews", "Orders".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Shopping" category. Consider themes similar to: "Best Sellers", "Clearance", "Seasonal Collections".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "SKU", "price match", "product reviews".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Shop Collection", "Track Order", "View Deal".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Shopping" sector. Ideas similar but not limited to: "product comparison".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "customer reviews", "trending products", "new arrivals".
-   **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
-   **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.