Mistral Mistral Small 4 – Health and Fitness
via Mistral · Generated
- AIMAC Debt 13.09
- Cost $0.006
- Total Violations 14
- HTML Size 41 KB
- Em Dashes 0
Screenshot
View Live Page
Accessibility Issues Found
1 Critical 13 Serious
-
button-name critical 1 instance
Buttons must have discernible text
Example HTML
<button id="backToTop" class="fixed bottom-6 right-6 bg-teal-500 text-white w-12 h-12 rounded-full shadow-lg hover:bg-teal-600 transition opacity-0... -
color-contrast serious 9 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<a href="#" class="text-teal-500 font-medium hover:text-teal-600 transition">Home</a> -
link-name serious 4 instances
Links must have discernible text
Example HTML
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition"> <...
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>Vitality Hub | Your Path to Optimal Health & Fitness</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Poppins', sans-serif;
}
.hero-bg {
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}
.cta-button {
background: linear-gradient(135deg, #4ecdc4 0%, #44a08d 100%);
transition: all 0.3s ease;
}
.cta-button:hover {
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(78, 205, 196, 0.3);
}
.testimonial-card {
background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
border-left: 4px solid #4ecdc4;
}
.feature-icon {
color: #4ecdc4;
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.accordion-content.active {
max-height: 200px;
}
</style>
</head>
<body class="bg-gray-50">
<!-- Header -->
<header class="bg-white shadow-sm sticky top-0 z-50">
<div class="container mx-auto px-4 py-4">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-3">
<img src="https://placehold.co/60x60/4ecdc4/ffffff?text=VH" alt="Vitality Hub Logo" class="w-15 h-15 rounded-full">
<div>
<h1 class="text-2xl font-bold text-gray-800">Vitality Hub</h1>
<p class="text-sm text-gray-600">Your Path to Optimal Health & Fitness</p>
</div>
</div>
<nav class="hidden md:flex space-x-8">
<a href="#" class="text-teal-500 font-medium hover:text-teal-600 transition">Home</a>
<a href="#services" class="text-gray-700 hover:text-teal-500 transition">Services</a>
<a href="#fitness" class="text-gray-700 hover:text-teal-500 transition">Fitness Classes</a>
<a href="#blog" class="text-gray-700 hover:text-teal-500 transition">Blog</a>
<a href="#nutrition" class="text-gray-700 hover:text-teal-500 transition">Nutrition</a>
<a href="#about" class="text-gray-700 hover:text-teal-500 transition">About Us</a>
<a href="#contact" class="text-gray-700 hover:text-teal-500 transition">Contact</a>
<a href="#insurance" class="text-gray-700 hover:text-teal-500 transition">Insurance</a>
</nav>
<button class="md:hidden">
<i class="fas fa-bars text-2xl text-gray-700"></i>
</button>
</div>
</div>
</header>
<!-- Hero Section -->
<section class="hero-bg py-20">
<div class="container mx-auto px-4">
<div class="grid md:grid-cols-2 gap-12 items-center">
<div>
<h2 class="text-4xl md:text-5xl font-bold text-gray-800 mb-6 leading-tight">
Transform Your Health with Evidence-Based Fitness Programs
</h2>
<p class="text-lg text-gray-600 mb-8">
Join thousands of satisfied members who have achieved their health goals with our scientifically-backed approach to fitness and wellness.
</p>
<div class="flex flex-col sm:flex-row gap-4">
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold flex items-center justify-center">
Start Your Free Trial <i class="fas fa-arrow-right ml-2"></i>
</button>
<button class="border-2 border-teal-500 text-teal-500 px-8 py-3 rounded-lg font-semibold hover:bg-teal-500 hover:text-white transition">
Book Consultation
</button>
</div>
</div>
<div class="relative">
<img src="https://picsum.photos/600/400?grayscale&blur=2" alt="Happy fitness couple" class="rounded-lg shadow-xl w-full">
<div class="absolute bottom-4 right-4 bg-white p-4 rounded-lg shadow-lg">
<div class="text-center">
<div class="text-2xl font-bold text-teal-500">92%</div>
<div class="text-sm text-gray-600">Member Success Rate</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Services Overview -->
<section id="services" class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h3 class="text-3xl font-bold text-gray-800 mb-4">Comprehensive Health & Fitness Solutions</h3>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">
Our integrated approach combines fitness training, nutritional guidance, and preventive healthcare to help you achieve sustainable wellness.
</p>
</div>
<div class="grid md:grid-cols-3 gap-8">
<!-- Service Card 1 -->
<div class="bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition">
<div class="feature-icon text-4xl mb-4">
<i class="fas fa-dumbbell"></i>
</div>
<h4 class="text-xl font-bold text-gray-800 mb-3">Personalized Fitness Programs</h4>
<p class="text-gray-600 mb-6">
Customized workout plans designed by certified trainers based on your fitness level, goals, and medical history. From strength training to cardio, we've got you covered.
</p>
<a href="#" class="text-teal-500 font-semibold hover:underline">Learn More →</a>
</div>
<!-- Service Card 2 -->
<div class="bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition">
<div class="feature-icon text-4xl mb-4">
<i class="fas fa-heartbeat"></i>
</div>
<h4 class="text-xl font-bold text-gray-800 mb-3">Preventive Health Screenings</h4>
<p class="text-gray-600 mb-6">
Comprehensive health assessments including BMI analysis, blood pressure monitoring, cholesterol screening, and metabolic rate evaluation to identify potential health risks.
</p>
<a href="#" class="text-teal-500 font-semibold hover:underline">Schedule Screening →</a>
</div>
<!-- Service Card 3 -->
<div class="bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition">
<div class="feature-icon text-4xl mb-4">
<i class="fas fa-utensils"></i>
</div>
<h4 class="text-xl font-bold text-gray-800 mb-3">Nutritional Counseling</h4>
<p class="text-gray-600 mb-6">
One-on-one sessions with registered dietitians to create personalized meal plans that support your fitness goals, manage chronic conditions, and promote overall wellness.
</p>
<a href="#" class="text-teal-500 font-semibold hover:underline">Get Nutrition Plan →</a>
</div>
</div>
<div class="mt-12 text-center">
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold">
View All Services <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
</section>
<!-- Fitness Classes -->
<section id="fitness" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h3 class="text-3xl font-bold text-gray-800 mb-4">Expert-Led Fitness Classes</h3>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">
Join our community of fitness enthusiasts and work with certified instructors who specialize in various disciplines. From high-intensity interval training to mindful movement practices.
</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
<!-- Class Card 1 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-xl transition">
<img src="https://picsum.photos/300/200?grayscale&blur=1" alt="Yoga class" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-2">Yoga & Mindfulness</h4>
<p class="text-gray-600 text-sm mb-4">
Improve flexibility, reduce stress, and enhance mental clarity through our guided yoga sessions and meditation practices.
</p>
<div class="flex items-center justify-between text-sm text-gray-500">
<span><i class="fas fa-clock mr-1"></i> 60 min</span>
<span><i class="fas fa-users mr-1"></i> All Levels</span>
</div>
</div>
</div>
<!-- Class Card 2 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-xl transition">
<img src="https://picsum.photos/300/200?grayscale&blur=1" alt="Strength training" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-2">Strength Training</h4>
<p class="text-gray-600 text-sm mb-4">
Build muscle mass, increase bone density, and boost metabolism with our progressive strength training programs designed for all fitness levels.
</p>
<div class="flex items-center justify-between text-sm text-gray-500">
<span><i class="fas fa-clock mr-1"></i> 45 min</span>
<span><i class="fas fa-dumbbell mr-1"></i> Intermediate</span>
</div>
</div>
</div>
<!-- Class Card 3 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-xl transition">
<img src="https://picsum.photos/300/200?grayscale&blur=1" alt="Cardio workout" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-2">Cardio Blast</h4>
<p class="text-gray-600 text-sm mb-4">
High-energy cardiovascular workouts that improve heart health, burn calories, and increase endurance through various training modalities.
</p>
<div class="flex items-center justify-between text-sm text-gray-500">
<span><i class="fas fa-clock mr-1"></i> 30 min</span>
<span><i class="fas fa-fire mr-1"></i> Advanced</span>
</div>
</div>
</div>
<!-- Class Card 4 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden hover:shadow-xl transition">
<img src="https://picsum.photos/300/200?grayscale&blur=1" alt="Pilates session" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-2">Pilates Core</h4>
<p class="text-gray-600 text-sm mb-4">
Strengthen your core, improve posture, and enhance body awareness through controlled movements and focused breathing techniques.
</p>
<div class="flex items-center justify-between text-sm text-gray-500">
<span><i class="fas fa-clock mr-1"></i> 50 min</span>
<span><i class="fas fa-star mr-1"></i> Beginner</span>
</div>
</div>
</div>
</div>
<div class="mt-12 text-center">
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold">
View Full Schedule <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
</section>
<!-- Health Assessment Tool -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="grid md:grid-cols-2 gap-12 items-center">
<div>
<h3 class="text-3xl font-bold text-gray-800 mb-6">Free Health Assessment</h3>
<p class="text-lg text-gray-600 mb-8">
Take our comprehensive health assessment to understand your current health status and receive personalized recommendations for improvement.
</p>
<div class="space-y-6">
<div>
<h4 class="text-xl font-semibold text-gray-800 mb-3">What Our Assessment Includes:</h4>
<ul class="space-y-2 text-gray-600">
<li class="flex items-start">
<i class="fas fa-check-circle text-teal-500 mt-1 mr-3"></i>
<span>Body Composition Analysis</span>
</li>
<li class="flex items-start">
<i class="fas fa-check-circle text-teal-500 mt-1 mr-3"></i>
<span>Cardiovascular Health Evaluation</span>
</li>
<li class="flex items-start">
<i class="fas fa-check-circle text-teal-500 mt-1 mr-3"></i>
<span>Metabolic Rate Calculation</span>
</li>
<li class="flex items-start">
<i class="fas fa-check-circle text-teal-500 mt-1 mr-3"></i>
<span>Nutritional Needs Assessment</span>
</li>
<li class="flex items-start">
<i class="fas fa-check-circle text-teal-500 mt-1 mr-3"></i>
<span>Stress Level Analysis</span>
</li>
</ul>
</div>
</div>
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold mt-8">
Take Assessment Now <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
<div class="bg-gray-50 p-8 rounded-xl">
<div class="text-center mb-6">
<div class="text-6xl font-bold text-teal-500 mb-2">24</div>
<div class="text-gray-600">Questions</div>
</div>
<div class="space-y-4">
<div class="flex items-center justify-between p-4 bg-white rounded-lg">
<span class="font-medium">How would you rate your current fitness level?</span>
<i class="fas fa-chevron-down text-gray-400"></i>
</div>
<div class="flex items-center justify-between p-4 bg-white rounded-lg">
<span class="font-medium">What are your primary fitness goals?</span>
<i class="fas fa-chevron-down text-gray-400"></i>
</div>
<div class="flex items-center justify-between p-4 bg-white rounded-lg">
<span class="font-medium">Do you have any existing health conditions?</span>
<i class="fas fa-chevron-down text-gray-400"></i>
</div>
<div class="flex items-center justify-between p-4 bg-white rounded-lg">
<span class="font-medium">How many days per week can you exercise?</span>
<i class="fas fa-chevron-down text-gray-400"></i>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Nutrition Corner -->
<section id="nutrition" class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h3 class="text-3xl font-bold text-gray-800 mb-4">Expert Nutrition Guidance</h3>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">
Our registered dietitians provide evidence-based nutritional counseling to support your health goals, manage chronic conditions, and optimize overall wellness.
</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Nutrition Card 1 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<img src="https://picsum.photos/400/250?grayscale&blur=1" alt="Healthy meal prep" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-3">Meal Planning & Prep</h4>
<p class="text-gray-600 text-sm mb-4">
Receive customized meal plans and preparation strategies that fit your lifestyle, dietary preferences, and health objectives.
</p>
<a href="#" class="text-teal-500 font-semibold hover:underline">Get Meal Plan →</a>
</div>
</div>
<!-- Nutrition Card 2 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<img src="https://picsum.photos/400/250?grayscale&blur=1" alt="Nutrition facts" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-3">Macro & Micronutrient Analysis</h4>
<p class="text-gray-600 text-sm mb-4">
Understand your body's nutritional needs through detailed analysis of macronutrients, micronutrients, and hydration requirements.
</p>
<a href="#" class="text-teal-500 font-semibold hover:underline">Learn More →</a>
</div>
</div>
<!-- Nutrition Card 3 -->
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<img src="https://picsum.photos/400/250?grayscale&blur=1" alt="Supplements" class="w-full h-48 object-cover">
<div class="p-6">
<h4 class="text-xl font-bold text-gray-800 mb-3">Supplement Guidance</h4>
<p class="text-gray-600 text-sm mb-4">
Get professional advice on safe and effective supplement use, including vitamins, minerals, and performance-enhancing supplements.
</p>
<a href="#" class="text-teal-500 font-semibold hover:underline">Consult Dietitian →</a>
</div>
</div>
</div>
<div class="mt-12 text-center">
<div class="bg-white p-8 rounded-xl shadow-md max-w-2xl mx-auto">
<h4 class="text-xl font-bold text-gray-800 mb-4">Nutrition Blog</h4>
<p class="text-gray-600 mb-6">
Stay updated with the latest nutrition research, healthy recipes, and evidence-based dietary advice from our team of registered dietitians.
</p>
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold">
Read Blog <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
</div>
</section>
<!-- Testimonials -->
<section class="py-16 bg-white">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h3 class="text-3xl font-bold text-gray-800 mb-4">Member Success Stories</h3>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">
Hear from our community members who have transformed their health and achieved remarkable results through our comprehensive programs.
</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
<!-- Testimonial 1 -->
<div class="testimonial-card p-6 rounded-xl">
<div class="flex items-center mb-4">
<img src="https://i.pravatar.cc/60?u=sarahj" alt="Sarah Johnson" class="w-12 h-12 rounded-full mr-4">
<div>
<h5 class="font-bold text-gray-800">Sarah Johnson</h5>
<p class="text-sm text-gray-500">34 years old • Lost 25 lbs</p>
</div>
</div>
<p class="text-gray-600 mb-4">
"The personalized fitness program and nutritional guidance I received at Vitality Hub completely transformed my health. I've lost 25 pounds, gained muscle tone, and most importantly, learned sustainable habits that I can maintain for life."
</p>
<div class="flex text-yellow-400">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
<!-- Testimonial 2 -->
<div class="testimonial-card p-6 rounded-xl">
<div class="flex items-center mb-4">
<img src="https://i.pravatar.cc/60?u=robertm" alt="Robert Martinez" class="w-12 h-12 rounded-full mr-4">
<div>
<h5 class="font-bold text-gray-800">Robert Martinez</h5>
<p class="text-sm text-gray-500">45 years old • Improved cholesterol</p>
</div>
</div>
<p class="text-gray-600 mb-4">
"As someone with a family history of heart disease, I was concerned about my cardiovascular health. The preventive screenings and lifestyle modifications recommended by Vitality Hub helped me improve my cholesterol levels and reduce my risk factors significantly."
</p>
<div class="flex text-yellow-400">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
<!-- Testimonial 3 -->
<div class="testimonial-card p-6 rounded-xl">
<div class="flex items-center mb-4">
<img src="https://i.pravatar.cc/60?u=emilyw" alt="Emily Wilson" class="w-12 h-12 rounded-full mr-4">
<div>
<h5 class="font-bold text-gray-800">Emily Wilson</h5>
<p class="text-sm text-gray-500">28 years old • Increased energy</p>
</div>
</div>
<p class="text-gray-600 mb-4">
"I joined Vitality Hub feeling overwhelmed and unsure where to start with my health journey. The supportive community, knowledgeable staff, and structured programs gave me the confidence and tools I needed to make lasting changes. My energy levels have never been better!"
</p>
<div class="flex text-yellow-400">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
</div>
<div class="mt-12 text-center">
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold">
Meet More Members <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
</section>
<!-- FAQ Section -->
<section class="py-16 bg-gray-50">
<div class="container mx-auto px-4">
<div class="text-center mb-12">
<h3 class="text-3xl font-bold text-gray-800 mb-4">Frequently Asked Questions</h3>
<p class="text-lg text-gray-600 max-w-3xl mx-auto">
Find answers to common questions about our programs, membership options, and what to expect when you join the Vitality Hub community.
</p>
</div>
<div class="max-w-4xl mx-auto space-y-4">
<!-- FAQ Item 1 -->
<div class="bg-white rounded-lg shadow-md">
<button class="accordion-trigger w-full p-6 text-left flex items-center justify-between hover:bg-gray-50 transition">
<span class="font-semibold text-gray-800">What types of fitness programs do you offer?</span>
<i class="fas fa-plus text-gray-400"></i>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-gray-600">
We offer a comprehensive range of fitness programs including strength training, cardiovascular exercises, flexibility and mobility work, functional training, and mind-body practices like yoga and Pilates. Our programs are designed for all fitness levels and can be customized to meet your specific goals and needs.
</p>
</div>
</div>
<!-- FAQ Item 2 -->
<div class="bg-white rounded-lg shadow-md">
<button class="accordion-trigger w-full p-6 text-left flex items-center justify-between hover:bg-gray-50 transition">
<span class="font-semibold text-gray-800">Do I need to be in good shape to join?</span>
<i class="fas fa-plus text-gray-400"></i>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-gray-600">
Not at all! Our programs are designed for all fitness levels, from complete beginners to advanced athletes. We start with a comprehensive assessment to understand your current fitness level and create a personalized plan that gradually progresses at a pace that's right for you.
</p>
</div>
</div>
<!-- FAQ Item 3 -->
<div class="bg-white rounded-lg shadow-md">
<button class="accordion-trigger w-full p-6 text-left flex items-center justify-between hover:bg-gray-50 transition">
<span class="font-semibold text-gray-800">How often should I work out to see results?</span>
<i class="fas fa-plus text-gray-400"></i>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-gray-600">
Consistency is key to achieving results. We recommend a minimum of 3-4 workouts per week for general fitness, with additional focus on nutrition and recovery. Our certified trainers will help you create a sustainable schedule that fits your lifestyle and goals.
</p>
</div>
</div>
<!-- FAQ Item 4 -->
<div class="bg-white rounded-lg shadow-md">
<button class="accordion-trigger w-full p-6 text-left flex items-center justify-between hover:bg-gray-50 transition">
<span class="font-semibold text-gray-800">Do you accept health insurance?</span>
<i class="fas fa-plus text-gray-400"></i>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-gray-600">
Yes! We accept most major health insurance plans and offer direct billing for preventive services. Our team will work with your insurance provider to maximize your benefits. We also offer flexible payment options and financing plans for those without insurance coverage.
</p>
</div>
</div>
<!-- FAQ Item 5 -->
<div class="bg-white rounded-lg shadow-md">
<button class="accordion-trigger w-full p-6 text-left flex items-center justify-between hover:bg-gray-50 transition">
<span class="font-semibold text-gray-800">How do I get started with a personalized program?</span>
<i class="fas fa-plus text-gray-400"></i>
</button>
<div class="accordion-content px-6 pb-6">
<p class="text-gray-600">
Getting started is easy! Simply schedule a free consultation where we'll discuss your health goals, perform a comprehensive assessment, and create a personalized program tailored to your needs. This typically takes about 60-90 minutes and includes a fitness evaluation and nutritional guidance.
</p>
</div>
</div>
</div>
<div class="mt-12 text-center">
<button class="cta-button text-white px-8 py-3 rounded-lg font-semibold">
View All FAQs <i class="fas fa-arrow-right ml-2"></i>
</button>
</div>
</div>
</section>
<!-- Footer -->
<footer id="contact" class="bg-gray-800 text-white py-12">
<div class="container mx-auto px-4">
<div class="grid md:grid-cols-4 gap-8">
<!-- Company Info -->
<div>
<div class="flex items-center space-x-3 mb-4">
<img src="https://placehold.co/50x50/4ecdc4/ffffff?text=VH" alt="Vitality Hub Logo" class="w-12 h-12 rounded-full">
<div>
<h4 class="text-xl font-bold">Vitality Hub</h4>
<p class="text-sm text-gray-400">Your Path to Optimal Health & Fitness</p>
</div>
</div>
<p class="text-gray-400 text-sm mb-4">
Transforming lives through evidence-based health and fitness solutions since 2015.
</p>
<div class="flex space-x-3">
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition">
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition">
<i class="fab fa-instagram"></i>
</a>
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition">
<i class="fab fa-linkedin-in"></i>
</a>
</div>
</div>
<!-- Quick Links -->
<div>
<h5 class="text-lg font-semibold mb-4">Quick Links</h5>
<ul class="space-y-2 text-gray-400">
<li><a href="#" class="hover:text-white transition">Home</a></li>
<li><a href="#services" class="hover:text-white transition">Services</a></li>
<li><a href="#fitness" class="hover:text-white transition">Fitness Classes</a></li>
<li><a href="#nutrition" class="hover:text-white transition">Nutrition</a></li>
<li><a href="#blog" class="hover:text-white transition">Blog</a></li>
<li><a href="#about" class="hover:text-white transition">About Us</a></li>
<li><a href="#contact" class="hover:text-white transition">Contact</a></li>
</ul>
</div>
<!-- Services -->
<div>
<h5 class="text-lg font-semibold mb-4">Our Services</h5>
<ul class="space-y-2 text-gray-400">
<li><a href="#" class="hover:text-white transition">Personal Training</a></li>
<li><a href="#" class="hover:text-white transition">Health Screenings</a></li>
<li><a href="#" class="hover:text-white transition">Nutritional Counseling</a></li>
<li><a href="#" class="hover:text-white transition">Fitness Classes</a></li>
<li><a href="#" class="hover:text-white transition">Preventive Care</a></li>
<li><a href="#" class="hover:text-white transition">Wellness Programs</a></li>
</ul>
</div>
<!-- Contact Info -->
<div>
<h5 class="text-lg font-semibold mb-4">Contact Us</h5>
<div class="space-y-3 text-gray-400">
<div class="flex items-start">
<i class="fas fa-map-marker-alt mt-1 mr-3 text-teal-500"></i>
<div>
<p class="font-semibold text-white">Main Location</p>
<p>123 Health Way, Suite 400<br>Wellness City, WC 12345</p>
</div>
</div>
<div class="flex items-center">
<i class="fas fa-phone mr-3 text-teal-500"></i>
<div>
<p class="font-semibold text-white">Phone</p>
<p>General: (555) 123-4567<br>Support: (555) 987-6543</p>
</div>
</div>
<div class="flex items-center">
<i class="fas fa-envelope mr-3 text-teal-500"></i>
<div>
<p class="font-semibold text-white">Email</p>
<p>info@vitalityhub.com<br>support@vitalityhub.com</p>
</div>
</div>
</div>
</div>
</div>
<!-- Footer Bottom -->
<div class="border-t border-gray-700 mt-8 pt-8 flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-400 text-sm">© 2024 Vitality Hub. All rights reserved.</p>
<div class="flex space-x-6 mt-4 md:mt-0">
<a href="#" class="text-gray-400 hover:text-white transition text-sm">Privacy Policy</a>
<a href="#" class="text-gray-400 hover:text-white transition text-sm">Terms of Service</a>
<a href="#" class="text-gray-400 hover:text-white transition text-sm">Member Agreement</a>
<a href="#" class="text-gray-400 hover:text-white transition text-sm">Cookie Policy</a>
</div>
</div>
</div>
</footer>
<!-- Back to Top Button -->
<button id="backToTop" class="fixed bottom-6 right-6 bg-teal-500 text-white w-12 h-12 rounded-full shadow-lg hover:bg-teal-600 transition opacity-0 pointer-events-none">
<i class="fas fa-arrow-up"></i>
</button>
<script>
// Mobile Navigation Toggle
const mobileMenuButton = document.querySelector('.md\\:hidden button');
const mobileMenu = document.createElement('div');
mobileMenu.className = 'md:hidden bg-white shadow-lg absolute top-full left-0 right-0 z-40 hidden';
mobileMenu.innerHTML = `
<nav class="px-4 py-4 space-y-4">
<a href="#" class="block text-teal-500 font-medium">Home</a>
<a href="#services" class="block text-gray-700 hover:text-teal-500">Services</a>
<a href="#fitness" class="block text-gray-700 hover:text-teal-500">Fitness Classes</a>
<a href="#blog" class="block text-gray-700 hover:text-teal-500">Blog</a>
<a href="#nutrition" class="block text-gray-700 hover:text-teal-500">Nutrition</a>
<a href="#about" class="block text-gray-700 hover:text-teal-500">About Us</a>
<a href="#contact" class="block text-gray-700 hover:text-teal-500">Contact</a>
<a href="#insurance" class="block text-gray-700 hover:text-teal-500">Insurance</a>
</nav>
`;
document.querySelector('header .container').appendChild(mobileMenu);
mobileMenuButton.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
// FAQ Accordion
const accordionTriggers = document.querySelectorAll('.accordion-trigger');
accordionTriggers.forEach(trigger => {
trigger.addEventListener('click', () => {
const content = trigger.nextElementSibling;
const icon = trigger.querySelector('i');
// Close all other accordions
accordionTriggers.forEach(otherTrigger => {
if (otherTrigger !== trigger) {
const otherContent = otherTrigger.nextElementSibling;
const otherIcon = otherTrigger.querySelector('i');
otherContent.classList.remove('active');
otherIcon.classList.remove('fa-minus');
otherIcon.classList.add('fa-plus');
}
});
// Toggle current accordion
content.classList.toggle('active');
if (content.classList.contains('active')) {
icon.classList.remove('fa-plus');
icon.classList.add('fa-minus');
} else {
icon.classList.remove('fa-minus');
icon.classList.add('fa-plus');
}
});
});
// Back to Top Button
const backToTopButton = document.getElementById('backToTop');
window.addEventListener('scroll', () => {
if (window.pageYOffset > 300) {
backToTopButton.classList.remove('opacity-0', 'pointer-events-none');
backToTopButton.classList.add('opacity-100');
} else {
backToTopButton.classList.add('opacity-0', 'pointer-events-none');
backToTopButton.classList.remove('opacity-100');
}
});
backToTopButton.addEventListener('click', () => {
window.scrollTo({ top: 0, behavior: 'smooth' });
});
// Smooth scrolling for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
});
});
</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:14.284Z",
"url": "https://benchmark.aimac.invalid/cbdfe235508b6e9a52b735bf4888803ab2c0fd6f36f8637f0c23c03ba9cd0f92.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-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": []
},
{
"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-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": []
},
{
"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-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": []
},
{
"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": "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": []
},
{
"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": []
},
{
"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": "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": []
},
{
"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": "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": "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-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 class=\"bg-gray-50\">",
"target": [
"body"
]
}
]
},
{
"id": "button-name",
"impact": "critical",
"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"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"cta-button text-white px-8 py-3 rounded-lg font-semibold flex items-center justify-center\">\n Start Your Free Trial <i class=\"fas fa-arrow-right ml-2\"></i>\n </button>",
"target": [
".justify-center.cta-button.px-8"
]
}
]
},
{
"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 class=\"text-2xl font-bold text-gray-800\">Vitality Hub</h1>",
"target": [
"h1"
]
},
{
"html": "<h2 class=\"text-4xl md:text-5xl font-bold text-gray-800 mb-6 leading-tight\">\n Transform Your Health with Evidence-Based Fitness Programs\n </h2>",
"target": [
"h2"
]
},
{
"html": "<h3 class=\"text-3xl font-bold text-gray-800 mb-4\">Comprehensive Health & Fitness Solutions</h3>",
"target": [
"#services > .container.px-4.mx-auto > .mb-12.text-center > h3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-3\">Personalized Fitness Programs</h4>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(1) > .mb-3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-3\">Preventive Health Screenings</h4>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(2) > .mb-3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-3\">Nutritional Counseling</h4>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(3) > .mb-3"
]
},
{
"html": "<h3 class=\"text-3xl font-bold text-gray-800 mb-4\">Expert-Led Fitness Classes</h3>",
"target": [
"#fitness > .container.px-4.mx-auto > .mb-12.text-center > h3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-2\">Yoga & Mindfulness</h4>",
"target": [
".overflow-hidden.hover\\:shadow-xl.rounded-xl:nth-child(1) > .p-6 > .mb-2"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-2\">Strength Training</h4>",
"target": [
".overflow-hidden.hover\\:shadow-xl.rounded-xl:nth-child(2) > .p-6 > .mb-2"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-2\">Cardio Blast</h4>",
"target": [
".overflow-hidden.hover\\:shadow-xl.rounded-xl:nth-child(3) > .p-6 > .mb-2"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-2\">Pilates Core</h4>",
"target": [
".overflow-hidden.hover\\:shadow-xl.rounded-xl:nth-child(4) > .p-6 > .mb-2"
]
},
{
"html": "<h3 class=\"text-3xl font-bold text-gray-800 mb-6\">Free Health Assessment</h3>",
"target": [
".gap-12.md\\:grid-cols-2.grid > div:nth-child(1) > h3"
]
},
{
"html": "<h4 class=\"text-xl font-semibold text-gray-800 mb-3\">What Our Assessment Includes:</h4>",
"target": [
".space-y-6 > div > .mb-3"
]
},
{
"html": "<h3 class=\"text-3xl font-bold text-gray-800 mb-4\">Expert Nutrition Guidance</h3>",
"target": [
"#nutrition > .container.px-4.mx-auto > .mb-12.text-center > h3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-3\">Meal Planning & Prep</h4>",
"target": [
".overflow-hidden.rounded-xl.shadow-md:nth-child(1) > .p-6 > .mb-3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-3\">Macro & Micronutrient Analysis</h4>",
"target": [
".overflow-hidden.rounded-xl.shadow-md:nth-child(2) > .p-6 > .mb-3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-3\">Supplement Guidance</h4>",
"target": [
".overflow-hidden.rounded-xl.shadow-md:nth-child(3) > .p-6 > .mb-3"
]
},
{
"html": "<h4 class=\"text-xl font-bold text-gray-800 mb-4\">Nutrition Blog</h4>",
"target": [
".max-w-2xl > h4"
]
},
{
"html": "<h3 class=\"text-3xl font-bold text-gray-800 mb-4\">Member Success Stories</h3>",
"target": [
".py-16:nth-child(7) > .container.px-4.mx-auto > .mb-12.text-center > h3"
]
},
{
"html": "<h5 class=\"font-bold text-gray-800\">Sarah Johnson</h5>",
"target": [
".testimonial-card.p-6.rounded-xl:nth-child(1) > .mb-4.items-center.flex > div > h5"
]
},
{
"html": "<h5 class=\"font-bold text-gray-800\">Robert Martinez</h5>",
"target": [
".testimonial-card.p-6.rounded-xl:nth-child(2) > .mb-4.items-center.flex > div > h5"
]
},
{
"html": "<h5 class=\"font-bold text-gray-800\">Emily Wilson</h5>",
"target": [
".testimonial-card.p-6.rounded-xl:nth-child(3) > .mb-4.items-center.flex > div > h5"
]
},
{
"html": "<h3 class=\"text-3xl font-bold text-gray-800 mb-4\">Frequently Asked Questions</h3>",
"target": [
".py-16:nth-child(8) > .container.px-4.mx-auto > .mb-12.text-center > h3"
]
},
{
"html": "<h4 class=\"text-xl font-bold\">Vitality Hub</h4>",
"target": [
".space-x-3.mb-4.items-center > div > h4"
]
},
{
"html": "<h5 class=\"text-lg font-semibold mb-4\">Quick Links</h5>",
"target": [
".md\\:grid-cols-4 > div:nth-child(2) > h5"
]
},
{
"html": "<h5 class=\"text-lg font-semibold mb-4\">Our Services</h5>",
"target": [
"div:nth-child(3) > h5"
]
},
{
"html": "<h5 class=\"text-lg font-semibold mb-4\">Contact Us</h5>",
"target": [
"div:nth-child(4) > h5"
]
}
],
"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": "#1f2937",
"bgColor": "#ffffff",
"contrastRatio": 14.67,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 14.67"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<h1 class=\"text-2xl font-bold text-gray-800\">Vitality Hub</h1>",
"target": [
"h1"
]
}
]
},
{
"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/60x60/4ecdc4/ffffff?text=VH\" alt=\"Vitality Hub Logo\" class=\"w-15 h-15 rounded-full\">",
"target": [
".w-15"
]
}
]
},
{
"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=\"bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition\">",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Learn More \u2192</a>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(1) > .hover\\:underline.text-teal-500[href=\"#\"]"
]
}
]
},
{
"id": "link-name",
"impact": "serious",
"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=\"#\" class=\"text-teal-500 font-medium hover:text-teal-600 transition\">Home</a>",
"target": [
".hover\\:text-teal-600"
]
}
]
},
{
"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 class=\"space-y-2 text-gray-600\">",
"target": [
".space-y-6 > div > 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 class=\"flex items-start\">\n <i class=\"fas fa-check-circle text-teal-500 mt-1 mr-3\"></i>\n <span>Body Composition Analysis</span>\n </li>",
"target": [
"ul > .items-start: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/60x60/4ecdc4/ffffff?text=VH\" alt=\"Vitality Hub Logo\" class=\"w-15 h-15 rounded-full\">",
"target": [
".w-15"
]
}
]
},
{
"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": 48,
"height": 24
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (48px by 24px, 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 href=\"#\" class=\"text-teal-500 font-medium hover:text-teal-600 transition\">Home</a>",
"target": [
".hover\\:text-teal-600"
]
}
]
}
],
"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": "36.0pt (48px)",
"fontWeight": "bold",
"messageKey": "bgGradient",
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"hero-bg py-20\">",
"target": [
".hero-bg"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a background gradient"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h2 class=\"text-4xl md:text-5xl font-bold text-gray-800 mb-6 leading-tight\">\n Transform Your Health with Evidence-Based Fitness Programs\n </h2>",
"target": [
"h2"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a background gradient"
}
]
}
],
"violations": [
{
"id": "button-name",
"impact": "critical",
"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 does not have inner text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "critical",
"message": "Element has no title attribute"
},
{
"id": "implicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an implicit (wrapped) <label>"
},
{
"id": "explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an explicit <label>"
},
{
"id": "presentational-role",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
}
],
"all": [],
"none": [],
"impact": "critical",
"html": "<button id=\"backToTop\" class=\"fixed bottom-6 right-6 bg-teal-500 text-white w-12 h-12 rounded-full shadow-lg hover:bg-teal-600 transition opacity-0 pointer-events-none\">\n <i class=\"fas fa-arrow-up\"></i>\n </button>",
"target": [
"#backToTop"
],
"failureSummary": "Fix any of the following:\n Element does not have inner text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute\n Element does not have an implicit (wrapped) <label>\n Element does not have an explicit <label>\n Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
}
]
},
{
"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": "#14b8a6",
"bgColor": "#ffffff",
"contrastRatio": 2.48,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<header class=\"bg-white shadow-sm sticky top-0 z-50\">",
"target": [
"header"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-medium hover:text-teal-600 transition\">Home</a>",
"target": [
".hover\\:text-teal-600"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#ffffff",
"contrastRatio": 2.48,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"absolute bottom-4 right-4 bg-white p-4 rounded-lg shadow-lg\">",
"target": [
".bottom-4"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"text-2xl font-bold text-teal-500\">92%</div>",
"target": [
".text-2xl.text-teal-500.font-bold"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#f9fafb",
"contrastRatio": 2.38,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition\">",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Learn More \u2192</a>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(1) > .hover\\:underline.text-teal-500[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#f9fafb",
"contrastRatio": 2.38,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition\">",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Schedule Screening \u2192</a>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(2) > .hover\\:underline.text-teal-500[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#f9fafb",
"contrastRatio": 2.38,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-gray-50 p-8 rounded-xl shadow-md hover:shadow-xl transition\">",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Get Nutrition Plan \u2192</a>",
"target": [
".p-8.hover\\:shadow-xl.bg-gray-50:nth-child(3) > .hover\\:underline.text-teal-500[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#f9fafb",
"contrastRatio": 2.38,
"fontSize": "45.0pt (60px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-gray-50 p-8 rounded-xl\">",
"target": [
".gap-12.md\\:grid-cols-2.grid > .p-8.bg-gray-50.rounded-xl"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 45.0pt (60px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"text-6xl font-bold text-teal-500 mb-2\">24</div>",
"target": [
".text-6xl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.38 (foreground color: #14b8a6, background color: #f9fafb, font size: 45.0pt (60px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#ffffff",
"contrastRatio": 2.48,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-white rounded-xl shadow-md overflow-hidden\">",
"target": [
".lg\\:grid-cols-3.gap-8.md\\:grid-cols-2 > .overflow-hidden.rounded-xl.shadow-md:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Get Meal Plan \u2192</a>",
"target": [
".overflow-hidden.rounded-xl.shadow-md:nth-child(1) > .p-6 > .hover\\:underline.text-teal-500[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#ffffff",
"contrastRatio": 2.48,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-white rounded-xl shadow-md overflow-hidden\">",
"target": [
".lg\\:grid-cols-3.gap-8.md\\:grid-cols-2 > .overflow-hidden.rounded-xl.shadow-md:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Learn More \u2192</a>",
"target": [
".overflow-hidden.rounded-xl.shadow-md:nth-child(2) > .p-6 > .hover\\:underline.text-teal-500[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#14b8a6",
"bgColor": "#ffffff",
"contrastRatio": 2.48,
"fontSize": "12.0pt (16px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bg-white rounded-xl shadow-md overflow-hidden\">",
"target": [
".lg\\:grid-cols-3.gap-8.md\\:grid-cols-2 > .overflow-hidden.rounded-xl.shadow-md:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"text-teal-500 font-semibold hover:underline\">Consult Dietitian \u2192</a>",
"target": [
".overflow-hidden.rounded-xl.shadow-md:nth-child(3) > .p-6 > .hover\\:underline.text-teal-500[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.48 (foreground color: #14b8a6, background color: #ffffff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
},
{
"id": "link-name",
"impact": "serious",
"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 does not have text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has no title attribute"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is in tab order and does not have accessible text"
}
],
"impact": "serious",
"html": "<a href=\"#\" class=\"w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition\">\n <i class=\"fab fa-facebook-f\"></i>\n </a>",
"target": [
".w-10.h-10.bg-gray-700:nth-child(1)"
],
"failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute"
},
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has no title attribute"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is in tab order and does not have accessible text"
}
],
"impact": "serious",
"html": "<a href=\"#\" class=\"w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition\">\n <i class=\"fab fa-instagram\"></i>\n </a>",
"target": [
".w-10.h-10.bg-gray-700:nth-child(2)"
],
"failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute"
},
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has no title attribute"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is in tab order and does not have accessible text"
}
],
"impact": "serious",
"html": "<a href=\"#\" class=\"w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition\">\n <i class=\"fab fa-twitter\"></i>\n </a>",
"target": [
".w-10.h-10.bg-gray-700:nth-child(3)"
],
"failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute"
},
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have text that is visible to screen readers"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has no title attribute"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is in tab order and does not have accessible text"
}
],
"impact": "serious",
"html": "<a href=\"#\" class=\"w-10 h-10 bg-gray-700 rounded-full flex items-center justify-center hover:bg-teal-500 transition\">\n <i class=\"fab fa-linkedin-in\"></i>\n </a>",
"target": [
".w-10.h-10.bg-gray-700:nth-child(4)"
],
"failureSummary": "Fix all of the following:\n Element is in tab order and does not have accessible text\n\nFix any of the following:\n Element does not have text that is visible to screen readers\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 5781
},
{
"y": 576,
"height": 5781
},
{
"y": 1152,
"height": 5781
},
{
"y": 1728,
"height": 5781
},
{
"y": 2304,
"height": 5781
},
{
"y": 2880,
"height": 5781
},
{
"y": 3456,
"height": 5781
},
{
"y": 4032,
"height": 5781
},
{
"y": 4608,
"height": 5781
},
{
"y": 5061,
"height": 5781
}
],
"scans": 11,
"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 "Health and Fitness" 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: "Health and Fitness"
- Description: Healthcare, wellness, fitness tips, nutrition, and medical resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Health and Fitness" 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: "Fitness Classes", "Blog", "Insurance".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Health and Fitness" category. Consider themes similar to: "Health Education", "Preventive Care", "Fitness Programs".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "BMI", "personal training", "vital signs".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Start Trial", "Join Program", "Request Consultation".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Health and Fitness" sector. Ideas similar but not limited to: "fitness assessment".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "nutrition advice", "success stories", "provider spotlights".
- **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.