Qwen Qwen3 Coder Next – Religion and Spirituality
via Parasail · Generated
- AIMAC Debt 14.48
- Cost $0.013
- Total Violations 8
- HTML Size 50 KB
- Em Dashes 9
Screenshot
View Live Page
Accessibility Issues Found
3 Critical 5 Serious
-
button-name critical 3 instances
Buttons must have discernible text
Example HTML
<button style="background:none; border:none; color:var(--color-accent);"> <svg viewBox="0 0 24 24" width="20" height="20"> ... -
color-contrast serious 5 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="live-badge">LIVE NOW</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>Stillwater Spiritual Center | A Welcoming Sacred Space for All</title>
<meta name="description" content="Stillwater Spiritual Center is a vibrant, interfaith community dedicated to spiritual growth, compassionate action, and sacred connection in the heart of the city. Join us in worship, service, and fellowship.">
<style>
/* ===== RESET & BASE STYLES ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--color-primary: #2C5F40; /* Deep Forest Green */
--color-secondary: #4D372A; /* Earthy Brown */
--color-accent: #D6C998; /* Warm Gold */
--color-text: #333;
--color-text-light: #555;
--color-white: #ffffff;
--color-bg: #f9f8f5; /* Warm Off-White */
--font-heading: 'Playfair Display', 'Georgia', serif;
--font-body: 'Lato', 'Helvetica Neue', sans-serif;
--radius-md: 8px;
--radius-lg: 16px;
--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
--shadow-md: 0 10px 25px rgba(0, 0, 0, 0.08);
--shadow-lg: 0 25px 50px rgba(0, 0, 0, 0.12);
}
html { scroll-behavior: smooth; }
body {
font-family: var(--font-body);
color: var(--color-text);
background-color: var(--color-bg);
line-height: 1.6;
font-size: 16px;
}
h1, h2, h3, h4 {
font-family: var(--font-heading);
color: var(--color-primary);
margin-bottom: 1rem;
line-height: 1.25;
}
p { margin-bottom: 1.25rem; }
a { text-decoration: none; color: inherit; transition: color 0.2s ease; }
a:hover { color: var(--color-secondary); }
img { max-width: 100%; height: auto; display: block; border-radius: var(--radius-md); }
ul { list-style: none; }
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 1.5rem;
}
.section-padding { padding: 5rem 0; }
.section-title {
text-align: center;
font-size: 2.5rem;
margin-bottom: 2.5rem;
position: relative;
}
.section-title::after {
content: '';
display: block;
width: 60px;
height: 4px;
background-color: var(--color-accent);
margin: 0.75rem auto 0;
border-radius: 2px;
}
/* ===== HEADER & NAVIGATION ===== */
header {
position: sticky;
top: 0;
z-index: 1000;
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 0;
}
.logo {
display: flex;
align-items: center;
gap: 0.75rem;
font-family: var(--font-heading);
font-size: 1.75rem;
font-weight: 700;
color: var(--color-primary);
}
.logo svg {
width: 40px;
height: 40px;
color: var(--color-accent);
}
nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
nav a {
font-weight: 600;
color: var(--color-secondary);
position: relative;
padding-bottom: 0.25rem;
}
nav a:hover {
color: var(--color-primary);
}
nav a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background-color: var(--color-accent);
transition: width 0.3s ease;
}
nav a:hover::after {
width: 100%;
}
.cta-btn {
display: inline-block;
background-color: var(--color-primary);
color: white;
padding: 0.75rem 1.5rem;
border-radius: var(--radius-md);
font-weight: 600;
transition: background-color 0.2s ease;
}
.cta-btn:hover {
background-color: var(--color-secondary);
}
/* Mobile Nav Toggle */
.nav-toggle {
display: none;
background: none;
border: none;
font-size: 1.75rem;
cursor: pointer;
}
/* ===== HERO SECTION ===== */
.hero {
position: relative;
min-height: 80vh;
display: flex;
align-items: center;
background: linear-gradient(135deg, rgba(44, 95, 64, 0.85), rgba(77, 55, 42, 0.7)),
url('https://picsum.photos/1920/1080?grayscale&blur=3') center/cover no-repeat;
color: white;
padding: 6rem 0;
}
.hero-content {
max-width: 700px;
text-align: center;
margin: 0 auto;
}
.hero h1 {
color: white;
font-size: 3.25rem;
margin-bottom: 1.25rem;
}
.hero p {
font-size: 1.25rem;
max-width: 600px;
margin: 0 auto 2.5rem;
opacity: 0.9;
}
.hero-buttons {
display: flex;
justify-content: center;
gap: 1.25rem;
flex-wrap: wrap;
}
.hero-btn-secondary {
background-color: transparent;
border: 2px solid white;
color: white;
padding: 0.75rem 1.75rem;
border-radius: var(--radius-md);
font-weight: 600;
transition: all 0.2s ease;
}
.hero-btn-secondary:hover {
background-color: rgba(255, 255, 255, 0.15);
border-color: white;
}
/* ===== WELCOME & TEACHINGS SECTION ===== */
.intro-section {
background-color: var(--color-white);
}
.intro-grid {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 2.5rem;
align-items: center;
}
.intro-text h2 {
font-size: 2.25rem;
margin-bottom: 1.5rem;
}
.intro-text p {
font-size: 1.05rem;
}
.intro-image {
position: relative;
overflow: hidden;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg);
}
.intro-image img {
width: 100%;
height: auto;
transform: scale(1.02);
transition: transform 0.4s ease;
}
.intro-image:hover img {
transform: scale(1.05);
}
.quote-box {
background-color: var(--color-bg);
padding: 2rem;
border-radius: var(--radius-lg);
position: relative;
margin-top: 2rem;
}
.quote-box::before {
content: "“";
position: absolute;
top: -1.25rem;
left: 1.5rem;
font-family: var(--font-heading);
font-size: 5rem;
color: var(--color-accent);
opacity: 0.4;
}
.quote-text {
font-family: var(--font-heading);
font-size: 1.25rem;
font-style: italic;
color: var(--color-primary);
margin: 0 0 1rem;
}
.quote-attribution {
font-size: 0.9rem;
color: var(--color-text-light);
text-align: right;
}
/* ===== SERVICE TIMES & UPCOMING EVENTS SECTION ===== */
.services-section {
background-color: var(--color-bg);
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 2rem;
}
.service-card {
background-color: white;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-md);
padding: 2rem;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.service-card:hover {
transform: translateY(-5px);
box-shadow: var(--shadow-lg);
}
.service-icon {
width: 60px;
height: 60px;
background-color: rgba(44, 95, 64, 0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 1.5rem;
color: var(--color-primary);
}
.service-icon svg {
width: 30px;
height: 30px;
}
.service-time {
display: flex;
align-items: center;
gap: 0.75rem;
color: var(--color-secondary);
font-weight: 600;
margin-bottom: 1rem;
}
/* ===== MINISTRIES & COMMUNITY OUTREACH ===== */
.ministries-section {
background-color: white;
}
.ministries-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2.5rem;
}
.ministry-card {
overflow: hidden;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
transition: transform 0.3s ease;
}
.ministry-card:hover {
transform: translateY(-8px);
}
.ministry-image {
height: 200px;
overflow: hidden;
}
.ministry-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
.ministry-card:hover .ministry-image img {
transform: scale(1.1);
}
.ministry-content {
padding: 1.75rem;
}
.ministry-content h3 {
font-size: 1.5rem;
}
.ministry-link {
display: inline-block;
margin-top: 1rem;
font-weight: 600;
color: var(--color-primary);
text-decoration: underline;
}
/* ===== WORSHIP MINISTRY & MUSIC ===== */
.worship-section {
background: linear-gradient(to bottom, #f9f8f5, #eef2ec);
text-align: center;
}
.worship-content {
max-width: 800px;
margin: 0 auto;
padding: 0 1.5rem;
}
.media-player {
background-color: var(--color-primary);
border-radius: var(--radius-lg);
padding: 2.5rem;
margin: 3rem 0;
position: relative;
overflow: hidden;
color: white;
}
.media-player::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url('https://picsum.photos/1200/400?grayscale');
opacity: 0.2;
background-size: cover;
background-position: center;
z-index: 1;
}
.media-player .content {
position: relative;
z-index: 2;
}
.player-controls {
display: flex;
justify-content: center;
align-items: center;
gap: 2rem;
margin: 2.5rem 0 1.5rem;
}
.play-btn {
width: 70px;
height: 70px;
background-color: var(--color-accent);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--color-secondary);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
transition: all 0.2s ease;
cursor: pointer;
}
.play-btn:hover {
transform: scale(1.1);
background-color: white;
}
.play-btn svg {
width: 30px;
height: 30px;
margin-left: 6px;
}
.audio-tracks {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.audio-track {
background-color: rgba(255, 255, 255, 0.1);
border-radius: var(--radius-md);
padding: 1rem 1.5rem;
display: flex;
align-items: center;
justify-content: space-between;
transition: background-color 0.2s ease;
}
.audio-track:hover {
background-color: rgba(255, 255, 255, 0.2);
}
.audio-track-info {
display: flex;
align-items: center;
gap: 1rem;
color: white;
}
.audio-track-title {
font-weight: 600;
font-size: 1.1rem;
}
.audio-track-date {
font-size: 0.9rem;
opacity: 0.8;
}
/* ===== INTERACTIVE ELEMENT: PRAYER REQUEST FORM ===== */
.prayer-section {
background-color: var(--color-white);
}
.prayer-container {
max-width: 700px;
margin: 0 auto;
background-color: var(--color-bg);
padding: 3rem;
border-radius: var(--radius-lg);
text-align: center;
box-shadow: var(--shadow-md);
border: 1px solid rgba(0,0,0,0.05);
}
.prayer-form {
display: flex;
flex-direction: column;
gap: 1.25rem;
margin-top: 2rem;
}
.form-group {
text-align: left;
}
.form-group label {
display: block;
margin-bottom: 0.5rem;
font-weight: 600;
}
input, textarea {
width: 100%;
padding: 0.85rem 1rem;
border: 1px solid #ccc;
border-radius: var(--radius-md);
font-family: var(--font-body);
font-size: 1rem;
transition: border-color 0.2s ease;
}
input:focus, textarea:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(44, 95, 64, 0.1);
}
textarea {
min-height: 120px;
resize: vertical;
}
.prayer-submit {
background-color: var(--color-primary);
color: white;
padding: 1rem;
border: none;
border-radius: var(--radius-md);
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
transition: background-color 0.2s ease;
}
.prayer-submit:hover {
background-color: var(--color-secondary);
}
/* ===== TESTIMONIALS ===== */
.testimonials-section {
background-color: var(--color-bg);
}
.testimonials-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.testimonial-card {
background-color: white;
padding: 2rem;
border-radius: var(--radius-lg);
box-shadow: var(--shadow-sm);
position: relative;
}
.testimonial-card::before {
content: '“';
font-family: var(--font-heading);
font-size: 5rem;
color: var(--color-accent);
opacity: 0.2;
position: absolute;
top: -2rem;
left: 1.5rem;
line-height: 0.8;
}
.testimonial-text {
font-style: italic;
margin-bottom: 1.75rem;
position: relative;
z-index: 2;
}
.testimonial-author {
display: flex;
align-items: center;
gap: 1rem;
}
.author-avatar {
width: 50px;
height: 50px;
border-radius: 50%;
object-fit: cover;
}
.author-info h4 {
font-size: 1.1rem;
margin: 0;
}
.author-role {
color: var(--color-text-light);
font-size: 0.95rem;
}
/* ===== FAQ SECTION (Accordion) ===== */
.faq-section {
background-color: white;
}
.faq-container {
max-width: 800px;
margin: 0 auto;
}
.faq-item {
border-bottom: 1px solid #eee;
padding: 1.5rem 0;
}
.faq-question {
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
font-weight: 600;
color: var(--color-primary);
transition: color 0.2s ease;
}
.faq-question:hover {
color: var(--color-secondary);
}
.faq-answer {
display: none;
padding-top: 1rem;
color: var(--color-text-light);
}
.faq-item.active .faq-answer {
display: block;
}
.faq-icon {
width: 24px;
height: 24px;
transition: transform 0.3s ease;
}
.faq-item.active .faq-icon {
transform: rotate(45deg);
}
/* ===== LIVING STREAM SECTION ===== */
.live-stream-section {
background-color: #1a1a1a;
color: white;
text-align: center;
padding: 4rem 0;
}
.live-badge {
display: inline-block;
background-color: #e74c3c;
color: white;
padding: 0.25rem 0.75rem;
border-radius: 4px;
font-size: 0.85rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: 1.5rem;
}
.video-player {
width: 100%;
max-width: 900px;
aspect-ratio: 16/9;
background-color: #000;
margin: 0 auto 2.5rem;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
}
.video-placeholder {
width: 100%;
height: 100%;
object-fit: cover;
}
.live-stats {
display: flex;
justify-content: center;
gap: 2.5rem;
flex-wrap: wrap;
}
.stat-item {
text-align: center;
}
.stat-number {
font-size: 1.75rem;
font-weight: 700;
color: var(--color-accent);
}
.stat-label {
font-size: 0.95rem;
opacity: 0.8;
}
/* ===== SIDEBAR SECTION (About & Upcoming) ===== */
.sidebar-section {
background-color: var(--color-bg);
}
.sidebar-grid {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 2.5rem;
}
.sidebar-content h2 {
text-align: left;
font-size: 2rem;
margin-bottom: 1.5rem;
}
.sidebar-link {
display: block;
background-color: white;
padding: 1.25rem;
border-radius: var(--radius-md);
margin-bottom: 1rem;
box-shadow: var(--shadow-sm);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sidebar-link:hover {
transform: translateX(5px);
box-shadow: var(--shadow-md);
}
.sidebar-link h3 {
margin: 0 0 0.5rem;
font-size: 1.15rem;
}
.sidebar-date {
color: var(--color-text-light);
font-size: 0.9rem;
}
/* ===== FOOTER ===== */
footer {
background-color: var(--color-secondary);
color: #f0f0f0;
padding: 4rem 0 1.5rem;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 2rem;
margin-bottom: 3rem;
}
.footer-brand p {
margin-top: 1rem;
opacity: 0.9;
}
.footer-links h3 {
color: white;
margin-bottom: 1rem;
font-size: 1.25rem;
}
.footer-links ul li {
margin-bottom: 0.65rem;
}
.footer-links a {
color: #ddd;
font-size: 0.95rem;
}
.footer-links a:hover {
color: white;
}
.social-links {
display: flex;
gap: 1.25rem;
margin-top: 1.5rem;
}
.social-icon {
width: 28px;
height: 28px;
background-color: rgba(255, 255, 255, 0.1);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: background-color 0.2s ease;
}
.social-icon:hover {
background-color: var(--color-accent);
}
.footer-bottom {
text-align: center;
border-top: 1px solid rgba(255, 255, 255, 0.1);
padding-top: 2rem;
font-size: 0.95rem;
opacity: 0.8;
}
/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 992px) {
.intro-grid, .sidebar-grid {
grid-template-columns: 1fr;
}
.sidebar-section {
order: -1;
}
}
@media (max-width: 768px) {
.hero h1 { font-size: 2.5rem; }
.hero-buttons { flex-direction: column; width: 100%; }
.cta-btn, .hero-btn-secondary { width: 100%; text-align: center; }
nav ul {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
background-color: white;
flex-direction: column;
padding: 1rem 0;
border-bottom: 1px solid #eee;
}
nav ul.active { display: flex; }
nav a { padding: 0.75rem 1rem; }
.nav-toggle { display: block; }
}
/* Icon styles */
.icon {
width: 24px;
height: 24px;
fill: currentColor;
}
</style>
</head>
<body>
<!-- HEADER -->
<header>
<div class="container">
<nav class="navbar">
<a href="#" class="logo">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 7l10 5 10-5-10-5zm0 9l2.5-1.25L12 8.5l-2.5 1.25L12 11zm0 2.5l-5-2.5-5 2.5L12 22l10-8.5-5-2.5-5 2.5z"/>
</svg>
Stillwater
</a>
<button class="nav-toggle" aria-label="Toggle navigation">
☰
</button>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#about">About Us</a></li>
<li><a href="#ministries">Ministries</a></li>
<li><a href="#worship">Music & Worship</a></li>
<li><a href="#events">Events</a></li>
<li><a href="#resources">Resources</a></li>
<li><a href="#contact" class="cta-btn">Contact</a></li>
</ul>
</nav>
</div>
</header>
<!-- HERO SECTION -->
<section id="home" class="hero">
<div class="container">
<div class="hero-content">
<h1>A Welcoming Sacred Space for All</h1>
<p>
At Stillwater Spiritual Center, we believe in the transformative power of faith, the importance of community, and the ongoing journey of spiritual growth. Whether you’re exploring your relationship with the Divine, seeking deeper connection, or simply looking for a peaceful place to rest your soul—you are welcome here.
</p>
<div class="hero-buttons">
<a href="#events" class="cta-btn">Join Us This Sunday</a>
<a href="#about" class="hero-btn-secondary">Our Story & Mission</a>
</div>
</div>
</div>
</section>
<!-- INTRODUCTION & TEACHINGS SECTION -->
<section id="about" class="section-padding intro-section">
<div class="container intro-grid">
<div class="intro-text">
<h2>Rooted in Compassion, Driven by Hope</h2>
<p>
Founded in 2003, Stillwater Spiritual Center began as a small gathering of seekers meeting in a community center. Today, we’re a vibrant, interfaith community of over 1,200 regular participants. Our identity draws deeply from Christian tradition while embracing wisdom from spiritual paths around the world. We see truth as multifaceted and sacred in all its expressions.
</p>
<p>
We believe in spiritual practices that lead to inner peace, justice, and healing—not just for individuals, but for families, neighborhoods, and the world. Our teaching series explore the ancient texts with fresh eyes, asking not just “what does this mean?” but “how does this change how we live?” We’re committed to creating space for honest questioning, doubt, and discovery, knowing that faith is often most alive in the questions themselves.
</p>
<div class="quote-box">
<p class="quote-text">Faith is not about having all the answers. It’s about living with integrity in the presence of mystery—holding our beliefs lightly, loving others deeply, and trusting that grace is always at work.</p>
<div class="quote-attribution">— Rev. Dr. Eleanor Hayes, Senior Pastor</div>
</div>
</div>
<div class="intro-image">
<img src="https://picsum.photos/600/500?grayscale" alt="Stillwater community gathered in prayer">
</div>
</div>
</section>
<!-- SERVICE TIMES & UPCOMING EVENTS SECTION -->
<section id="events" class="section-padding services-section">
<div class="container">
<h2 class="section-title">Service Times & Community Events</h2>
<p style="text-align:center; max-width:700px; margin:0 auto 2.5rem;">
We gather weekly for worship, reflection, and fellowship. Our services blend traditional elements with contemporary expression, and we offer programs for all ages and life stages.
</p>
<div class="services-grid">
<div class="service-card">
<div class="service-icon">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>
</svg>
</div>
<h3>Sunday Worship</h3>
<div class="service-time">9:00 AM & 11:00 AM</div>
<p>
Contemporary and traditional worship services featuring music, message, communion, and prayer. Childcare and Sunday School available at both services.
</p>
</div>
<div class="service-card">
<div class="service-icon">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-1.05 3.93-2.66 5.08z"/>
</svg>
</div>
<h3>Wednesday Fellowship</h3>
<div class="service-time">6:30 PM</div>
<p>
Community dinner at 6:30, followed by small group discussions, prayer, and music. Open to all ages. Vegetarian options always available.
</p>
</div>
<div class="service-card">
<div class="service-icon">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
</svg>
</div>
<h3>Healing Prayer Service</h3>
<div class="service-time">Every 1st & 3rd Sunday</div>
<p>
A contemplative 45-minute gathering focused on prayer for healing and wholeness. Includes laying on of hands, anointing oil, and silence.
</p>
</div>
</div>
<div class="container" style="margin-top: 2.5rem;">
<h3 style="text-align:center; margin-bottom:1.5rem;">Upcoming Events</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem;">
<div style="background:white; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.05);">
<h4 style="margin:0 0 0.5rem;">Summer Bible Study: The Psalms</h4>
<p style="color:#666; font-size:0.95rem;">June 5–July 17 • Tuesdays, 7 PM • Fellowship Hall</p>
</div>
<div style="background:white; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.05);">
<h4 style="margin:0 0 0.5rem;">Community Garden Workday</h4>
<p style="color:#666; font-size:0.95rem;">June 12 • 9 AM–12 PM • Church Garden</p>
</div>
<div style="background:white; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.05);">
<h4 style="margin:0 0 0.5rem;">Interfaith Panel: Hope in Uncertain Times</h4>
<p style="color:#666; font-size:0.95rem;">June 26 • 6:30 PM • Main Hall</p>
</div>
</div>
<div style="text-align:center; margin-top:2rem;">
<a href="#" class="cta-btn" style="background-color:var(--color-primary);">View Full Calendar</a>
</div>
</div>
</div>
</section>
<!-- MINISTRIES & OUTREACH -->
<section id="ministries" class="section-padding ministries-section">
<div class="container">
<h2 class="section-title">Our Ministries & Compassionate Services</h2>
<p style="text-align:center; max-width:700px; margin:0 auto 3rem;">
From feeding the hungry to supporting addiction recovery, our ministries reflect Jesus’ call to love our neighbors. We partner with local organizations and mobilize our congregation for tangible service.
</p>
<div class="ministries-grid">
<div class="ministry-card">
<div class="ministry-image">
<img src="https://picsum.photos/500/350?grayscale&blur=1" alt="Volunteers serving meals">
</div>
<div class="ministry-content">
<h3>Stillwater Table</h3>
<p>Weekly meal ministry serving 120+ community members every Thursday evening. Volunteer teams prepare and serve, share stories, and build relationships with guests.</p>
<a href="#" class="ministry-link">Learn More & Volunteer →</a>
</div>
</div>
<div class="ministry-card">
<div class="ministry-image">
<img src="https://picsum.photos/500/350?grayscale&blur=2" alt="Youth group meeting">
</div>
<div class="ministry-content">
<h3>Youth & Young Adult Ministry</h3>
<p>Nurturing faith formation for grades 6–12 through discipleship, service projects, and retreats. Our dedicated leaders create a safe space for exploring spirituality and life’s big questions.</p>
<a href="#" class="ministry-link">Join Our Youth Ministry →</a>
</div>
</div>
<div class="ministry-card">
<div class="ministry-image">
<img src="https://picsum.photos/500/350?grayscale&blur=3" alt="Support group session">
</div>
<div class="ministry-content">
<h3>Hope & Healing Groups</h3>
<p>Free, confidential support groups for those facing grief, addiction recovery, divorce, or chronic illness. Led by trained lay leaders and licensed counselors.</p>
<a href="#" class="ministry-link">View Current Groups →</a>
</div>
</div>
<div class="ministry-card">
<div class="ministry-image">
<img src="https://picsum.photos/500/350?grayscale&blur=4" alt="Global missions team">
</div>
<div class="ministry-content">
<h3>Mission & Justice</h3>
<p>Partnering with churches in Guatemala and local refugee resettlement efforts. We advocate for justice and provide hands-on opportunities to serve globally and locally.</p>
<a href="#" class="ministry-link">Apply for Mission Trip →</a>
</div>
</div>
</div>
</div>
</section>
<!-- WORSHIP MINISTRY & MUSIC -->
<section id="worship" class="section-padding worship-section">
<div class="container">
<div class="worship-content">
<h2 class="section-title" style="text-align:center;">Our Music Ministry: Songs of Spirit & Soul</h2>
<p style="font-size:1.15rem; max-width:700px; margin:0 auto 2rem;">
Music is central to our life together—a sacred language that transcends words and draws us into deeper connection with the Divine and with each other. Our worship music spans traditions: from ancient chants and hymns to contemporary anthems, gospel, and global expressions.
</p>
<div class="media-player">
<div class="content">
<h3 style="font-size:1.5rem; margin-bottom:0.5rem;">This Week's Sermon: "The Courage to Hope"</h3>
<p style="margin-bottom:1.5rem;">Preacher: Rev. Eleanor Hayes • Date: June 2, 2024</p>
<div class="player-controls">
<button class="play-btn" aria-label="Play sermon">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M8 5v14l11-7z"/>
</svg>
</button>
<div style="flex:1; text-align:center;">
<div style="background:#777; height:4px; border-radius:2px; width:100%; position:relative; margin-bottom:1rem;">
<div style="background:var(--color-accent); width:45%; height:100%; border-radius:2px;"></div>
<div style="position:absolute; right:-8px; top:-3px; width:16px; height:16px; background:var(--color-accent); border-radius:50%;"></div>
</div>
<div style="display:flex; justify-content:space-between; color:#ccc; font-size:0.85rem;">
<span>12:45</span>
<span>38:20</span>
</div>
</div>
</div>
<div class="audio-tracks">
<div class="audio-track">
<div class="audio-track-info">
<svg viewBox="0 0 24 24" width="18" height="18" fill="#ddd">
<path d="M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7z"/>
</svg>
<div>
<div class="audio-track-title">"Great Is Thy Faithfulness"</div>
<div class="audio-track-date">Hymn & Organ • 4:12</div>
</div>
</div>
<button style="background:none; border:none; color:var(--color-accent);">
<svg viewBox="0 0 24 24" width="20" height="20">
<path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/>
</svg>
</button>
</div>
<div class="audio-track">
<div class="audio-track-info">
<svg viewBox="0 0 24 24" width="18" height="18" fill="#ddd">
<path d="M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7z"/>
</svg>
<div>
<div class="audio-track-title">"This Is the Day"</div>
<div class="audio-track-date">Contemporary • 3:58</div>
</div>
</div>
<button style="background:none; border:none; color:var(--color-accent);">
<svg viewBox="0 0 24 24" width="20" height="20">
<path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/>
</svg>
</button>
</div>
<div class="audio-track">
<div class="audio-track-info">
<svg viewBox="0 0 24 24" width="18" height="18" fill="#ddd">
<path d="M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3h-7z"/>
</svg>
<div>
<div class="audio-track-title">"Prayer for the City"</div>
<div class="audio-track-date">Original Composition • 4:32</div>
</div>
</div>
<button style="background:none; border:none; color:var(--color-accent);">
<svg viewBox="0 0 24 24" width="20" height="20">
<path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/>
</svg>
</button>
</div>
</div>
</div>
</div>
<p>
Our worship team includes vocalists, instrumentalists (piano, organ, strings, and percussion), and a choir of 60+ voices who rehearse weekly. We also host monthly “Soulful Sundays” featuring music from traditions beyond Christianity—including Sufi chants, Jewish nigunim, Indigenous songs, and Buddhist mantras—as part of our commitment to interfaith understanding.
</p>
<div style="text-align:center; margin-top:2rem;">
<a href="#" class="cta-btn">Join the Music Ministry</a>
</div>
</div>
</div>
</section>
<!-- LIVE STREAMING & COMMUNITY -->
<section id="live-stream" class="live-stream-section">
<div class="container">
<span class="live-badge">LIVE NOW</span>
<h2 style="font-size:2.5rem; margin-bottom:0.5rem;">Join Us Online</h2>
<p style="opacity:0.9; max-width:600px; margin:0 auto 2rem;">
Unable to join us in person? Stream our 11:00 AM Sunday worship service live on YouTube. We also host weekly prayer vigils and virtual small groups for those who prefer remote connection.
</p>
<div class="video-player">
<iframe class="video-placeholder" src="https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1&mute=1" title="Stillwater Live Stream" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"></iframe>
</div>
<div class="live-stats">
<div class="stat-item">
<div class="stat-number">3,421</div>
<div class="stat-label">Viewers Online</div>
</div>
<div class="stat-item">
<div class="stat-number">26</div>
<div class="stat-label">Live Small Groups</div>
</div>
<div class="stat-item">
<div class="stat-number">8:12</div>
<div class="stat-label">Minutes Until Service</div>
</div>
</div>
<div style="margin-top:2rem; display:flex; gap:1rem; justify-content:center;">
<a href="#" class="cta-btn">Subscribe on YouTube</a>
<a href="#" class="hero-btn-secondary" style="border-color:white; color:white;">Watch Past Services</a>
</div>
</div>
</section>
<!-- PRAYER REQUEST -->
<section class="section-padding prayer-section">
<div class="prayer-container">
<h2 class="section-title" style="text-align:center;">Prayer Requests</h2>
<p>
You are not alone. Our pastoral team and prayer team are available to meet, call, or simply hold your intentions in prayer. Submit a request below or call us directly at (555) 123-4567.
</p>
<form class="prayer-form">
<div class="form-group">
<label for="name">Your Name</label>
<input type="text" id="name" name="name" placeholder="Enter your full name">
</div>
<div class="form-group">
<label for="email">Email (Optional)</label>
<input type="email" id="email" name="email" placeholder="Receive prayer updates">
</div>
<div class="form-group">
<label for="prayer">Prayer Request</label>
<textarea id="prayer" name="prayer" placeholder="Share your needs, joys, or concerns..."></textarea>
</div>
<div style="display:flex; align-items:center; gap:0.5rem; margin-bottom:1rem;">
<input type="checkbox" id="confidential" name="confidential">
<label for="confidential" style="font-size:0.95rem; margin:0;">I request this be kept confidential</label>
</div>
<button type="submit" class="prayer-submit">Submit Prayer Request</button>
</form>
</div>
</section>
<!-- TESTIMONIALS -->
<section class="section-padding testimonials-section">
<div class="container">
<h2 class="section-title">Stories of Transformation</h2>
<div class="testimonials-grid">
<div class="testimonial-card">
<p class="testimonial-text">"Stillwater became my spiritual home when I felt utterly lost after losing my job. The community didn’t just offer comfort—they gave me purpose through the Stillwater Table volunteer program."</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/150?u=test1" alt="Maria" class="author-avatar">
<div class="author-info">
<h4>Maria Chen</h4>
<p class="author-role">Member since 2022</p>
</div>
</div>
</div>
<div class="testimonial-card">
<p class="testimonial-text">"As a skeptic, I never imagined finding meaning in church. But the honest theology, inclusive community, and commitment to justice drew me in. Now I serve on the justice team."</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/150?u=test2" alt="David" class="author-avatar">
<div class="author-info">
<h4>David Osei</h4>
<p class="author-role">Newcomer</p>
</div>
</div>
</div>
<div class="testimonial-card">
<p class="testimonial-text">"The interfaith dialogue series helped me reconcile my Buddhist roots with my Christian upbringing. I now celebrate both traditions with Stillwater’s blessing."</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/150?u=test3" alt="Elena" class="author-avatar">
<div class="author-info">
<h4>Elena Rodriguez</h4>
<p class="author-role">Spiritual Director, 8 years</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- FAQ ACCORDION -->
<section id="faq" class="section-padding faq-section">
<div class="container faq-container">
<h2 class="section-title">Frequently Asked Questions</h2>
<div class="faq-item">
<h3 class="faq-question">
<span>Are visitors expected to participate?</span>
<svg class="faq-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z"/>
</svg>
</h3>
<div class="faq-answer">
<p>Not at all! Visitors are welcome to observe or participate at their comfort level. We recognize that everyone is at a different place in their spiritual journey, and we honor that diversity.</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-question">
<span>What do you believe about science and faith?</span>
<svg class="faq-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z"/>
</svg>
</h3>
<div class="faq-answer">
<p>We see science and faith as complementary ways of exploring truth. We believe God reveals Himself through scripture, nature, reason, and experience—and we welcome scientific discoveries as part of that revelation.</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-question">
<span>Is communion open to everyone?</span>
<svg class="faq-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z"/>
</svg>
</h3>
<div class="faq-answer">
<p>Yes. All who seek a closer relationship with God are welcome at Christ’s table, regardless of denomination, belief, or background. We use grape juice and gluten-free bread for inclusivity.</p>
</div>
</div>
<div class="faq-item">
<h3 class="faq-question">
<span>How can I get involved?</span>
<svg class="faq-icon" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z"/>
</svg>
</h3>
<div class="faq-answer">
<p>We invite you to attend a “New to Stillwater” orientation, join a small group, or volunteer with one of our ministries. Our Welcome Center staff is happy to help you find your first step!</p>
</div>
</div>
</div>
</section>
<!-- SIDEBAR & UPDATES -->
<section class="section-padding sidebar-section">
<div class="container sidebar-grid">
<div class="main-content">
<div class="sidebar-content">
<h2>Ministry Updates</h2>
<div style="margin-bottom:1.5rem;">
<div class="sidebar-link">
<h3>Volunteer Orientation</h3>
<p class="sidebar-date">Monday, June 10 • 6:30 PM</p>
<p>Join us to learn about volunteer opportunities in our food pantry, youth programs, and outreach teams.</p>
</div>
<div class="sidebar-link">
<h3>Stillwater Garden Workshop</h3>
<p class="sidebar-date">Saturday, June 15 • 10 AM</p>
<p>Learn about composting, companion planting, and seasonal harvesting with our horticulturalist team.</p>
</div>
</div>
<h3 style="margin-top:2rem; margin-bottom:1rem;">Recent Sermons</h3>
<div style="background:white; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.05);">
<h4>"Grace in the Unlikely Places"</h4>
<p style="color:#666; font-size:0.95rem; margin-bottom:0.75rem;">June 2, 2024 • 38:20 min</p>
<button style="background:#f0f0f0; padding:0.5rem 1rem; border-radius:4px; border:none; cursor:pointer;">
▶ Play
</button>
</div>
<div style="background:white; padding:1.5rem; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,0.05); margin-top:1rem;">
<h4>""Finding Peace in a Chaotic World"</h4>
<p style="color:#666; font-size:0.95rem; margin-bottom:0.75rem;">May 26, 2024 • 41:15 min</p>
<button style="background:#f0f0f0; padding:0.5rem 1rem; border-radius:4px; border:none; cursor:pointer;">
▶ Play
</button>
</div>
</div>
</div>
<div class="sidebar-right">
<div style="background:#2C5F40; color:white; padding:1.5rem; border-radius:8px;">
<h3 style="color:var(--color-accent);">Pulse of Stillwater</h3>
<p style="font-size:0.95rem; line-height:1.6;">Monthly newsletter with ministry highlights, prayer priorities, and upcoming events.</p>
<form style="display:flex; flex-direction:column; gap:0.75rem; margin-top:1rem;">
<input type="email" placeholder="Your email" style="background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); padding:0.75rem; border-radius:4px; color:white;">
<button type="button" style="background:var(--color-accent); color:#2C5F40; padding:0.75rem; border:none; border-radius:4px; font-weight:600; cursor:pointer;">Subscribe</button>
</form>
</div>
<div style="margin-top:2rem;">
<h3 style="margin-bottom:1rem;">Pastoral Care Team</h3>
<p>Available for confidential prayer, spiritual direction, and crisis support:</p>
<ul style="list-style:none; margin-top:1rem;">
<li style="margin-bottom:0.5rem;"> Pastor Dr. Eleanor Hayes: <span style="color:#2C5F40;">e.hayes@stillwater.org</span></li>
<li style="margin-bottom:0.5rem;"> Rev. Michael Chen: <span style="color:#2C5F40;">m.chen@stillwater.org</span></li>
<li style="margin-bottom:0.5rem;"> Prayer Team Hotline: <span style="color:#2C5F40; font-weight:600;">(555) 123-7890</span></li>
</ul>
</div>
</div>
</div>
</section>
<!-- FOOTER -->
<footer id="contact">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<h3 style="font-size:1.75rem; margin-bottom:1rem;">Stillwater Spiritual Center</h3>
<p>A welcoming, inclusive faith community rooted in love and committed to justice.</p>
<div class="social-links">
<a href="#" class="social-icon" aria-label="Facebook">
<svg viewBox="0 0 24 24" fill="white" width="16" height="16">
<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/>
</svg>
</a>
<a href="#" class="social-icon" aria-label="Instagram">
<svg viewBox="0 0 24 24" fill="white" width="16" height="16">
<path d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm6.5-.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3z"/>
</svg>
</a>
<a href="#" class="social-icon" aria-label="Twitter">
<svg viewBox="0 0 24 24" fill="white" width="16" height="16">
<path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"/>
</svg>
</a>
<a href="#" class="social-icon" aria-label="YouTube">
<svg viewBox="0 0 24 24" fill="white" width="16" height="16">
<path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.376.505A3.017 3.017 0 0 0 .502 6.186C0 8.945 0 12 0 12s0 3.055.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.376-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.055 24 12 24 12s0-3.055-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>
</svg>
</a>
<a href="#" class="social-icon" aria-label="LinkedIn">
<svg viewBox="0 0 24 24" fill="white" width="16" height="16">
<path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-8.75 13.5h-2.5V11.25h-3.75v2.5H5.5v-5.5h2.5v1.5h1.25V8.25h3.75v3.75h2.5v2.5h-2.5v1.5h-1.25v3.5h-1.25V13.25h-1.25v2.5h2.5v-1.25h1.25v3.5h1.25V13.25zM7.25 6.5a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5z"/>
</svg>
</a>
</div>
</div>
<div class="footer-links">
<h3>Connect</h3>
<ul>
<li><a href="#">New Here?</a></li>
<li><a href="#">Visit Us</a></li>
<li><a href="#">Volunteer</a></li>
<li><a href="#">Give Online</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</div>
<div class="footer-links">
<h3>Resources</h3>
<ul>
<li><a href="#">Sermon Archive</a></li>
<li><a href="#">Devotionals</a></li>
<li><a href="#">Small Group Directory</a></li>
<li><a href="#">Children's Ministry</a></li>
<li><a href="#">Prayer Requests</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>© 2024 Stillwater Spiritual Center. All rights reserved.</p>
<div style="margin-top:0.75rem;">
<a href="#">Privacy Policy</a> • <a href="#">Terms of Use</a> • <a href="#">Accessibility</a>
</div>
<div style="margin-top:0.5rem; font-size:0.85rem; opacity:0.7;">
123 Grace Avenue, Faith City, FC 90210 • (555) 123-4567 • info@stillwater.org
</div>
</div>
</div>
</footer>
<!-- MODERN WEB INTERACTIVITY SCRIPTS -->
<script>
// Mobile navigation toggle
const navToggle = document.querySelector('.nav-toggle');
const navMenu = document.querySelector('nav ul');
navToggle.addEventListener('click', () => {
navMenu.classList.toggle('active');
});
// FAQ Accordion
document.querySelectorAll('.faq-question').forEach(question => {
question.addEventListener('click', () => {
const parent = question.parentElement;
parent.classList.toggle('active');
});
});
// Play button interaction
const playBtn = document.querySelector('.play-btn');
playBtn.addEventListener('click', () => {
// In a real implementation, this would toggle playback
const svgPath = playBtn.querySelector('path');
if (playBtn.getAttribute('aria-label') === 'Play sermon') {
playBtn.setAttribute('aria-label', 'Pause sermon');
svgPath.setAttribute('d', 'M6 19h4V5H6v14zm8-14v14h4V5h-4z');
} else {
playBtn.setAttribute('aria-label', 'Play sermon');
svgPath.setAttribute('d', 'M8 5v14l11-7z');
}
});
</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:05.284Z",
"url": "https://benchmark.aimac.invalid/72f2dd623e3e1072dd61becf984ad59e349873d7a1f246c7aa8951da700d2fae.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": "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": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": []
},
{
"id": "svg-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "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=\"play-btn\" aria-label=\"Play sermon\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 5v14l11-7z\"></path>\n </svg>\n </button>",
"target": [
".play-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=\"play-btn\" aria-label=\"Play sermon\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 5v14l11-7z\"></path>\n </svg>\n </button>",
"target": [
".play-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=\"play-btn\" aria-label=\"Play sermon\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 5v14l11-7z\"></path>\n </svg>\n </button>",
"target": [
".play-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=\"play-btn\" aria-label=\"Play sermon\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 5v14l11-7z\"></path>\n </svg>\n </button>",
"target": [
".play-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=\"play-btn\" aria-label=\"Play sermon\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 5v14l11-7z\"></path>\n </svg>\n </button>",
"target": [
".play-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=\"text-align:center; max-width:700px; margin:0 auto 2.5rem;\">\n We gather weekly for worship, reflection, and fellowship. Our services blend traditional elements with contemporary expression, and we offer programs for all ages and life stages.\n </p>",
"target": [
"#events > .container > p"
]
}
]
},
{
"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": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute exists and is not empty"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"play-btn\" aria-label=\"Play sermon\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 5v14l11-7z\"></path>\n </svg>\n </button>",
"target": [
".play-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>A Welcoming Sacred Space for All</h1>",
"target": [
"h1"
]
},
{
"html": "<h2>Rooted in Compassion, Driven by Hope</h2>",
"target": [
".intro-text > h2"
]
},
{
"html": "<h2 class=\"section-title\">Service Times & Community Events</h2>",
"target": [
"#events > .container > .section-title"
]
},
{
"html": "<h3>Sunday Worship</h3>",
"target": [
".service-card:nth-child(1) > h3"
]
},
{
"html": "<h3>Wednesday Fellowship</h3>",
"target": [
".service-card:nth-child(2) > h3"
]
},
{
"html": "<h3>Healing Prayer Service</h3>",
"target": [
".service-card:nth-child(3) > h3"
]
},
{
"html": "<h3 style=\"text-align:center; margin-bottom:1.5rem;\">Upcoming Events</h3>",
"target": [
".container > h3"
]
},
{
"html": "<h4 style=\"margin:0 0 0.5rem;\">Summer Bible Study: The Psalms</h4>",
"target": [
"div:nth-child(1) > h4"
]
},
{
"html": "<h4 style=\"margin:0 0 0.5rem;\">Community Garden Workday</h4>",
"target": [
".container > div:nth-child(2) > div:nth-child(2) > h4"
]
},
{
"html": "<h4 style=\"margin:0 0 0.5rem;\">Interfaith Panel: Hope in Uncertain Times</h4>",
"target": [
"div:nth-child(3) > h4"
]
},
{
"html": "<h2 class=\"section-title\">Our Ministries & Compassionate Services</h2>",
"target": [
"#ministries > .container > .section-title"
]
},
{
"html": "<h3>Stillwater Table</h3>",
"target": [
".ministry-card:nth-child(1) > .ministry-content > h3"
]
},
{
"html": "<h3>Youth & Young Adult Ministry</h3>",
"target": [
".ministry-card:nth-child(2) > .ministry-content > h3"
]
},
{
"html": "<h3>Hope & Healing Groups</h3>",
"target": [
".ministry-card:nth-child(3) > .ministry-content > h3"
]
},
{
"html": "<h3>Mission & Justice</h3>",
"target": [
".ministry-card:nth-child(4) > .ministry-content > h3"
]
},
{
"html": "<h2 class=\"section-title\" style=\"text-align:center;\">Our Music Ministry: Songs of Spirit & Soul</h2>",
"target": [
".worship-content > .section-title"
]
},
{
"html": "<h3 style=\"font-size:1.5rem; margin-bottom:0.5rem;\">This Week's Sermon: \"The Courage to Hope\"</h3>",
"target": [
".content > h3"
]
},
{
"html": "<h2 style=\"font-size:2.5rem; margin-bottom:0.5rem;\">Join Us Online</h2>",
"target": [
"#live-stream > .container > h2"
]
},
{
"html": "<h2 class=\"section-title\" style=\"text-align:center;\">Prayer Requests</h2>",
"target": [
".prayer-container > .section-title"
]
},
{
"html": "<h2 class=\"section-title\">Stories of Transformation</h2>",
"target": [
".testimonials-section > .container > .section-title"
]
},
{
"html": "<h4>Maria Chen</h4>",
"target": [
".testimonial-card:nth-child(1) > .testimonial-author > .author-info > h4"
]
},
{
"html": "<h4>David Osei</h4>",
"target": [
".testimonial-card:nth-child(2) > .testimonial-author > .author-info > h4"
]
},
{
"html": "<h4>Elena Rodriguez</h4>",
"target": [
".testimonial-card:nth-child(3) > .testimonial-author > .author-info > h4"
]
},
{
"html": "<h2 class=\"section-title\">Frequently Asked Questions</h2>",
"target": [
".faq-container > .section-title"
]
},
{
"html": "<h3 class=\"faq-question\">\n <span>Are visitors expected to participate?</span>\n <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z\"></path>\n </svg>\n </h3>",
"target": [
".faq-item:nth-child(2) > .faq-question"
]
},
{
"html": "<h3 class=\"faq-question\">\n <span>What do you believe about science and faith?</span>\n <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z\"></path>\n </svg>\n </h3>",
"target": [
".faq-item:nth-child(3) > .faq-question"
]
},
{
"html": "<h3 class=\"faq-question\">\n <span>Is communion open to everyone?</span>\n <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z\"></path>\n </svg>\n </h3>",
"target": [
".faq-item:nth-child(4) > .faq-question"
]
},
{
"html": "<h3 class=\"faq-question\">\n <span>How can I get involved?</span>\n <svg class=\"faq-icon\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M19 13H13v6h-2v-6H7v-2h6V7h2v6h6v2z\"></path>\n </svg>\n </h3>",
"target": [
".faq-item:nth-child(5) > .faq-question"
]
},
{
"html": "<h2>Ministry Updates</h2>",
"target": [
".sidebar-content > h2"
]
},
{
"html": "<h3>Volunteer Orientation</h3>",
"target": [
".sidebar-link:nth-child(1) > h3"
]
},
{
"html": "<h3>Stillwater Garden Workshop</h3>",
"target": [
".sidebar-link:nth-child(2) > h3"
]
},
{
"html": "<h3 style=\"margin-top:2rem; margin-bottom:1rem;\">Recent Sermons</h3>",
"target": [
".sidebar-content > h3"
]
},
{
"html": "<h4>\"Grace in the Unlikely Places\"</h4>",
"target": [
"div:nth-child(4) > h4"
]
},
{
"html": "<h4>\"\"Finding Peace in a Chaotic World\"</h4>",
"target": [
"div:nth-child(5) > h4"
]
},
{
"html": "<h3 style=\"color:var(--color-accent);\">Pulse of Stillwater</h3>",
"target": [
".sidebar-right > div:nth-child(1) > h3"
]
},
{
"html": "<h3 style=\"margin-bottom:1rem;\">Pastoral Care Team</h3>",
"target": [
".sidebar-right > div:nth-child(2) > h3"
]
},
{
"html": "<h3 style=\"font-size:1.75rem; margin-bottom:1rem;\">Stillwater Spiritual Center</h3>",
"target": [
".footer-brand > h3"
]
},
{
"html": "<h3>Connect</h3>",
"target": [
".footer-links:nth-child(2) > h3"
]
},
{
"html": "<h3>Resources</h3>",
"target": [
".footer-links:nth-child(3) > h3"
]
}
],
"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": "#2c5f40",
"bgColor": "#ffffff",
"contrastRatio": 7.45,
"fontSize": "21.0pt (28px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 7.45"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"logo\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2L2 7l10 5 10-5-10-5zm0 9l2.5-1.25L12 8.5l-2.5 1.25L12 11zm0 2.5l-5-2.5-5 2.5L12 22l10-8.5-5-2.5-5 2.5z\"></path>\n </svg>\n Stillwater\n </a>",
"target": [
".logo"
]
}
]
},
{
"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": "name",
"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=\"text\" id=\"name\" name=\"name\" placeholder=\"Enter your full name\">",
"target": [
"#name"
]
}
]
},
{
"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=\"name\">Your Name</label>",
"target": [
"label[for=\"name\"]"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input type=\"text\" id=\"name\" name=\"name\" placeholder=\"Enter your full name\">",
"target": [
"#name"
]
}
]
},
{
"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": [
{
"any": [],
"all": [],
"none": [
{
"id": "unique-frame-title",
"data": "stillwater live stream",
"relatedNodes": [],
"impact": "serious",
"message": "Element's title attribute is unique"
}
],
"impact": null,
"html": "<iframe class=\"video-placeholder\" src=\"https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1&mute=1\" title=\"Stillwater Live Stream\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"></iframe>",
"target": [
"iframe"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "non-empty-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has a title attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<iframe class=\"video-placeholder\" src=\"https://www.youtube.com/embed/dQw4w9WgXcQ?autoplay=1&mute=1\" title=\"Stillwater Live Stream\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"></iframe>",
"target": [
"iframe"
]
}
]
},
{
"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://picsum.photos/600/500?grayscale\" alt=\"Stillwater community gathered in prayer\">",
"target": [
".intro-image > img"
]
}
]
},
{
"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": "Your Name"
},
"relatedNodes": [
{
"html": "<label for=\"name\">Your Name</label>",
"target": [
"label[for=\"name\"]"
]
}
],
"impact": "critical",
"message": "Element has an explicit <label>"
},
{
"id": "non-empty-placeholder",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a placeholder attribute"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input type=\"text\" id=\"name\" name=\"name\" placeholder=\"Enter your full name\">",
"target": [
"#name"
]
}
]
},
{
"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=\"#\" class=\"logo\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2L2 7l10 5 10-5-10-5zm0 9l2.5-1.25L12 8.5l-2.5 1.25L12 11zm0 2.5l-5-2.5-5 2.5L12 22l10-8.5-5-2.5-5 2.5z\"></path>\n </svg>\n Stillwater\n </a>",
"target": [
".logo"
]
}
]
},
{
"id": "list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "only-listitems",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List element only has direct children that are allowed inside <li> elements"
}
],
"impact": null,
"html": "<ul>",
"target": [
"nav > ul"
]
}
]
},
{
"id": "listitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <li> elements are used semantically",
"help": "<li> elements must be contained in a <ul> or <ol>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "listitem",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List item has a <ul>, <ol> or role=\"list\" parent element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<li><a href=\"#home\">Home</a></li>",
"target": [
"nav > ul > li:nth-child(1)"
]
}
]
},
{
"id": "meta-viewport",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag2aa",
"wcag144",
"EN-301-549",
"EN-9.1.4.4",
"ACT"
],
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "meta-viewport",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "<meta> tag does not disable zooming on mobile devices"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"target": [
"meta[name=\"viewport\"]"
]
}
]
},
{
"id": "nested-interactive",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "no-focusable-content",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have focusable descendants"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<img src=\"https://picsum.photos/600/500?grayscale\" alt=\"Stillwater community gathered in prayer\">",
"target": [
".intro-image > img"
]
}
]
},
{
"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": 193,
"height": 48.8
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (193px by 48.8px, 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=\"logo\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2L2 7l10 5 10-5-10-5zm0 9l2.5-1.25L12 8.5l-2.5 1.25L12 11zm0 2.5l-5-2.5-5 2.5L12 22l10-8.5-5-2.5-5 2.5z\"></path>\n </svg>\n Stillwater\n </a>",
"target": [
".logo"
]
}
]
}
],
"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": "39.0pt (52px)",
"fontWeight": "bold",
"messageKey": "bgGradient",
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section id=\"home\" class=\"hero\">",
"target": [
"#home"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a background gradient"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h1>A Welcoming Sacred Space for All</h1>",
"target": [
"h1"
],
"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 style=\"background:none; border:none; color:var(--color-accent);\">\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n <path d=\"M6 19h4V5H6v14zm8-14v14h4V5h-4z\"></path>\n </svg>\n </button>",
"target": [
".audio-track:nth-child(1) > button"
],
"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\""
},
{
"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 style=\"background:none; border:none; color:var(--color-accent);\">\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n <path d=\"M6 19h4V5H6v14zm8-14v14h4V5h-4z\"></path>\n </svg>\n </button>",
"target": [
".audio-track:nth-child(2) > button"
],
"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\""
},
{
"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 style=\"background:none; border:none; color:var(--color-accent);\">\n <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\">\n <path d=\"M6 19h4V5H6v14zm8-14v14h4V5h-4z\"></path>\n </svg>\n </button>",
"target": [
".audio-track:nth-child(3) > button"
],
"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": "#ffffff",
"bgColor": "#e74c3c",
"contrastRatio": 3.82,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"live-badge\">LIVE NOW</span>",
"target": [
".live-badge"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.82 (foreground color: #ffffff, background color: #e74c3c, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"live-badge\">LIVE NOW</span>",
"target": [
".live-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.82 (foreground color: #ffffff, background color: #e74c3c, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#2c5f40",
"bgColor": "#1a1a1a",
"contrastRatio": 2.33,
"fontSize": "30.0pt (40px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section id=\"live-stream\" class=\"live-stream-section\">",
"target": [
"#live-stream"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.33 (foreground color: #2c5f40, background color: #1a1a1a, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h2 style=\"font-size:2.5rem; margin-bottom:0.5rem;\">Join Us Online</h2>",
"target": [
"#live-stream > .container > h2"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.33 (foreground color: #2c5f40, background color: #1a1a1a, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#2c5f40",
"bgColor": "#d6c998",
"contrastRatio": 4.49,
"fontSize": "10.0pt (13.3333px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<button type=\"button\" style=\"background:var(--color-accent); color:#2C5F40; padding:0.75rem; border:none; border-radius:4px; font-weight:600; cursor:pointer;\">Subscribe</button>",
"target": [
"button[type=\"button\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.49 (foreground color: #2c5f40, background color: #d6c998, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<button type=\"button\" style=\"background:var(--color-accent); color:#2C5F40; padding:0.75rem; border:none; border-radius:4px; font-weight:600; cursor:pointer;\">Subscribe</button>",
"target": [
"button[type=\"button\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.49 (foreground color: #2c5f40, background color: #d6c998, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#2c5f40",
"bgColor": "#4d372a",
"contrastRatio": 1.48,
"fontSize": "21.0pt (28px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer id=\"contact\">",
"target": [
"#contact"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.48 (foreground color: #2c5f40, background color: #4d372a, font size: 21.0pt (28px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h3 style=\"font-size:1.75rem; margin-bottom:1rem;\">Stillwater Spiritual Center</h3>",
"target": [
".footer-brand > h3"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.48 (foreground color: #2c5f40, background color: #4d372a, font size: 21.0pt (28px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#a89f99",
"bgColor": "#4d372a",
"contrastRatio": 4.26,
"fontSize": "10.2pt (13.6px)",
"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 4.26 (foreground color: #a89f99, background color: #4d372a, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div style=\"margin-top:0.5rem; font-size:0.85rem; opacity:0.7;\">\n 123 Grace Avenue, Faith City, FC 90210 \u2022 (555) 123-4567 \u2022 info@stillwater.org\n </div>",
"target": [
".footer-bottom > div:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.26 (foreground color: #a89f99, background color: #4d372a, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 9492
},
{
"y": 576,
"height": 9492
},
{
"y": 1152,
"height": 9492
},
{
"y": 1728,
"height": 9492
},
{
"y": 2304,
"height": 9492
},
{
"y": 2880,
"height": 9492
},
{
"y": 3456,
"height": 9492
},
{
"y": 4032,
"height": 9492
},
{
"y": 4608,
"height": 9492
},
{
"y": 5184,
"height": 9492
},
{
"y": 5760,
"height": 9492
},
{
"y": 6336,
"height": 9492
},
{
"y": 6912,
"height": 9492
},
{
"y": 7488,
"height": 9492
},
{
"y": 8064,
"height": 9492
},
{
"y": 8640,
"height": 9492
},
{
"y": 8772,
"height": 9492
}
],
"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 "Religion and Spirituality" 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: "Religion and Spirituality"
- Description: Religious organizations, spiritual resources, faith communities, and worship services.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Religion and Spirituality" 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: "Events", "Resources", "Ministries".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Religion and Spirituality" category. Consider themes similar to: "Spiritual Teachings", "Service Times", "Music Ministry".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "fellowship", "communal worship", "prayer".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Attend Event", "Volunteer", "Contact Pastor".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Religion and Spirituality" sector. Ideas similar but not limited to: "service live stream".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "recent sermons", "ministry updates", "community highlights".
- **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.