OpenAI GPT 5.4 Mini – Real Estate
via OpenAI · Generated
- AIMAC Debt 0.00
- Cost $0.03
- Total Violations 0
- HTML Size 27 KB
- Em Dashes 0
Screenshot
View Live Page
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Alder & Key Realty | Find the Right Home, Confidently</title>
<meta name="description" content="Alder & Key Realty helps buyers, sellers, and renters navigate property search, pricing, mortgages, and neighborhood insights with confidence." />
<style>
:root{
--bg: #0b1220;
--panel: #101a2d;
--panel-2:#0f1728;
--card:#13203a;
--line: rgba(255,255,255,.12);
--text:#e9eef9;
--muted:#b7c2d9;
--brand:#7dd3fc;
--brand-2:#a78bfa;
--accent:#34d399;
--warn:#fbbf24;
--danger:#fb7185;
--white:#fff;
--shadow: 0 18px 60px rgba(0,0,0,.28);
--radius: 22px;
--radius-sm: 16px;
--max: 1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
margin:0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
color:var(--text);
background:
radial-gradient(1200px 600px at 10% 0%, rgba(125,211,252,.15), transparent 50%),
radial-gradient(900px 500px at 90% 10%, rgba(167,139,250,.14), transparent 45%),
linear-gradient(180deg, #09101d 0%, #0b1220 100%);
line-height:1.55;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
.wrap{width:min(var(--max), calc(100% - 40px)); margin:0 auto}
.topbar{
border-bottom:1px solid var(--line);
background: rgba(8, 13, 24, .72);
backdrop-filter: blur(12px);
position:sticky; top:0; z-index:50;
}
header{
display:flex; align-items:center; justify-content:space-between; gap:18px;
padding:16px 0;
}
.brand{display:flex; align-items:center; gap:14px; min-width:0}
.brand img{width:52px; height:52px; border-radius:14px; object-fit:cover; box-shadow:var(--shadow)}
.brand h1{margin:0; font-size:1.1rem; line-height:1.1}
.brand p{margin:2px 0 0; color:var(--muted); font-size:.88rem}
nav ul{
display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; margin:0;
align-items:center;
}
nav a{
display:inline-flex; align-items:center; gap:8px;
padding:10px 14px; border-radius:999px;
color:var(--text); border:1px solid transparent;
}
nav a:hover{background:rgba(255,255,255,.05); border-color:var(--line)}
.nav-cta{
background:linear-gradient(135deg, var(--brand), var(--brand-2));
color:#08111e !important; font-weight:700;
box-shadow:0 12px 30px rgba(125,211,252,.18);
}
.hero{
padding:34px 0 18px;
}
.hero-grid{
display:grid; grid-template-columns: 1.2fr .8fr; gap:24px; align-items:stretch;
}
.hero-main, .hero-side, .section, .card{
background:linear-gradient(180deg, rgba(19,32,58,.9), rgba(15,23,40,.92));
border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
}
.hero-main{padding:34px}
.eyebrow{
display:inline-flex; align-items:center; gap:10px;
padding:8px 12px; border-radius:999px;
background:rgba(125,211,252,.12); border:1px solid rgba(125,211,252,.24);
color:#d9f4ff; font-size:.9rem; font-weight:600;
}
.hero h2{font-size:clamp(2.2rem, 4vw, 4.4rem); line-height:1.02; margin:18px 0 14px}
.hero p.lead{font-size:1.08rem; color:var(--muted); max-width:62ch; margin:0 0 22px}
.cta-row{display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 10px}
.btn{
display:inline-flex; align-items:center; justify-content:center; gap:10px;
padding:13px 18px; border-radius:14px; border:1px solid var(--line);
font-weight:700;
}
.btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:#09101d; border-color:transparent}
.btn.secondary{background:rgba(255,255,255,.04)}
.stats{
display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:26px
}
.stat{padding:16px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--line)}
.stat strong{display:block; font-size:1.3rem}
.stat span{color:var(--muted); font-size:.92rem}
.hero-side{padding:18px}
.hero-side .feature-photo{border-radius:18px; overflow:hidden; margin-bottom:16px}
.mini-list{display:grid; gap:12px}
.mini-item{
padding:14px; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid var(--line)
}
.mini-item h3{margin:0 0 6px; font-size:1rem}
.mini-item p{margin:0; color:var(--muted); font-size:.93rem}
main{padding:18px 0 40px}
.content-grid{
display:grid; grid-template-columns: 1fr 320px; gap:24px; align-items:start;
}
.section{padding:26px; margin-bottom:22px}
.section h3{font-size:1.65rem; margin:0 0 10px}
.section .sub{color:var(--muted); margin:0 0 18px}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start}
.feature-grid{
display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px
}
.feature{
padding:18px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--line)
}
.feature h4{margin:0 0 8px}
.feature p{margin:0; color:var(--muted); font-size:.95rem}
.image{
border-radius:18px; overflow:hidden; border:1px solid var(--line); margin:14px 0;
}
.image img{width:100%; height:100%; object-fit:cover}
.pill-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px}
.pill{padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.05); border:1px solid var(--line); color:var(--muted); font-size:.9rem}
.sidebar{position:sticky; top:92px}
.side-card{padding:20px; margin-bottom:18px}
.side-card h4{margin:0 0 10px; font-size:1.05rem}
.agent{
display:flex; gap:12px; align-items:center; padding:12px 0; border-top:1px solid var(--line)
}
.agent:first-of-type{border-top:none; padding-top:0}
.agent img{width:54px; height:54px; border-radius:50%; object-fit:cover}
.agent strong{display:block}
.agent span{color:var(--muted); font-size:.9rem}
.form{
display:grid; gap:12px
}
.form label{font-size:.92rem; color:var(--muted)}
.form input, .form select, .form textarea{
width:100%; padding:12px 14px; border-radius:14px;
background:#0b1324; color:var(--text); border:1px solid var(--line); outline:none;
}
.form textarea{min-height:92px; resize:vertical}
.form button{cursor:pointer}
.faq details{
background:rgba(255,255,255,.04); border:1px solid var(--line); border-radius:16px;
padding:14px 16px; margin-bottom:12px;
}
.faq summary{cursor:pointer; font-weight:700}
.faq p{color:var(--muted); margin:10px 0 0}
.testimonials{
display:grid; grid-template-columns:repeat(3,1fr); gap:14px
}
.quote{padding:18px; border-radius:18px; background:rgba(255,255,255,.04); border:1px solid var(--line)}
.quote p{margin:0 0 14px; color:#dce6fb}
.quote .who{display:flex; justify-content:space-between; gap:10px; align-items:center}
.quote .who span{color:var(--muted); font-size:.92rem}
footer{
border-top:1px solid var(--line);
padding:26px 0 34px;
background:rgba(6,10,18,.6)
}
.footer-grid{
display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:flex-start
}
.footer-links{display:flex; flex-wrap:wrap; gap:14px; color:var(--muted)}
.small{color:var(--muted); font-size:.92rem}
@media (max-width: 980px){
.hero-grid, .content-grid, .two-col, .feature-grid, .testimonials{grid-template-columns:1fr}
.sidebar{position:static}
header{flex-direction:column; align-items:flex-start}
nav ul{gap:8px}
.stats{grid-template-columns:1fr}
}
</style>
</head>
<body>
<div class="topbar">
<div class="wrap">
<header>
<div class="brand">
<img src="https://placehold.co/120x120/7dd3fc/09101d?text=AK&font=montserrat" alt="Alder & Key Realty logo placeholder" />
<div>
<h1>Alder & Key Realty</h1>
<p>Find the right home, confidently.</p>
</div>
</div>
<nav aria-label="Primary">
<ul>
<li><a href="#buy">Buy</a></li>
<li><a href="#sell">Sell</a></li>
<li><a href="#search">Property Search</a></li>
<li><a href="#neighborhoods">Neighborhoods</a></li>
<li><a href="#mortgage">Mortgage Options</a></li>
<li><a href="#buyers">First-Time Buyers</a></li>
<li><a class="nav-cta" href="#scheduler">Open House Scheduler</a></li>
</ul>
</nav>
</header>
</div>
</div>
<section class="hero">
<div class="wrap hero-grid">
<div class="hero-main">
<span class="eyebrow">Full-service real estate guidance for buyers, sellers, and renters</span>
<h2>Property search, pricing strategy, and local expertise under one roof.</h2>
<p class="lead">
Alder & Key Realty combines curated listings, neighborhood intelligence, and practical mortgage guidance to help clients move with clarity. Whether you are comparing listing price to market value, planning a contingency, or preparing title insurance for closing, we make the process easier to understand and easier to execute.
</p>
<div class="cta-row">
<a class="btn primary" href="#search">Start Search</a>
<a class="btn secondary" href="#schedule">Calculate Payment</a>
<a class="btn secondary" href="#sell">Find Agent</a>
</div>
<div class="stats" aria-label="Company highlights">
<div class="stat"><strong>1,200+</strong><span>Homes toured and analyzed last year</span></div>
<div class="stat"><strong>98%</strong><span>Client satisfaction rating across all services</span></div>
<div class="stat"><strong>24 hrs</strong><span>Average response time for listing inquiries</span></div>
</div>
</div>
<aside class="hero-side">
<div class="feature-photo">
<img src="https://picsum.photos/900/620?blur=1" alt="Modern luxury home placeholder image" />
</div>
<div class="mini-list">
<div class="mini-item">
<h3>Curated inventory</h3>
<p>Smart search filters for school zones, commute time, lot size, and renovation potential.</p>
</div>
<div class="mini-item">
<h3>Negotiation-ready advice</h3>
<p>We help clients understand earnest money, appraisal gaps, inspection findings, and contingencies.</p>
</div>
<div class="mini-item">
<h3>End-to-end support</h3>
<p>From pre-approval to closing day, our process keeps your move organized and predictable.</p>
</div>
</div>
</aside>
</div>
</section>
<main class="wrap">
<div class="content-grid">
<div>
<section class="section" id="search">
<h3>Property Search built for serious buyers</h3>
<p class="sub">Search with the context that matters: pricing, location, lifestyle, and future resale potential.</p>
<div class="two-col">
<div>
<p>
Our property search experience is designed for buyers who want more than a wall of listings. Instead of only sorting by bedrooms and square footage, we help you compare details that influence long-term value: neighborhood turnover, commute patterns, recent comparable sales, and the condition signals that matter during a walkthrough.
</p>
<p>
For first-time buyers, this means less guesswork when deciding whether a home is priced appropriately. For seasoned investors, it means a clearer read on rental demand, maintenance exposure, and exit strategy. When a property enters your shortlist, you can quickly move from browsing to action with a showing request, a saved alert, or a request for a comp analysis.
</p>
<div class="cta-row">
<a class="btn primary" href="#schedule">Start Search</a>
<a class="btn secondary" href="#openhouses">View Open Houses</a>
</div>
</div>
<div class="image">
<img src="https://picsum.photos/720/520?grayscale&blur=1" alt="Interior listing search placeholder image" />
</div>
</div>
<div class="feature-grid">
<div class="feature">
<h4>Advanced filters</h4>
<p>Refine by listing price, HOA dues, property type, school district, and walkability score.</p>
</div>
<div class="feature">
<h4>Market insights</h4>
<p>See recent days on market, price reductions, and comparable sales before scheduling a tour.</p>
</div>
<div class="feature">
<h4>Saved listings</h4>
<p>Bookmark homes and receive alerts when status changes, including back-on-market opportunities.</p>
</div>
</div>
</section>
<section class="section" id="buyers">
<h3>First-Time Buyers: a clearer path to ownership</h3>
<p class="sub">Guidance on pre-approval, contingencies, title insurance, and closing timelines.</p>
<div class="two-col">
<div class="image">
<img src="https://picsum.photos/720/521?blur=2" alt="New homeowners discussing paperwork placeholder image" />
</div>
<div>
<p>
Buying your first home should feel exciting, not overwhelming. We begin by helping you understand your budget in practical terms, including monthly principal and interest, property taxes, insurance, and any association fees. From there, we help you secure pre-approval so your offer lands with confidence and your search remains grounded in reality.
</p>
<p>
Once you are ready to make an offer, we walk through the language of the transaction: earnest money, inspection contingencies, appraisal contingencies, and title insurance. We also explain how an underwritten loan file differs from a standard pre-qualification so you can avoid last-minute surprises before closing.
</p>
<div class="pill-row">
<span class="pill">Pre-approval</span>
<span class="pill">Down payment planning</span>
<span class="pill">Inspection contingency</span>
<span class="pill">Closing costs</span>
</div>
</div>
</div>
</section>
<section class="section" id="neighborhoods">
<h3>Neighborhood Guide with local lifestyle insights</h3>
<p class="sub">Explore the character, conveniences, and investment appeal of each part of town.</p>
<p>
Great real estate decisions are rarely made on a floor plan alone. A neighborhood can shape your daily routine, future appreciation, and even how quickly a property sells later. Our guide highlights commute access, retail corridors, parks, dining, and school boundaries so buyers can evaluate more than just the home itself.
</p>
<p>
Whether you are drawn to established districts with mature trees and larger lots, or newer communities with modern amenities and lower maintenance, our neighborhood profiles help you compare options with real context. We also call out the details that matter to sellers: buyer demand, average DOM, and recent listing price trends that can help shape a stronger pricing strategy.
</p>
<div class="feature-grid">
<div class="feature">
<h4>Riverside Commons</h4>
<p>Walkable cafes, river trails, and steady demand from both families and professionals.</p>
</div>
<div class="feature">
<h4>Northgate Park</h4>
<p>Popular with first-time buyers seeking newer construction and commuter-friendly access.</p>
</div>
<div class="feature">
<h4>Willow District</h4>
<p>Historic homes, strong curb appeal, and thoughtful renovation opportunities.</p>
</div>
</div>
</section>
<section class="section" id="mortgage">
<h3>Mortgage Options and monthly payment planning</h3>
<p class="sub">Compare loan types, estimate payments, and prepare for approval with realistic expectations.</p>
<div class="two-col">
<div>
<p>
Financing is often the biggest variable in a home purchase, which is why we provide a straightforward mortgage overview before you begin touring. Fixed-rate loans offer payment stability, while adjustable-rate options may suit buyers expecting a shorter ownership horizon. We also explain how your rate, credit profile, debt-to-income ratio, and down payment can influence affordability.
</p>
<p>
Our payment planning resources are especially useful when you need to account for property taxes, homeowner’s insurance, mortgage insurance, and HOA dues. That way, the number you see in a listing is not just a marketing figure, but a realistic projection of what homeownership will cost month to month.
</p>
<div class="cta-row">
<a class="btn primary" href="#schedule">Calculate Payment</a>
<a class="btn secondary" href="#faq">Read Mortgage FAQ</a>
</div>
</div>
<div class="image">
<img src="https://picsum.photos/720/523?grayscale&blur=3" alt="Mortgage paperwork and calculator placeholder image" />
</div>
</div>
</section>
<section class="section" id="sell">
<h3>Sell with a data-backed pricing strategy</h3>
<p class="sub">Position your home correctly, attract qualified buyers, and reduce time on market.</p>
<div class="two-col">
<div class="image">
<img src="https://picsum.photos/720/524?blur=1" alt="Stylish living room for home selling placeholder image" />
</div>
<div>
<p>
When selling, the first impression is only part of the equation. Pricing strategy matters just as much as staging and photography. We analyze comparable homes, active competition, seasonal demand, and current showing activity to recommend a listing price that is both defensible and compelling.
</p>
<p>
Our listing process also focuses on practical preparation: disclosure review, repair priorities, title readiness, and timing around any buyer contingencies. That combination of presentation and preparation helps reduce friction during negotiations and improves the odds of a smooth path to closing.
</p>
<div class="cta-row">
<a class="btn primary" href="#schedule">Find Agent</a>
<a class="btn secondary" href="#openhouses">Review Open Houses</a>
</div>
</div>
</div>
</section>
<section class="section" id="openhouses">
<h3>Featured open houses and scheduled tours</h3>
<p class="sub">A simple engagement tool for buyers to reserve a showing window that fits their schedule.</p>
<div class="two-col">
<div>
<p>
Use our open house scheduler to reserve a preferred time slot before you drive across town. It helps reduce wait times, gives our agents a chance to prepare relevant property details, and ensures you receive the right disclosures and listing packet in advance.
</p>
<p>
For busy buyers, this is an easy way to keep momentum. Select the neighborhood, choose a date and time, and add notes if you want to focus on renovation potential, school proximity, or financing questions. We will follow up with confirmation and next steps.
</p>
</div>
<div class="card" style="padding:18px;">
<form class="form" id="scheduler">
<div>
<label for="name">Full name</label>
<input id="name" type="text" placeholder="Jordan Ellis" />
</div>
<div>
<label for="email">Email</label>
<input id="email" type="email" placeholder="jordan@email.com" />
</div>
<div>
<label for="interest">Showing type</label>
<select id="interest">
<option>Buy a home</option>
<option>Sell a home</option>
<option>Rental tour</option>
<option>Mortgage consultation</option>
</select>
</div>
<div>
<label for="date">Preferred date</label>
<input id="date" type="date" />
</div>
<div>
<label for="notes">Notes</label>
<textarea id="notes" placeholder="Tell us what you're looking for..."></textarea>
</div>
<button class="btn primary" type="submit">Schedule Tour</button>
</form>
</div>
</div>
</section>
<section class="section faq" id="faq">
<h3>Frequently asked questions</h3>
<details open>
<summary>What is the difference between pre-qualification and pre-approval?</summary>
<p>Pre-qualification is an early estimate based on self-reported financial details, while pre-approval usually involves a deeper review of income, credit, assets, and liabilities. A pre-approval letter is typically stronger when submitting an offer.</p>
</details>
<details>
<summary>How do contingencies protect a buyer?</summary>
<p>Contingencies allow a buyer to back out or renegotiate if key conditions are not met, such as inspection findings, low appraisal, or financing issues. They are a critical part of managing risk during a transaction.</p>
</details>
<details>
<summary>Why does title insurance matter?</summary>
<p>Title insurance helps protect against claims or defects tied to ownership history. It is an important safeguard during closing and one of the standard items reviewed before the deed transfers.</p>
</details>
<details>
<summary>How do you determine listing price?</summary>
<p>We use recent comparable sales, local supply and demand, condition, upgrades, and market velocity to recommend a pricing strategy. The goal is to attract qualified buyers without leaving value on the table.</p>
</details>
</section>
<section class="section">
<h3>What clients are saying</h3>
<div class="testimonials">
<div class="quote">
<p>“Alder & Key made the process feel organized from day one. The market analysis was sharp, and they explained every contingency in plain English.”</p>
<div class="who"><strong>Marina T.</strong><span>First-time buyer</span></div>
</div>
<div class="quote">
<p>“We sold above asking after a smart pricing strategy and excellent staging guidance. The listing photos and communication were top-notch.”</p>
<div class="who"><strong>Darren K.</strong><span>Home seller</span></div>
</div>
<div class="quote">
<p>“The neighborhood guide helped us choose the right area, and the mortgage breakdown kept us realistic about monthly costs.”</p>
<div class="who"><strong>Priya S.</strong><span>Relocating family</span></div>
</div>
</div>
</section>
</div>
<aside class="sidebar">
<div class="side-card card">
<h4>Featured agents</h4>
<div class="agent">
<img src="https://i.pravatar.cc/120?u=agent-1" alt="Featured agent portrait" />
<div><strong>Elena Brooks</strong><span>Buyer representation & relocation</span></div>
</div>
<div class="agent">
<img src="https://i.pravatar.cc/120?u=agent-2" alt="Featured agent portrait" />
<div><strong>Marcus Chen</strong><span>Luxury listings & pricing strategy</span></div>
</div>
<div class="agent">
<img src="https://i.pravatar.cc/120?u=agent-3" alt="Featured agent portrait" />
<div><strong>Hannah Reid</strong><span>First-time buyers & mortgage planning</span></div>
</div>
</div>
<div class="side-card card">
<h4>Buyer tips</h4>
<div class="mini-list">
<div class="mini-item">
<h3>Get pre-approved early</h3>
<p>It clarifies your budget and helps strengthen your offer in competitive markets.</p>
</div>
<div class="mini-item">
<h3>Watch the total cost</h3>
<p>Look beyond the listing price and account for taxes, insurance, HOA fees, and maintenance.</p>
</div>
<div class="mini-item">
<h3>Read disclosures carefully</h3>
<p>Property history, repairs, and title notes can influence negotiation leverage.</p>
</div>
</div>
</div>
<div class="side-card card">
<h4>Quick contact</h4>
<p class="small">312 Harbor Line, Suite 420<br/>Brookstone, IL 60601</p>
<p class="small">hello@alderandkey.com<br/>(312) 555-0148</p>
<p class="small">Mon–Sat, 8:30 AM–7:00 PM</p>
</div>
</aside>
</div>
</main>
<footer>
<div class="wrap footer-grid">
<div>
<strong>Alder & Key Realty</strong>
<p class="small">Helping clients buy, sell, and rent with confidence, clarity, and local expertise.</p>
</div>
<div class="footer-links" aria-label="Footer links">
<a href="#search">Property Search</a>
<a href="#buyers">First-Time Buyers</a>
<a href="#mortgage">Mortgage Options</a>
<a href="#sell">Sell</a>
<a href="#faq">FAQ</a>
</div>
<div class="footer-links" aria-label="Legal and social links">
<a href="#">Privacy</a>
<a href="#">Terms</a>
<a href="#">Instagram</a>
<a href="#">Facebook</a>
<a href="#">LinkedIn</a>
</div>
</div>
<div class="wrap" style="margin-top:18px;">
<p class="small">© 2026 Alder & Key Realty. All rights reserved.</p>
</div>
</footer>
</body>
</html>
View Axe Report (JSON)
{
"testEngine": {
"name": "axe-core",
"version": "4.10.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
"windowWidth": 1280,
"windowHeight": 720,
"orientationAngle": 0,
"orientationType": "landscape-primary"
},
"timestamp": "2026-11-12T09:41:31.696Z",
"url": "https://benchmark.aimac.invalid/c4b8c0abd594c6d4260f68948eab0c6d0ae3237202381fdfcd8c545df7ef227b.html",
"toolOptions": {
"runOnly": {
"type": "tag",
"values": [
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa"
]
},
"resultTypes": [
"violations"
],
"reporter": "v1"
},
"inapplicable": [
{
"id": "area-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <area> elements of image maps have alternative text",
"help": "Active <area> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
"nodes": []
},
{
"id": "aria-braille-equivalent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
"help": "aria-braille attributes must have a non-braille equivalent",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
"nodes": []
},
{
"id": "aria-command-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-deprecated-role",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
"nodes": []
},
{
"id": "aria-hidden-focus",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
"nodes": []
},
{
"id": "aria-input-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-meter-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-progressbar-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-children",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-parent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
"nodes": []
},
{
"id": "aria-roles",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
"nodes": []
},
{
"id": "aria-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "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": "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": "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": "<nav aria-label=\"Primary\">",
"target": [
"nav"
]
}
]
},
{
"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": "<nav aria-label=\"Primary\">",
"target": [
"nav"
]
}
]
},
{
"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": "serious",
"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": "<nav aria-label=\"Primary\">",
"target": [
"nav"
]
}
]
},
{
"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": "<nav aria-label=\"Primary\">",
"target": [
"nav"
]
}
]
},
{
"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": "<nav aria-label=\"Primary\">",
"target": [
"nav"
]
}
]
},
{
"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": "<div class=\"card\" style=\"padding:18px;\">",
"target": [
".two-col > .card"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"btn primary\" type=\"submit\">Schedule Tour</button>",
"target": [
"button"
]
}
]
},
{
"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>Alder & Key Realty</h1>",
"target": [
"h1"
]
},
{
"html": "<h2>Property search, pricing strategy, and local expertise under one roof.</h2>",
"target": [
"h2"
]
},
{
"html": "<h3>Curated inventory</h3>",
"target": [
".hero-side > .mini-list > .mini-item:nth-child(1) > h3"
]
},
{
"html": "<h3>Negotiation-ready advice</h3>",
"target": [
".hero-side > .mini-list > .mini-item:nth-child(2) > h3"
]
},
{
"html": "<h3>End-to-end support</h3>",
"target": [
".hero-side > .mini-list > .mini-item:nth-child(3) > h3"
]
},
{
"html": "<h3>Property Search built for serious buyers</h3>",
"target": [
"#search > h3"
]
},
{
"html": "<h4>Advanced filters</h4>",
"target": [
"#search > .feature-grid > .feature:nth-child(1) > h4"
]
},
{
"html": "<h4>Market insights</h4>",
"target": [
"#search > .feature-grid > .feature:nth-child(2) > h4"
]
},
{
"html": "<h4>Saved listings</h4>",
"target": [
"#search > .feature-grid > .feature:nth-child(3) > h4"
]
},
{
"html": "<h3>First-Time Buyers: a clearer path to ownership</h3>",
"target": [
"#buyers > h3"
]
},
{
"html": "<h3>Neighborhood Guide with local lifestyle insights</h3>",
"target": [
"#neighborhoods > h3"
]
},
{
"html": "<h4>Riverside Commons</h4>",
"target": [
"#neighborhoods > .feature-grid > .feature:nth-child(1) > h4"
]
},
{
"html": "<h4>Northgate Park</h4>",
"target": [
"#neighborhoods > .feature-grid > .feature:nth-child(2) > h4"
]
},
{
"html": "<h4>Willow District</h4>",
"target": [
"#neighborhoods > .feature-grid > .feature:nth-child(3) > h4"
]
},
{
"html": "<h3>Mortgage Options and monthly payment planning</h3>",
"target": [
"#mortgage > h3"
]
},
{
"html": "<h3>Sell with a data-backed pricing strategy</h3>",
"target": [
"#sell > h3"
]
},
{
"html": "<h3>Featured open houses and scheduled tours</h3>",
"target": [
"#openhouses > h3"
]
},
{
"html": "<h3>Frequently asked questions</h3>",
"target": [
"#faq > h3"
]
},
{
"html": "<h3>What clients are saying</h3>",
"target": [
".section:nth-child(8) > h3"
]
},
{
"html": "<h4>Featured agents</h4>",
"target": [
".side-card.card:nth-child(1) > h4"
]
},
{
"html": "<h4>Buyer tips</h4>",
"target": [
".side-card.card:nth-child(2) > h4"
]
},
{
"html": "<h3>Get pre-approved early</h3>",
"target": [
".side-card.card:nth-child(2) > .mini-list > .mini-item:nth-child(1) > h3"
]
},
{
"html": "<h3>Watch the total cost</h3>",
"target": [
".side-card.card:nth-child(2) > .mini-list > .mini-item:nth-child(2) > h3"
]
},
{
"html": "<h3>Read disclosures carefully</h3>",
"target": [
".side-card.card:nth-child(2) > .mini-list > .mini-item:nth-child(3) > h3"
]
},
{
"html": "<h4>Quick contact</h4>",
"target": [
".side-card.card:nth-child(3) > h4"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main class=\"wrap\">",
"target": [
"main"
]
}
],
"impact": "serious",
"message": "Page has a landmark region"
}
],
"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": "#e9eef9",
"bgColor": "#0b1324",
"contrastRatio": 15.94,
"fontSize": "10.0pt (13.3333px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 15.94"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<input id=\"name\" type=\"text\" placeholder=\"Jordan Ellis\">",
"target": [
"#name"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "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 id=\"name\" type=\"text\" placeholder=\"Jordan Ellis\">",
"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\">Full name</label>",
"target": [
"label[for=\"name\"]"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input id=\"name\" type=\"text\" placeholder=\"Jordan Ellis\">",
"target": [
"#name"
]
}
]
},
{
"id": "html-has-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The <html> element has a lang attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"TT7.b",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
"help": "Images must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-alt",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has an alt attribute"
}
],
"all": [],
"none": [
{
"id": "alt-space-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a valid alt attribute value"
}
],
"impact": null,
"html": "<img src=\"https://placehold.co/120x120/7dd3fc/09101d?text=AK&font=montserrat\" alt=\"Alder & Key Realty logo placeholder\">",
"target": [
".brand > 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": "Full name"
},
"relatedNodes": [
{
"html": "<label for=\"name\">Full 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 id=\"name\" type=\"text\" placeholder=\"Jordan Ellis\">",
"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=\"#buy\">Buy</a>",
"target": [
"a[href$=\"#buy\"]"
]
}
]
},
{
"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": [
"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=\"#buy\">Buy</a></li>",
"target": [
"li:nth-child(1)"
]
}
]
},
{
"id": "meta-viewport",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag2aa",
"wcag144",
"EN-301-549",
"EN-9.1.4.4",
"ACT"
],
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "meta-viewport",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "<meta> tag does not disable zooming on mobile devices"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"target": [
"meta[name=\"viewport\"]"
]
}
]
},
{
"id": "nested-interactive",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "no-focusable-content",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have focusable descendants"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<img src=\"https://placehold.co/120x120/7dd3fc/09101d?text=AK&font=montserrat\" alt=\"Alder & Key Realty logo placeholder\">",
"target": [
".brand > img"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "explicit-label",
"data": {
"explicitLabel": "Showing type"
},
"relatedNodes": [
{
"html": "<label for=\"interest\">Showing type</label>",
"target": [
"label[for=\"interest\"]"
]
}
],
"impact": "critical",
"message": "Element has an explicit <label>"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<select id=\"interest\">\n <option>Buy a home</option>\n <option>Sell a home</option>\n <option>Rental tour</option>\n <option>Mortgage consultation</option>\n </select>",
"target": [
"#interest"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<summary>What is the difference between pre-qualification and pre-approval?</summary>",
"target": [
"details[open=\"\"] > summary"
]
}
]
},
{
"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": 57.6,
"height": 46.8
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (57.6px by 46.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=\"#buy\">Buy</a>",
"target": [
"a[href$=\"#buy\"]"
]
}
]
}
],
"incomplete": [
{
"id": "aria-prohibited-attr",
"impact": "serious",
"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": {
"role": null,
"nodeName": "div",
"messageKey": "noRoleSingular",
"prohibited": [
"aria-label"
]
},
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute is not well supported on a div with no valid role attribute."
}
],
"impact": "serious",
"html": "<div class=\"stats\" aria-label=\"Company highlights\">",
"target": [
".stats"
],
"failureSummary": "Fix all of the following:\n aria-label attribute is not well supported on a div with no valid role attribute."
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": null,
"bgColor": null,
"contrastRatio": 0,
"fontSize": "13.2pt (17.6px)",
"fontWeight": "bold",
"messageKey": "bgGradient",
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"topbar\">",
"target": [
".topbar"
]
},
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a background gradient"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h1>Alder & Key Realty</h1>",
"target": [
"h1"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a background gradient"
}
]
}
],
"violations": [],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 5954
},
{
"y": 576,
"height": 5954
},
{
"y": 1152,
"height": 5954
},
{
"y": 1728,
"height": 5954
},
{
"y": 2304,
"height": 5954
},
{
"y": 2880,
"height": 5954
},
{
"y": 3456,
"height": 5954
},
{
"y": 4032,
"height": 5954
},
{
"y": 4608,
"height": 5954
},
{
"y": 5184,
"height": 5954
},
{
"y": 5234,
"height": 5954
}
],
"scans": 12,
"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 "Real Estate" 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: "Real Estate"
- Description: Property listings, real estate agencies, home buying, rentals, and mortgage resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Real Estate" 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: "Sell", "Property Search", "Buy".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Real Estate" category. Consider themes similar to: "First-Time Buyers", "Neighborhood Guide", "Mortgage Options".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "title insurance", "contingency", "listing price".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Start Search", "Find Agent", "Calculate Payment".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Real Estate" sector. Ideas similar but not limited to: "open house scheduler".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "featured agents", "buyer tips", "open houses".
- **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.