Qwen Qwen3 Coder Next – Pets
via Parasail · Generated
- AIMAC Debt 4.19
- Cost $0.01
- Total Violations 10
- HTML Size 43 KB
- Em Dashes 21
Screenshot
View Live Page
Accessibility Issues Found
10 Serious
-
color-contrast serious 10 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="story-meta">Adoption Journey</span>
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>PawHaven | Nurturing Lifelong Bonds Between People & Pets</title>
<meta name="description" content="PawHaven provides compassionate pet care resources, responsible adoption pathways, expert veterinary guidance, and training support to build thriving human-animal relationships." />
<meta name="theme-color" content="#1a5c4a" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet" />
<style>
:root {
--primary: #1a5c4a;
--primary-dark: #0f3e2e;
--secondary: #e8f5e9;
--accent: #ffb300;
--accent-dark: #ffca28;
--text: #333;
--text-light: #666;
--bg-light: #f8f9fa;
--white: #ffffff;
--shadow: 0 4px 20px rgba(0,0,0,0.06);
--radius: 12px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Roboto', sans-serif;
color: var(--text);
line-height: 1.7;
background-color: var(--white);
}
h1, h2, h3 {
font-family: 'Playfair Display', serif;
color: var(--primary);
margin-bottom: 1rem;
}
p {
margin-bottom: 1.25rem;
}
a {
color: var(--primary);
text-decoration: none;
transition: color 0.2s ease;
}
a:hover {
color: var(--primary-dark);
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.btn {
display: inline-block;
padding: 12px 28px;
background-color: var(--primary);
color: white;
border-radius: 6px;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.3s ease;
border: none;
cursor: pointer;
}
.btn:hover {
background-color: var(--primary-dark);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(26, 92, 74, 0.2);
}
.btn-secondary {
background-color: var(--accent);
color: var(--text);
}
.btn-secondary:hover {
background-color: var(--accent-dark);
}
.btn-outline {
background-color: transparent;
border: 2px solid var(--primary);
color: var(--primary);
}
.btn-outline:hover {
background-color: var(--primary);
color: white;
}
/* Header */
header {
background-color: var(--white);
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
position: sticky;
top: 0;
z-index: 1000;
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px 0;
}
.logo {
display: flex;
align-items: center;
gap: 14px;
}
.logo img {
width: 48px;
height: 48px;
border-radius: 50%;
object-fit: cover;
}
.branding {
display: flex;
flex-direction: column;
}
.brand-name {
font-family: 'Playfair Display', serif;
font-size: 1.8rem;
font-weight: 700;
color: var(--primary);
line-height: 1;
}
.tagline {
font-size: 0.9rem;
color: var(--text-light);
font-weight: 300;
}
nav ul {
display: flex;
list-style: none;
gap: 30px;
}
nav a {
text-decoration: none;
font-weight: 500;
color: var(--text);
transition: color 0.2s;
font-size: 0.95rem;
position: relative;
}
nav a:hover {
color: var(--primary);
}
nav a::after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: -4px;
left: 0;
background-color: var(--primary);
transition: width 0.3s ease;
}
nav a:hover::after {
width: 100%;
}
/* Hero */
.hero {
background: linear-gradient(135deg, var(--primary-dark) 0%, #2e7d32 100%);
color: white;
padding: 100px 0;
text-align: center;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('https://picsum.photos/1920/1080?grayscale');
background-size: cover;
background-position: center;
opacity: 0.2;
}
.hero-content {
position: relative;
z-index: 2;
max-width: 800px;
margin: 0 auto;
}
.hero h1 {
font-size: 3.5rem;
line-height: 1.2;
margin-bottom: 20px;
color: white;
}
.hero p {
font-size: 1.25rem;
color: #e0e0e0;
margin-bottom: 40px;
max-width: 650px;
margin-left: auto;
margin-right: auto;
}
.hero-actions {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
/* Sections */
.section {
padding: 80px 0;
}
.section-header {
text-align: center;
margin-bottom: 60px;
}
.section-header h2 {
font-size: 2.5rem;
margin-bottom: 15px;
}
.section-header p {
max-width: 700px;
margin: 0 auto;
color: var(--text-light);
}
.grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 40px;
}
@media (min-width: 768px) {
.grid {
grid-template-columns: repeat(2, 1fr);
}
.section-3 .grid {
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
}
@media (min-width: 992px) {
.section-header h2 {
font-size: 3rem;
}
}
/* Nutrition & Health Section */
.feature-card {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow);
overflow: hidden;
transition: transform 0.4s ease, box-shadow 0.3s ease;
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 30px rgba(0,0,0,0.1);
}
.feature-image {
height: 250px;
overflow: hidden;
}
.feature-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s ease;
}
.feature-card:hover .feature-image img {
transform: scale(1.05);
}
.feature-content {
padding: 30px;
}
.feature-content h3 {
font-size: 1.5rem;
}
.feature-content p {
font-size: 1rem;
color: var(--text-light);
}
/* Adoption Stories Section */
.story-card {
background: white;
border-radius: var(--radius);
box-shadow: var(--shadow);
overflow: hidden;
display: flex;
flex-direction: column;
}
.story-image {
height: 280px;
position: relative;
overflow: hidden;
}
.story-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s ease;
}
.story-card:hover .story-image img {
transform: scale(1.1);
}
.story-content {
padding: 25px 30px;
flex-grow: 1;
display: flex;
flex-direction: column;
}
.story-meta {
font-size: 0.85rem;
color: var(--accent-dark);
font-weight: 600;
margin-bottom: 12px;
text-transform: uppercase;
letter-spacing: 0.8px;
}
.story-title {
font-size: 1.5rem;
margin-bottom: 12px;
}
.story-excerpt {
color: var(--text-light);
margin-bottom: 20px;
flex-grow: 1;
}
.story-link {
color: var(--primary);
font-weight: 600;
display: inline-flex;
align-items: center;
}
.story-link::after {
content: '→';
margin-left: 6px;
}
/* Interactive Section */
.interactive-section {
background: var(--secondary);
padding: 80px 0;
}
.interactive-wrapper {
background: white;
border-radius: var(--radius);
box-shadow: var(--shadow);
padding: 40px;
max-width: 1000px;
margin: 0 auto;
text-align: center;
}
.tracker-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 20px;
margin-top: 30px;
}
.tracker-item {
background: #f8f9fa;
padding: 25px 20px;
border-radius: var(--radius);
transition: all 0.2s ease;
}
.tracker-item:hover {
background: #e8f5e9;
}
.tracker-label {
font-size: 1.1rem;
font-weight: 600;
color: var(--primary);
margin-bottom: 15px;
}
.tracker-checkbox {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.tracker-checkbox label {
font-size: 0.95rem;
cursor: pointer;
}
.tracker-checkbox input[type="checkbox"] {
accent-color: var(--primary);
width: 18px;
height: 18px;
}
.tracker-checkbox input[type="checkbox"]:checked + label {
text-decoration: line-through;
color: var(--text-light);
}
.tracker-actions {
margin-top: 30px;
}
/* Testimonials */
.testimonials-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 30px;
margin-top: 50px;
}
.testimonial-card {
background: var(--white);
border-left: 4px solid var(--accent);
box-shadow: var(--shadow);
border-radius: var(--radius);
padding: 30px;
position: relative;
}
.quote-icon {
position: absolute;
top: 20px;
left: 20px;
font-size: 3rem;
color: rgba(26, 92, 74, 0.1);
font-family: 'Playfair Display', serif;
line-height: 0;
}
.testimonial-text {
font-style: italic;
margin-bottom: 20px;
color: var(--text-light);
font-size: 1.05rem;
line-height: 1.6;
}
.testimonial-author {
font-weight: 600;
color: var(--primary);
display: flex;
align-items: center;
gap: 12px;
}
.testimonial-avatar {
width: 45px;
height: 45px;
border-radius: 50%;
object-fit: cover;
}
/* FAQ Section */
.faq-section {
background: #f8f9fa;
}
.faq-container {
max-width: 800px;
margin: 0 auto;
}
.faq-item {
background: white;
margin-bottom: 16px;
border-radius: var(--radius);
box-shadow: var(--shadow);
overflow: hidden;
}
.faq-header {
padding: 20px 30px;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
font-weight: 600;
font-size: 1.1rem;
background: #f8f9fa;
transition: background 0.2s;
}
.faq-header:hover {
background: #e8f5e9;
}
.faq-icon {
font-size: 1.2rem;
color: var(--primary);
}
.faq-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
background: white;
}
.faq-content p {
padding: 0 30px 25px;
margin-bottom: 0;
}
.faq-item.active .faq-content {
max-height: 300px;
}
.faq-item.active .faq-icon {
transform: rotate(45deg);
}
/* Sidebar (Desktop) */
.sidebar {
display: none;
}
@media (min-width: 992px) {
.sidebar {
display: block;
position: sticky;
top: 100px;
}
}
.sidebar-widget {
background: white;
padding: 30px;
border-radius: var(--radius);
box-shadow: var(--shadow);
margin-bottom: 30px;
}
.sidebar-widget h3 {
margin-bottom: 20px;
font-size: 1.4rem;
}
.sidebar-list {
list-style: none;
}
.sidebar-list li {
margin-bottom: 15px;
padding-bottom: 15px;
border-bottom: 1px solid #eee;
}
.sidebar-list li:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.sidebar-list a {
display: flex;
align-items: center;
gap: 10px;
font-size: 0.95rem;
}
.sidebar-list a:hover {
color: var(--primary);
padding-left: 5px;
}
.sidebar-list .icon {
font-size: 1.2rem;
}
.sidebar-list .tag {
background: var(--secondary);
padding: 3px 8px;
border-radius: 4px;
font-size: 0.75rem;
margin-left: auto;
font-weight: 600;
color: var(--primary);
}
/* Footer */
footer {
background: var(--primary-dark);
color: white;
padding: 70px 0 30px;
}
.footer-grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 40px;
margin-bottom: 50px;
}
@media (min-width: 768px) {
.footer-grid {
grid-template-columns: repeat(2, 1fr) repeat(2, 1fr);
}
}
.footer-col h4 {
margin-bottom: 20px;
font-size: 1.3rem;
}
.footer-col p {
color: #ccc;
margin-bottom: 15px;
font-size: 0.95rem;
}
.footer-links {
list-style: none;
}
.footer-links li {
margin-bottom: 12px;
}
.footer-links a {
color: #ccc;
transition: color 0.2s;
}
.footer-links a:hover {
color: white;
}
.social-links {
display: flex;
gap: 20px;
margin-top: 20px;
}
.social-link {
width: 40px;
height: 40px;
border-radius: 50%;
background: rgba(255,255,255,0.1);
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
color: white;
transition: all 0.2s;
}
.social-link:hover {
background: var(--accent);
color: var(--text-dark);
}
.copyright {
border-top: 1px solid rgba(255,255,255,0.1);
padding-top: 30px;
text-align: center;
font-size: 0.9rem;
color: #ccc;
}
/* Responsive tweaks */
@media (max-width: 767px) {
.hero h1 {
font-size: 2.5rem;
}
.hero p {
font-size: 1.1rem;
}
nav ul {
display: none;
}
.mobile-menu-btn {
display: block;
background: none;
border: none;
cursor: pointer;
font-size: 1.5rem;
color: var(--text);
}
.mobile-menu {
display: none;
background: white;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
position: absolute;
width: 100%;
top: 70px;
left: 0;
}
.mobile-menu ul {
display: flex;
flex-direction: column;
list-style: none;
}
.mobile-menu li {
padding: 15px 20px;
border-bottom: 1px solid #eee;
}
.mobile-menu a {
font-weight: 500;
color: var(--text);
}
.mobile-menu-btn.active + .mobile-menu {
display: flex;
}
.interactive-wrapper {
padding: 25px;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<div class="container">
<div class="header-content">
<div class="logo">
<img src="https://placehold.co/120x120/1a5c4a/ffffff?text=PH" alt="PawHaven Logo" />
<div class="branding">
<span class="brand-name">PawHaven</span>
<span class="tagline">Compassionate Care, Lifelong Bonds</span>
</div>
</div>
<button class="mobile-menu-btn" aria-label="Toggle menu">☰</button>
<nav>
<div class="mobile-menu">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#adoption">Adoption</a></li>
<li><a href="#resources">Resources</a></li>
<li><a href="#help">Find Help</a></li>
<li><a href="#vet">Veterinary</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<ul>
<li><a href="#services">Services</a></li>
<li><a href="#adoption">Adoption</a></li>
<li><a href="#resources">Resources</a></li>
<li><a href="#help">Find Help</a></li>
<li><a href="#vet">Veterinary</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
</div>
</div>
</header>
<!-- Hero Section -->
<section class="hero" id="home">
<div class="hero-content">
<h1>Caring for Pets Like They're Family — Because They Are</h1>
<p>PawHaven bridges the gap between pet lovers and the expert guidance, compassionate care, and ethical resources they need to build joyful, healthy lives with their animal companions.</p>
<div class="hero-actions">
<a href="#services" class="btn">Our Services</a>
<a href="#adoption" class="btn btn-outline">Adopt a Companion</a>
</div>
</div>
</section>
<!-- Services Section -->
<section class="section" id="services">
<div class="container">
<div class="section-header">
<h2>Comprehensive Care at Every Life Stage</h2>
<p>From nutrition guidance for puppies to senior pet wellness, our expert team provides science-backed solutions rooted in evidence-based veterinary medicine and animal behavior science.</p>
</div>
<div class="grid">
<div class="feature-card">
<div class="feature-image">
<img src="https://picsum.photos/600/400?grayscale" alt="Dog receiving healthy meal" />
</div>
<div class="feature-content">
<h3>Nutrition & Weight Management</h3>
<p>Proper nutrition forms the foundation of your pet's health, influencing everything from coat condition to longevity. Our veterinary nutritionists develop personalized dietary plans considering breed characteristics, life stage, activity levels, and specific health conditions like allergies, renal support, or gastrointestinal sensitivities.</p>
<p>We evaluate commercial diets, explore home-prepared options, and guide you through safe treat usage, ensuring your pet receives optimal balance without compromising on taste or enjoyment.</p>
<a href="#" class="btn-outline">Learn Nutrition Guidelines</a>
</div>
</div>
<div class="feature-card">
<div class="feature-image">
<img src="https://picsum.photos/600/400?blur=2" alt="Dog and trainer playing" />
</div>
<div class="feature-content">
<h3>Behavioral Training & Socialization</h3>
<p>Effective training isn't about obedience alone—it's about creating mutual understanding and trust. Our certified applied animal behaviorists address root causes of unwanted behaviors, such as separation anxiety, reactivity, or household conflicts, using force-free, positive reinforcement methods.</p>
<p>Early socialization is critical for preventing fear-based behaviors. We offer puppy classes focused on safe exposure to environments, people, and other animals during the crucial 3–14 week developmental window—setting your companion up for lifelong confidence.</p>
<a href="#" class="btn-outline">Book Training Session</a>
</div>
</div>
<div class="feature-card">
<div class="feature-image">
<img src="https://picsum.photos/600/400?grayscale&blur=3" alt="Veterinarian examining cat" />
</div>
<div class="feature-content">
<h3>Preventive Healthcare</h3>
<p>Prevention is far more effective—and less stressful—for pets than treatment. Our comprehensive wellness exams combine physical assessments with preventative strategies like vaccination schedules, parasite prevention, dental care, and early disease screening.</p>
<p>We emphasize owner education, helping you understand normal versus concerning signs across species: subtle changes in cats can indicate serious conditions like hyperthyroidism or kidney disease. Our wellness plans make proactive care affordable and consistent.</p>
<a href="#" class="btn-outline">Schedule Wellness Visit</a>
</div>
</div>
<div class="feature-card">
<div class="feature-image">
<img src="https://picsum.photos/600/400?grayscale&blur=4" alt="Hands holding shelter dog" />
</div>
<div class="feature-content">
<h3>Rescue & Rehoming Support</h3>
<p>Every pet deserves a safe, loving home. PawHaven partners with trusted shelters and rescue organizations to provide medical assessments, behavior evaluations, and post-adoption support for newly placed pets.</p>
<p>Our transition programs help pets adjust to new families, offering guidance on setting up safe spaces, introducing to other pets, managing separation anxiety, and addressing pre-adoption trauma. We're here long after adoption to ensure success.</p>
<a href="#" class="btn-outline">Visit Our Rescue Partners</a>
</div>
</div>
</div>
</div>
</section>
<!-- Interactive Tracker Section -->
<section class="interactive-section" id="tracker">
<div class="container">
<div class="interactive-wrapper">
<h2>Stay on Top of Your Pet's Health Timeline</h2>
<p>Use our interactive vaccination and preventive care tracker to maintain consistent, timely care—no more missed appointments or guesswork.</p>
<div class="tracker-grid">
<div class="tracker-item">
<div class="tracker-label">Vaccinations</div>
<div class="tracker-checkbox">
<input type="checkbox" id="vac1" name="vac1">
<label for="vac1">Rabies (Due: Jan 2025)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="vac2" name="vac2">
<label for="vac2">DHPP (Due: Mar 2025)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="vac3" name="vac3">
<label for="vac3">Bordetella (Due: Apr 2025)</label>
</div>
</div>
<div class="tracker-item">
<div class="tracker-label">Preventives</div>
<div class="tracker-checkbox">
<input type="checkbox" id="prev1" name="prev1">
<label for="prev1">Heartworm (Monthly)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="prev2" name="prev2">
<label for="prev2">Flea & Tick (Monthly)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="prev3" name="prev3">
<label for="prev3">Heartworm Test (Due: Jun 2025)</label>
</div>
</div>
<div class="tracker-item">
<div class="tracker-label">Dental & Wellness</div>
<div class="tracker-checkbox">
<input type="checkbox" id="dental1" name="dental1">
<label for="dental1">Dental Cleaning (Due: Aug 2025)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="checkup1" name="checkup1">
<label for="checkup1">Annual Wellness Exam (Due: Nov 2025)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="prev4" name="prev4">
<label for="prev4">Bloodwork (Senior Panel Due)</label>
</div>
</div>
<div class="tracker-item">
<div class="tracker-label">Training Milestones</div>
<div class="tracker-checkbox">
<input type="checkbox" id="train1" name="train1">
<label for="train1">Puppy Class (Completed)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="train2" name="train2">
<label for="train2">Leash Manners (Current Focus)</label>
</div>
<div class="tracker-checkbox">
<input type="checkbox" id="train3" name="train3">
<label for="train3">Canine Good Citizen Prep</label>
</div>
</div>
</div>
<div class="tracker-actions">
<button type="button" class="btn" onclick="alert('Health tracking data saved locally in your browser!')">Save Progress</button>
<button type="button" class="btn btn-secondary" onclick="alert('Viewing your pet’s health timeline in our secure client portal')">View Full Timeline</button>
</div>
<p style="margin-top: 20px; font-size: 0.85rem; color: #666;">
*Data is stored locally in your browser and never shared. Sync with your PawHaven veterinarian during visits for personalized guidance.
</p>
</div>
</div>
</section>
<!-- Adoption Stories Section -->
<section class="section" id="adoption" style="background-color: #f8f9fa;">
<div class="container">
<div class="section-header">
<h2>Real Stories of Connection & Transformation</h2>
<p>Our adoption success stories reflect the profound impact of patience, proper preparation, and dedicated support. Each journey is unique—but all are rooted in the belief that every pet deserves a second chance at joy.</p>
</div>
<div class="grid">
<div class="story-card">
<div class="story-image">
<img src="https://picsum.photos/600/400?grayscale&random=1" alt="Elderly man with golden retriever" />
</div>
<div class="story-content">
<span class="story-meta">Adoption Journey</span>
<h3 class="story-title">Henry & Luna: A Second Act of Love</h3>
<p class="story-excerpt">After losing his longtime partner, 78-year-old Henry spent months at local shelters—feeling disconnected from the available pets—until he met Luna, a 6-year-old Labrador Retriever with anxiety and a limp. With our post-adoption support team guiding behavior rehabilitation, proper joint care, and gentle training, Luna transformed into Henry’s inseparable companion.</p>
<a href="#" class="story-link">Read Full Story</a>
</div>
</div>
<div class="story-card">
<div class="story-image">
<img src="https://picsum.photos/600/400?grayscale&random=2" alt="Family with rescue dog" />
</div>
<div class="story-content">
<span class="story-meta">Multi-Pet Success</span>
<h3 class="story-title">The Martinez Family’s Hybrid Home</h3>
<p class="story-excerpt">Three children, two cats, and one nervous foster dog made for chaos—until PawHaven’s behaviorists assessed their dynamic. We recommended environmental modifications, species-specific enrichment, and a structured “pet introductions” protocol. Today, Luna the rescue mutt and Silas the senior cat nap together on the sofa.</p>
<a href="#" class="story-link">Read Full Story</a>
</div>
</div>
<div class="story-card">
<div class="story-image">
<img src="https://picsum.photos/600/400?grayscale&random=3" alt="Shiba Inu puppy" />
</div>
<div class="story-content">
<span class="story-meta">Breed-Specific Match</span>
<h3 class="story-title">Oliver: The Shiba Inu Who Found His Voice</h3>
<p class="story-excerpt">Oliver’s previous owners surrendered him due to “stubbornness.” Our behaviorists diagnosed fear-based reactivity linked to poor early socialization. Through a tailored desensitization program, owner education on Shibas’ independent nature, and enrichment routines, Oliver thrives today as a therapy dog for children with autism.</p>
<a href="#" class="story-link">Read Full Story</a>
</div>
</div>
</div>
<div class="section-header">
<p style="margin-top: 20px;">Ready to begin your own story?</p>
<a href="#" class="btn">Meet Adoptable Pets</a>
<a href="#" class="btn btn-outline" style="margin-left: 15px;">Foster-to-Adopt Program</a>
</div>
</div>
</section>
<!-- Pet Health Tips & Sidebar Layout -->
<section class="section" id="resources">
<div class="container">
<div class="grid" style="gap: 50px;">
<div>
<div class="section-header">
<h2>Expert Insights for Healthier Pets</h2>
<p>Evidence-based resources to help you make informed decisions—backed by veterinary professionals and animal behavior scientists.</p>
</div>
<div class="grid" style="grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px;">
<div class="feature-card" style="padding: 0;">
<div class="feature-image">
<img src="https://picsum.photos/400/300?grayscale&random=4" alt="Cat grooming" />
</div>
<div class="feature-content">
<h3>Why Grooming Matters Beyond Beauty</h3>
<p>Regular brushing isn’t just about reducing shedding—it prevents matting, allows early detection of skin issues, reduces allergen spread in your home, and strengthens the human-animal bond through positive tactile interaction. We recommend species-specific grooming techniques for cats, dogs, and small mammals.</p>
<a href="#" class="btn-outline">Read Grooming Guide</a>
</div>
</div>
<div class="feature-card" style="padding: 0;">
<div class="feature-image">
<img src="https://picsum.photos/400/300?grayscale&random=5" alt="Dog in park" />
</div>
<div class="feature-content">
<h3>Leash Reactivity: Understanding the Roots</h3>
<p>Jumping, lunging, or barking on walks often signals fear, frustration, or overstimulation—not aggression. Our certified trainers emphasize identifying triggers and building calm alternatives through counter-conditioning. Start with low-stimulus environments and positive associations to rebuild walk experiences.</p>
<a href="#" class="btn-outline">Download Behavior Plan</a>
</div>
</div>
<div class="feature-card" style="padding: 0;">
<div class="feature-image">
<img src="https://picsum.photos/400/300?grayscale&random=6" alt="Pet first aid kit" />
</div>
<div class="feature-content">
<h3>Essential First-Aid for Pet Parents</h3>
<p>Know how to stabilize before reaching a vet. Keep a well-stocked kit (pet-safe antiseptic, gauze, digital thermometer), learn basic CPR for dogs and cats, and store poison control numbers. Preventive steps—like pet-proofing your home—reduce emergency risks by 60%.</p>
<a href="#" class="btn-outline">Download First-Aid Checklist</a>
</div>
</div>
</div>
</div>
<!-- Sidebar -->
<aside class="sidebar">
<div class="sidebar-widget">
<h3>🐾 Pet of the Week</h3>
<img src="https://picsum.photos/400/300?grayscale&random=7" alt="Adoptable dog" style="width: 100%; border-radius: 8px; margin-bottom: 15px;" />
<p><strong>Max</strong><br />
3-year-old Beagle mix<br />
House-trained & leash-trained<br />
Loves fetch and children<br />
<a href="#" class="btn-outline" style="font-size: 0.85rem; padding: 8px 16px; margin-top: 10px;">Meet Max</a></p>
</div>
<div class="sidebar-widget">
<h3>📅 Upcoming Events</h3>
<ul class="sidebar-list">
<li>
<a href="#"><span class="icon">📅</span> <strong>Puppy Socialization Class</strong><span class="tag">Community</span></a>
<small style="color: #777; display: block;">Saturdays, 10 AM • $45/session</small>
</li>
<li>
<a href="#"><span class="icon">🐾</span> <strong>Wildlife Coexistence Workshop</strong><span class="tag">Free</span></a>
<small style="color: #777; display: block;">June 15 • 6 PM • Virtual</small>
</li>
<li>
<a href="#"><span class="icon">🐾</span> <strong>Fear-Free Certified Vet Meeting</strong><span class="tag">CPE</span></a>
<small style="color: #777; display: block;">July 2 • 2 CEUs</small>
</li>
</ul>
</div>
<div class="sidebar-widget">
<h3> Volunteer Opportunities</h3>
<p style="font-size: 0.9rem; color: var(--text-light);">
Help socialize shelter pets, assist with adoption events, or transport animals to veterinary appointments. Our volunteer program includes training and liability coverage.
</p>
<a href="#" class="btn" style="font-size: 0.85rem; padding: 10px 20px; margin-top: 10px;">Volunteer Now</a>
</div>
<div class="sidebar-widget">
<h3>Partnered Vets</h3>
<ul class="sidebar-list">
<li><a href="#"><span class="icon">🏥</span> City Animal Clinic</a></li>
<li><a href="#"><span class="icon">🏥</span> Greenleaf Veterinary Center</a></li>
<li><a href="#"><span class="icon">🏥</span> Paws & Hearts Emergency</a></li>
<li><a href="#"><span class="icon">🏥</span> Westside Animal Hospital</a></li>
</ul>
</div>
</aside>
</div>
</div>
</section>
<!-- Testimonials & FAQ Section -->
<section class="section" id="testimonials-faq">
<div class="container">
<div class="grid" style="gap: 60px;">
<!-- Testimonials -->
<div style="flex: 1;">
<div class="section-header">
<h2>Trusted by Over 8,500+ Pet Parents</h2>
</div>
<div class="testimonials-grid">
<div class="testimonial-card">
<div class="quote-icon">“</div>
<p class="testimonial-text">
PawHaven’s behaviorist helped me understand my cat’s aggression wasn’t malice—it was fear. Today, our home is peaceful, and I wish I’d sought help years ago.
</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/45?u=emily" alt="Emily Chen" class="testimonial-avatar" />
<span>Emily Chen • Owner of Luna (Cat)</span>
</div>
</div>
<div class="testimonial-card">
<div class="quote-icon">“</div>
<p class="testimonial-text">
From nutrition plans to post-adoption support, their team walks with you every step. After losing my previous dog, I was nervous—but Max’s recovery was remarkable.
</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/45?u=marcus" alt="Marcus Johnson" class="testimonial-avatar" />
<span>Marcus Johnson • Adopter of Max</span>
</div>
</div>
<div class="testimonial-card">
<div class="quote-icon">“</div>
<p class="testimonial-text">
Their “Pet Parent Academy” courses changed how I see training. I didn’t realize my Shiba’s “stubbornness” was fear—I finally understood breed-specific needs.
</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/45?u=sarah" alt="Sarah Kim" class="testimonial-avatar" />
<span>Sarah Kim • Owner of Oliver (Shiba Inu)</span>
</div>
</div>
</div>
</div>
<!-- FAQ Accordion -->
<div class="faq-container" style="flex: 1;">
<div class="section-header" style="text-align: left;">
<h2>Frequently Asked Questions</h2>
<p>Common concerns answered by our veterinary and behavior teams.</p>
</div>
<div class="faq-item">
<div class="faq-header">
<span>How do I know if a shelter pet is right for my family?</span>
<span class="faq-icon">+</span>
</div>
<div class="faq-content">
<p>It begins with honesty about your lifestyle: activity level, space, experience with pets, and time for training. Our pre-adoption consultations assess your home environment and match you with pets whose temperament, energy, and social needs align. We recommend supervised introductions for multi-pet households and involve children in age-appropriate ways. No pet should be adopted on impulse—our team provides tools to make evidence-based choices.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-header">
<span>What’s your stance on raw diets?</span>
<span class="faq-icon">+</span>
</div>
<div class="faq-content">
<p>We do not recommend raw diets without veterinary supervision due to well-documented risks of bacterial contamination (Salmonella, Listeria), nutritional imbalances, and potential choking hazards. For pets with food sensitivities, we suggest limited-ingredient hydrolyzed protein diets or novel protein sources first, backed by clinical evidence. If you’re considering a home-prepared diet, our veterinary nutritionist can create a balanced recipe tailored to species and medical history.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-header">
<span>Can older pets learn new behaviors?</span>
<span class="faq-icon">+</span>
</div>
<div class="faq-content">
<p>Absolutely. Neuroplasticity continues throughout life, and senior dogs and cats can learn new routines with patience. Behavior change may take longer due to established habits or age-related cognitive changes—but smaller, incremental goals and consistent positive reinforcement work wonders. We often see remarkable progress in reactivity or litter-box issues with tailored senior wellness plans addressing pain or sensory decline.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-header">
<span>Do you offer emergency support?</span>
<span class="faq-icon">+</span>
</div>
<div class="faq-content">
<p>While we’re not an emergency clinic, our team provides urgent behavior triage: If your pet’s behavior poses immediate risk (e.g., aggression, self-injury), we help you decide whether an ER visit is needed, connect you with 24/7 poison control, and provide crisis resources. For non-urgent concerns, our telehealth consultations can assess whether in-person care is needed.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="section" style="background: var(--primary); color: white; text-align: center; padding: 80px 0;">
<div class="container">
<h2 style="font-size: 2.5rem; margin-bottom: 20px;">Start Your Pet’s Journey with Confidence</h2>
<p style="font-size: 1.2rem; max-width: 700px; margin: 0 auto 30px;">
From nutrition and training to adoption and emergency guidance—PawHaven is your trusted partner in compassionate pet care.
</p>
<div class="hero-actions" style="flex-direction: column; align-items: center; gap: 15px;">
<a href="#" class="btn">Book a Behavior Consultation</a>
<a href="#" class="btn btn-outline" style="border-color: white; color: white;">Browse Resources & Guides</a>
</div>
<p style="margin-top: 30px; font-size: 0.9rem; opacity: 0.9;">Available Monday–Saturday • 8 AM to 8 PM ET</p>
</div>
</section>
<!-- Footer -->
<footer id="contact">
<div class="container">
<div class="footer-grid">
<div class="footer-col">
<h4>PawHaven</h4>
<p>Compassionate, evidence-based pet care that honors the unique bond between people and animals. We believe every pet deserves safety, health, and joy.</p>
<div class="social-links">
<a href="#" class="social-link">f</a>
<a href="#" class="social-link">t</a>
<a href="#" class="social-link">i</a>
<a href="#" class="social-link">in</a>
</div>
</div>
<div class="footer-col">
<h4>Services</h4>
<ul class="footer-links">
<li><a href="#">Behavioral Therapy</a></li>
<li><a href="#">Nutrition Counseling</a></li>
<li><a href="#">Training Classes</a></li>
<li><a href="#">Rescue & Rehoming</a></li>
<li><a href="#">Pet Parent Academy</a></li>
<li><a href="#">Veterinary Referrals</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Resources</h4>
<ul class="footer-links">
<li><a href="#">Adoption Checklist</a></li>
<li><a href="#">Pet Emergency Prep</a></li>
<li><a href="#">Behavior Glossary</a></li>
<li><a href="#">Vet Directory</a></li>
<li><a href="#">Low-Cost Care</a></li>
<li><a href="#">Webinars & Workshops</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Contact Us</h4>
<ul class="footer-links">
<li><strong>Address:</strong><br>
124 Harmony Lane, Suite 200<br>
Portland, OR 97209</li>
<li><strong>Phone:</strong><br>
(503) 555-0198</li>
<li><strong>Email:</strong><br>
hello@pawhaven.org</li>
</ul>
<p style="margin-top: 20px;">
<strong>Hours:</strong><br>
Mon–Fri: 8 AM – 8 PM<br>
Sat–Sun: 9 AM – 5 PM
</p>
</div>
</div>
<div class="copyright">
<p>© 2025 PawHaven. All rights reserved.</p>
<div style="margin-top: 15px; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
<a href="#">Privacy Policy</a>
<a href="#">Terms of Service</a>
<a href="#">Accessibility</a>
<a href="#">Sitemap</a>
</div>
</div>
</div>
</footer>
<script>
// Mobile menu toggle
document.querySelector('.mobile-menu-btn').addEventListener('click', function() {
this.classList.toggle('active');
this.nextElementSibling.classList.toggle('active');
});
// FAQ Accordion
document.querySelectorAll('.faq-header').forEach(header => {
header.addEventListener('click', function() {
const item = this.parentElement;
item.classList.toggle('active');
});
});
// Sticky sidebar enhancement (optional: smooth scroll for anchor links)
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
document.querySelector(this.getAttribute('href')).scrollIntoView({
behavior: 'smooth'
});
// Close mobile menu if open
const menuBtn = document.querySelector('.mobile-menu-btn');
const mobileMenu = document.querySelector('.mobile-menu');
if (menuBtn.classList.contains('active')) {
menuBtn.classList.remove('active');
mobileMenu.classList.remove('active');
}
});
});
</script>
</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:02.097Z",
"url": "https://benchmark.aimac.invalid/19a06fcb33f1a3b8f4bbda2afe2065774b4dc744c6a941a4ee89958fa8017962.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": "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": "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": "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": "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": []
},
{
"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": []
},
{
"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": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
},
{
"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": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
},
{
"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": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
},
{
"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": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
},
{
"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": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
},
{
"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": "<p style=\"margin-top: 20px; font-size: 0.85rem; color: #666;\">\n *Data is stored locally in your browser and never shared. Sync with your PawHaven veterinarian during visits for personalized guidance.\n </p>",
"target": [
"p:nth-child(5)"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute exists and is not empty"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
},
{
"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>Caring for Pets Like They're Family \u2014 Because They Are</h1>",
"target": [
"h1"
]
},
{
"html": "<h2>Comprehensive Care at Every Life Stage</h2>",
"target": [
"#services > .container > .section-header > h2"
]
},
{
"html": "<h3>Nutrition & Weight Management</h3>",
"target": [
".container > .grid > .feature-card:nth-child(1) > .feature-content > h3"
]
},
{
"html": "<h3>Behavioral Training & Socialization</h3>",
"target": [
".container > .grid > .feature-card:nth-child(2) > .feature-content > h3"
]
},
{
"html": "<h3>Preventive Healthcare</h3>",
"target": [
".container > .grid > .feature-card:nth-child(3) > .feature-content > h3"
]
},
{
"html": "<h3>Rescue & Rehoming Support</h3>",
"target": [
".feature-card:nth-child(4) > .feature-content > h3"
]
},
{
"html": "<h2>Stay on Top of Your Pet's Health Timeline</h2>",
"target": [
".interactive-wrapper > h2"
]
},
{
"html": "<h2>Real Stories of Connection & Transformation</h2>",
"target": [
"#adoption > .container > .section-header:nth-child(1) > h2"
]
},
{
"html": "<h3 class=\"story-title\">Henry & Luna: A Second Act of Love</h3>",
"target": [
".story-card:nth-child(1) > .story-content > .story-title"
]
},
{
"html": "<h3 class=\"story-title\">The Martinez Family\u2019s Hybrid Home</h3>",
"target": [
".story-card:nth-child(2) > .story-content > .story-title"
]
},
{
"html": "<h3 class=\"story-title\">Oliver: The Shiba Inu Who Found His Voice</h3>",
"target": [
".story-card:nth-child(3) > .story-content > .story-title"
]
},
{
"html": "<h2>Expert Insights for Healthier Pets</h2>",
"target": [
"#resources > .container > .grid > div > .section-header > h2"
]
},
{
"html": "<h3>Why Grooming Matters Beyond Beauty</h3>",
"target": [
".grid > div > .grid > .feature-card:nth-child(1) > .feature-content > h3"
]
},
{
"html": "<h3>Leash Reactivity: Understanding the Roots</h3>",
"target": [
".grid > div > .grid > .feature-card:nth-child(2) > .feature-content > h3"
]
},
{
"html": "<h3>Essential First-Aid for Pet Parents</h3>",
"target": [
".grid > div > .grid > .feature-card:nth-child(3) > .feature-content > h3"
]
},
{
"html": "<h3>\ud83d\udc3e Pet of the Week</h3>",
"target": [
".sidebar-widget:nth-child(1) > h3"
]
},
{
"html": "<h3>\ud83d\udcc5 Upcoming Events</h3>",
"target": [
".sidebar-widget:nth-child(2) > h3"
]
},
{
"html": "<h3> Volunteer Opportunities</h3>",
"target": [
".sidebar-widget:nth-child(3) > h3"
]
},
{
"html": "<h3>Partnered Vets</h3>",
"target": [
".sidebar-widget:nth-child(4) > h3"
]
},
{
"html": "<h2>Trusted by Over 8,500+ Pet Parents</h2>",
"target": [
"#testimonials-faq > .container > .grid > div:nth-child(1) > .section-header > h2"
]
},
{
"html": "<h2>Frequently Asked Questions</h2>",
"target": [
".faq-container > .section-header > h2"
]
},
{
"html": "<h2 style=\"font-size: 2.5rem; margin-bottom: 20px;\">Start Your Pet\u2019s Journey with Confidence</h2>",
"target": [
".container > h2"
]
},
{
"html": "<h4>PawHaven</h4>",
"target": [
".footer-col:nth-child(1) > h4"
]
},
{
"html": "<h4>Services</h4>",
"target": [
".footer-col:nth-child(2) > h4"
]
},
{
"html": "<h4>Resources</h4>",
"target": [
".footer-col:nth-child(3) > h4"
]
},
{
"html": "<h4>Contact Us</h4>",
"target": [
".footer-col:nth-child(4) > h4"
]
}
],
"impact": "serious",
"message": "Page has a heading"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"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": "#1a5c4a",
"bgColor": "#ffffff",
"contrastRatio": 7.85,
"fontSize": "21.6pt (28.8px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 7.85"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<span class=\"brand-name\">PawHaven</span>",
"target": [
".brand-name"
]
}
]
},
{
"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": "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": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "vac1",
"relatedNodes": [],
"impact": "critical",
"message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<input type=\"checkbox\" id=\"vac1\" name=\"vac1\">",
"target": [
"#vac1"
]
}
]
},
{
"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": [
{
"any": [],
"all": [],
"none": [
{
"id": "multiple-label",
"data": null,
"relatedNodes": [
{
"html": "<label for=\"vac1\">Rabies (Due: Jan 2025)</label>",
"target": [
"label[for=\"vac1\"]"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input type=\"checkbox\" id=\"vac1\" name=\"vac1\">",
"target": [
"#vac1"
]
}
]
},
{
"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/1a5c4a/ffffff?text=PH\" alt=\"PawHaven Logo\">",
"target": [
"img[alt=\"PawHaven Logo\"]"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "explicit-label",
"data": {
"explicitLabel": "Rabies (Due: Jan 2025)"
},
"relatedNodes": [
{
"html": "<label for=\"vac1\">Rabies (Due: Jan 2025)</label>",
"target": [
"label[for=\"vac1\"]"
]
}
],
"impact": "critical",
"message": "Element has an explicit <label>"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input type=\"checkbox\" id=\"vac1\" name=\"vac1\">",
"target": [
"#vac1"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "link-in-text-block-style",
"data": null,
"relatedNodes": [
{
"html": "<div class=\"feature-content\">",
"target": [
".container > .grid > .feature-card:nth-child(1) > .feature-content"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"btn-outline\">Learn Nutrition Guidelines</a>",
"target": [
".container > .grid > .feature-card:nth-child(1) > .feature-content > .btn-outline[href=\"#\"]"
]
}
]
},
{
"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"
}
],
"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 href=\"#home\">Home</a>",
"target": [
"a[href$=\"#home\"]"
]
}
]
},
{
"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": [
".mobile-menu > 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=\"#home\">Home</a></li>",
"target": [
".mobile-menu > 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/1a5c4a/ffffff?text=PH\" alt=\"PawHaven Logo\">",
"target": [
"img[alt=\"PawHaven Logo\"]"
]
}
]
},
{
"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-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": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
]
}
]
}
],
"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": {
"messageKey": "nonBmp"
},
"relatedNodes": [],
"impact": "serious",
"message": "Element content contains only non-text characters"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<button class=\"mobile-menu-btn\" aria-label=\"Toggle menu\">\u2630</button>",
"target": [
".mobile-menu-btn"
],
"failureSummary": "Fix any of the following:\n Element content contains only non-text characters"
}
]
}
],
"violations": [
{
"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": "#ffca28",
"bgColor": "#ffffff",
"contrastRatio": 1.52,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"story-card\">",
"target": [
".story-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #ffca28, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"story-meta\">Adoption Journey</span>",
"target": [
".story-card:nth-child(1) > .story-content > .story-meta"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #ffca28, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffca28",
"bgColor": "#ffffff",
"contrastRatio": 1.52,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"story-card\">",
"target": [
".story-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #ffca28, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"story-meta\">Multi-Pet Success</span>",
"target": [
".story-card:nth-child(2) > .story-content > .story-meta"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #ffca28, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffca28",
"bgColor": "#ffffff",
"contrastRatio": 1.52,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"story-card\">",
"target": [
".story-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #ffca28, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"story-meta\">Breed-Specific Match</span>",
"target": [
".story-card:nth-child(3) > .story-content > .story-meta"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #ffca28, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#777777",
"bgColor": "#ffffff",
"contrastRatio": 4.47,
"fontSize": "10.0pt (13.3333px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.47 (foreground color: #777777, background color: #ffffff, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<small style=\"color: #777; display: block;\">Saturdays, 10 AM \u2022 $45/session</small>",
"target": [
"li:nth-child(1) > small"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.47 (foreground color: #777777, background color: #ffffff, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#777777",
"bgColor": "#ffffff",
"contrastRatio": 4.47,
"fontSize": "10.0pt (13.3333px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.47 (foreground color: #777777, background color: #ffffff, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<small style=\"color: #777; display: block;\">June 15 \u2022 6 PM \u2022 Virtual</small>",
"target": [
"li:nth-child(2) > small"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.47 (foreground color: #777777, background color: #ffffff, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#777777",
"bgColor": "#ffffff",
"contrastRatio": 4.47,
"fontSize": "10.0pt (13.3333px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.47 (foreground color: #777777, background color: #ffffff, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<small style=\"color: #777; display: block;\">July 2 \u2022 2 CEUs</small>",
"target": [
"li:nth-child(3) > small"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.47 (foreground color: #777777, background color: #ffffff, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1a5c4a",
"bgColor": "#0f3e2e",
"contrastRatio": 1.52,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer id=\"contact\">",
"target": [
"#contact"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Privacy Policy</a>",
"target": [
".copyright > div > a[href=\"#\"]:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1a5c4a",
"bgColor": "#0f3e2e",
"contrastRatio": 1.52,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer id=\"contact\">",
"target": [
"#contact"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Terms of Service</a>",
"target": [
".copyright > div > a[href=\"#\"]:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1a5c4a",
"bgColor": "#0f3e2e",
"contrastRatio": 1.52,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer id=\"contact\">",
"target": [
"#contact"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Accessibility</a>",
"target": [
".copyright > div > a[href=\"#\"]:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1a5c4a",
"bgColor": "#0f3e2e",
"contrastRatio": 1.52,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer id=\"contact\">",
"target": [
"#contact"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Sitemap</a>",
"target": [
".copyright > div > a[href=\"#\"]:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.52 (foreground color: #1a5c4a, background color: #0f3e2e, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 9387
},
{
"y": 576,
"height": 9387
},
{
"y": 1152,
"height": 9387
},
{
"y": 1728,
"height": 9387
},
{
"y": 2304,
"height": 9387
},
{
"y": 2880,
"height": 9387
},
{
"y": 3456,
"height": 9387
},
{
"y": 4032,
"height": 9387
},
{
"y": 4608,
"height": 9387
},
{
"y": 5184,
"height": 9387
},
{
"y": 5760,
"height": 9387
},
{
"y": 6336,
"height": 9387
},
{
"y": 6912,
"height": 9387
},
{
"y": 7488,
"height": 9387
},
{
"y": 8064,
"height": 9387
},
{
"y": 8640,
"height": 9387
},
{
"y": 8667,
"height": 9387
}
],
"scans": 18,
"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 "Pets" 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: "Pets"
- Description: Pet care, adoption, veterinary resources, training, and animal rescue information.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Pets" 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: "Find Help", "Resources", "Veterinary".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Pets" category. Consider themes similar to: "Nutrition Advice", "Pet Health", "Adoption Stories".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "breed characteristics", "socialization", "animal behavior".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Learn More", "Book Training", "Get Supplies".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Pets" sector. Ideas similar but not limited to: "vaccination tracker".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "product reviews", "pet health tips", "volunteer opportunities".
- **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.