Recursive Flint (free) – Law Government and Politics
via Recursive · Generated
- AIMAC Debt 3.98
- Cost $0.00
- Total Violations 8
- HTML Size 27 KB
- Em Dashes 3
Screenshot
View Live Page
Accessibility Issues Found
8 Serious
-
color-contrast serious 8 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="eyebrow">Policy</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>Civic Counsel | Law, Government & Politics</title>
<meta name="description" content="Civic Counsel provides legal information, political analysis, civic legal aid, and government affairs resources for a government in motion.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Source+Sans+Pro:wght@400;600;700&display=swap" rel="stylesheet">
<style>
:root {
--navy: #0f1f3d;
--slate: #33415c;
--blue: #2456a6;
--gold: #c9a227;
--off-white: #f7f5f0;
--paper: #ffffff;
--text: #1f2937;
--muted: #5b6472;
--border: #e2e8f0;
--shadow: 0 10px 30px rgba(15,31,61,.08);
--radius: 14px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
margin: 0;
font-family: "Source Sans Pro", sans-serif;
background: var(--off-white);
color: var(--text);
line-height: 1.7;
}
h1, h2, h3, h4 { font-family: "Playfair Display", serif; line-height: 1.2; color: var(--navy); }
h1 { font-size: 3.2rem; margin: 0 0 1rem; }
h2 { font-size: 2.4rem; margin: 0 0 1.2rem; }
h3 { font-size: 1.5rem; margin: 0 0 .6rem; }
p { margin: 0 0 1rem; }
img { max-width: 100%; display: block; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; font-weight: 700; color: var(--gold); }
.lead { font-size: 1.2rem; color: var(--muted); }
.site-header {
position: sticky; top: 0; z-index: 100;
background: rgba(15,31,61,.97);
color: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.header-inner { display: flex; align-items: center; gap: 24px; padding-top: 14px; padding-bottom: 14px; }
.brand { display: flex; align-items: center; gap: 12px; color: #fff; }
.brand:hover { text-decoration: none; }
.logo { width: 140px; height: auto; }
.brand-text { display: flex; flex-direction: column; }
.brand-name { font-family: "Playfair Display", serif; font-size: 1.6rem; font-weight: 700; color: #fff; }
.brand-tagline { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.main-nav { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.main-nav a { color: #dbe4f5; padding: 8px 12px; border-radius: 8px; font-weight: 600; font-size: .95rem; }
.main-nav a:hover { background: rgba(255,255,255,.08); text-decoration: none; color: #fff; }
.main-nav a.active { background: rgba(201,162,39,.18); color: #fff; }
.header-cta { margin-left: 12px; }
.btn {
display: inline-block; padding: 12px 22px; border-radius: 10px;
font-weight: 700; border: 1px solid transparent; cursor: pointer; transition: .2s;
text-align: center;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn-primary { background: var(--blue); color: #fff; }
.btn-primary:hover { background: #1c4385; }
.btn-outline { border-color: rgba(255,255,255,.5); color: #fff; background: transparent; }
.btn-outline:hover { background: rgba(255,255,255,.08); }
.btn-gold { background: var(--gold); color: var(--navy); }
.btn-gold:hover { background: #d9b23a; }
.btn-dark { background: var(--navy); color: #fff; }
.hero { background: linear-gradient(135deg, #0f1f3d 0%, #1b2f57 55%, #2456a6 100%); color: #fff; padding: 90px 0; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.hero h1 { color: #fff; }
.hero .lead { color: #c9d6ea; }
.hero-actions { display: flex; gap: 14px; margin: 26px 0; flex-wrap: wrap; }
.hero .btn-outline { border-color: rgba(255,255,255,.6); }
.hero-points { list-style: none; padding: 0; margin: 0; display: flex; gap: 22px; flex-wrap: wrap; color: #dbe4f5; font-weight: 600; }
.hero-points li::before { content: "✓"; color: var(--gold); margin-right: 8px; font-weight: 700; }
.hero-media { position: relative; }
.hero-media img { border-radius: 18px; box-shadow: 0 30px 60px rgba(0,0,0,.35); border: 6px solid rgba(255,255,255,.08); }
.feature-grid { padding: 70px 0; }
.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.feature { background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); }
.feature-icon { width: 52px; height: 52px; border-radius: 12px; background: var(--navy); color: var(--gold); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: 700; margin-bottom: 16px; }
.section { padding: 80px 0; }
.section.alt { background: #fff; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.split-media img { border-radius: var(--radius); box-shadow: var(--shadow); }
.check-list { list-style: none; padding: 0; margin: 0 0 24px; }
.check-list li { padding: 8px 0 8px 34px; position: relative; font-weight: 600; color: var(--slate); }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--blue); font-weight: 700; }
.main-layout { display: grid; grid-template-columns: 1fr 320px; gap: 56px; padding-bottom: 80px; }
.sidebar { position: sticky; top: 110px; align-self: start; }
.side-card { background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); margin-bottom: 24px; }
.side-card h3 { margin-top: 0; }
.tracker { background: var(--navy); border-radius: 18px; padding: 36px; color: #fff; }
.tracker h2 { color: #fff; }
.tracker-controls { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; }
.filter-btn { border: 1px solid rgba(255,255,255,.25); background: transparent; color: #dbe4f5; padding: 8px 16px; border-radius: 999px; cursor: pointer; font-weight: 600; }
.filter-btn.active { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.bill-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 22px; margin-bottom: 16px; }
.bill-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 8px; flex-wrap: wrap; }
.bill-number { font-weight: 700; color: var(--gold); }
.status { font-size: .8rem; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.status-introduced { background: rgba(36,86,166,.5); color: #dbe7ff; }
.status-committee { background: rgba(201,162,39,.35); color: #ffe9a8; }
.status-passed { background: rgba(46,125,50,.45); color: #c8f7cb; }
.status-on-hold { background: rgba(183,28,28,.45); color: #ffc9c9; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.testimonial { background: var(--paper); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); }
.testimonial p { font-style: italic; color: var(--slate); }
.testimonial-author { display: flex; align-items: center; gap: 14px; margin-top: 18px; }
.testimonial-author img { width: 52px; height: 52px; border-radius: 50%; }
.testimonial-author strong { display: block; color: var(--navy); }
.testimonial-author span { font-size: .85rem; color: var(--muted); }
.faq details { background: var(--paper); border: 1px solid var(--border); border-radius: 12px; padding: 20px 24px; margin-bottom: 14px; }
.faq details summary { font-weight: 700; color: var(--navy); cursor: pointer; }
.faq details p { margin-bottom: 0; color: var(--muted); }
.cta-band { background: linear-gradient(135deg, var(--navy), #2456a6); color: #fff; padding: 70px 0; text-align: center; }
.cta-band h2 { color: #fff; }
.cta-band p { color: #c9d6ea; max-width: 720px; margin: 0 auto 28px; }
.site-footer { background: var(--navy); color: #c9d6ea; padding: 60px 0 30px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.site-footer h4 { color: #fff; margin-top: 0; }
.site-footer a { color: #c9d6ea; display: block; margin-bottom: 8px; }
.site-footer a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 24px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.social a { display: inline-block; margin-right: 14px; font-weight: 600; }
.social a:hover { color: #fff; }
@media (max-width: 980px) {
.hero-grid, .split, .main-layout { grid-template-columns: 1fr; }
.features, .testimonial-grid { grid-template-columns: 1fr; }
.sidebar { position: static; }
.main-nav { display: none; }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
}
</style>
</head>
<body>
<header class="site-header">
<div class="container header-inner">
<a href="#" class="brand">
<img src="https://placehold.co/140x56?text=Civic%20Counsel&font=oswald" alt="Civic Counsel logo" class="logo">
<span class="brand-text">
<span class="brand-name">Civic Counsel</span>
<span class="brand-tagline">Law. Policy. Power. The People’s Bench.</span>
</span>
</a>
<nav class="main-nav" aria-label="Primary">
<a href="#" class="active">Home</a>
<a href="#">Legal Aid</a>
<a href="#">Research</a>
<a href="#">Events</a>
<a href="#">Legislation</a>
<a href="#">Advocacy</a>
<a href="#">About</a>
</nav>
<a href="#" class="btn btn-gold header-cta">Get Legal Aid</a>
</div>
</header>
<section class="hero">
<div class="container hero-grid">
<div class="hero-copy">
<span class="eyebrow">Law · Government · Politics</span>
<h1>Clarity for the Courtroom. Courage for the Cause.</h1>
<p class="lead">Civic Counsel is a legal information and civic advocacy platform that translates statutes, tracks political risk, and connects citizens to the legal and public action they deserve.</p>
<div class="hero-actions">
<a href="#" class="btn btn-primary">Get Legal Aid</a>
<a href="#" class="btn btn-outline">Explore Research</a>
</div>
<ul class="hero-points">
<li>Legal Analysis</li>
<li>Legislative Tracking</li>
<li>Civic Action</li>
</ul>
</div>
<div class="hero-media">
<img src="https://picsum.photos/1600/900?grayscale&blur=2" alt="Placeholder image of a courtroom and civic space">
</div>
</div>
</section>
<section class="feature-grid">
<div class="container">
<div class="features">
<div class="feature">
<div class="feature-icon">A</div>
<h3>Legal Clarity</h3>
<p>Plain-language legal resources and attorney-reviewed summaries that help the public understand rights, obligations, and court processes.</p>
</div>
<div class="feature">
<div class="feature-icon">P</div>
<h3>Political Insight</h3>
<p>Research on legislation, lobbying, ballot measures, and public policy that turns complex legal language into actionable intelligence.</p>
</div>
<div class="feature">
<div class="feature-icon">A</div>
<h3>Action Ready</h3>
<p>Engagement tools, advocacy guidance, and legal aid coordination that help citizens and organizations participate effectively.</p>
</div>
</div>
</div>
</section>
<div class="container main-layout">
<main>
<section id="political-analysis" class="section">
<div class="container split">
<div class="split-media">
<img src="https://picsum.photos/800/600?grayscale&blur=4" alt="Placeholder image representing a legislative chamber">
</div>
<div class="split-content">
<span class="eyebrow">Policy</span>
<h2>Political Analysis & Public Policy</h2>
<p>Policymaking is a legal process before it is a political process. Civic Counsel monitors how bills are drafted, amended, and referred to committees, and we map the jurisdictional questions that determine whether state, federal, or local authorities have authority. Our analysts prepare nonpartisan explainers that connect statutory text to public impact.</p>
<p>The legislative calendar is crowded, and public scrutiny often arrives only after a vote. Our research team tracks committee hearings, fiscal notes, and coalition positions, then packages the findings into accessible briefings for journalists, advocates, and civic groups. When a ballot measure appears on the ballot, we provide voters with plain-language summaries of the legal text, arguments, and projected costs.</p>
<ul class="check-list">
<li>Legislative tracking and jurisdiction mapping</li>
<li>Ballot measure explainers</li>
<li>Lobbying disclosure summaries</li>
<li>Policy impact memos</li>
</ul>
<a href="#" class="btn btn-primary">Share Analysis</a>
</div>
</div>
</section>
<section id="legal-resources" class="section alt">
<div class="container split">
<div class="split-content">
<span class="eyebrow">Legal Aid</span>
<h2>Legal Resources & Civic Legal Aid</h2>
<p>Access to justice should not depend on geography, income, or employer. Civic Counsel maintains a curated library of legal resources covering constitutional law, administrative procedure, housing, immigration, and criminal defense. Our pro bono coordination team works with local bar associations, legal aid societies, and law schools to fill gaps in civil legal aid.</p>
<p>We also publish plain-language summaries of court rulings for affected communities. Our editorial team writes accessible briefs that explain procedural posture, holding, and potential remedies without sacrificing legal accuracy. Through partnerships with local bar associations, law schools, and legal aid organizations, we coordinate intake support and capacity-building.</p>
<a href="#" class="btn btn-primary">Get Legal Aid</a>
</div>
<div class="split-media">
<img src="https://picsum.photos/800/600?grayscale&blur=5" alt="Placeholder image representing legal aid and community support">
</div>
</div>
</section>
<section id="public-interest" class="section">
<div class="container split">
<div class="split-media">
<img src="https://picsum.photos/800/600?grayscale&blur=3" alt="Placeholder image representing advocacy and public interest">
</div>
<div class="split-content">
<span class="eyebrow">Advocacy</span>
<h2>Public Interest Advocacy & Lobbying</h2>
<p>Advocacy at the federal, state, and local levels requires more than moral clarity. Civic Counsel supports grassroots campaigns with research, coalition strategy, and lobbying compliance guidance. We map the influence of money and interest groups, draft testimony for public hearings, and prepare communities for regulatory comment periods.</p>
<p>Our team advises on lobbying registration, ethics rules, and petition signature validation. Whether the issue involves environmental regulation, voting rights, consumer privacy, or criminal justice reform, we help partners build durable coalitions and evidence-based advocacy plans. Our public interest team supports grassroots campaigns with legal risk analysis, petition strategy, and media framing.</p>
<a href="#" class="btn btn-primary">Sign Petition</a>
</div>
</div>
</section>
<section id="government-affairs" class="section alt">
<div class="container split">
<div class="split-content">
<span class="eyebrow">Government</span>
<h2>Government Affairs & Institutional Intelligence</h2>
<p>Government affairs today spans agencies as much as legislatures. Civic Counsel tracks administrative rulemaking, public records requests, and federal and state regulatory actions. We help agencies, contractors, and advocacy groups navigate the legal requirements of procurement, compliance, and stakeholder engagement.</p>
<p>Our institutional intelligence reports cover regulatory dockets, FOIA requests, and government contracting ethics. Clients use these insights to anticipate enforcement actions, prepare compliance plans, and engage the public around complex administrative processes. Our team advises on agency guidance, interpretive rules, and the legal effects of executive orders.</p>
<a href="#" class="btn btn-primary">Request Briefing</a>
</div>
<div class="split-media">
<img src="https://picsum.photos/800/600?grayscale&blur=6" alt="Placeholder image representing government institutions and documents">
</div>
</div>
</section>
<section id="legislation-tracker" class="section">
<div class="container">
<div class="tracker">
<h2>Interactive Legislation Tracker</h2>
<p>Follow federal and state bills, ballot measures, and regulatory actions in real time. Use the filters to focus on the matters that affect your organization or community.</p>
<div class="tracker-controls">
<button class="filter-btn active" data-filter="all">All</button>
<button class="filter-btn" data-filter="introduced">Introduced</button>
<button class="filter-btn" data-filter="committee">Committee</button>
<button class="filter-btn" data-filter="passed">Passed</button>
<button class="filter-btn" data-filter="on-hold">On Hold</button>
</div>
<div class="bill-card" data-status="introduced">
<div class="bill-top">
<span class="bill-number">S. 1234</span>
<span class="status status-introduced">Introduced</span>
</div>
<h3>Justice Data Transparency Act</h3>
<p>The bill would require federal agencies to publish de-identified criminal justice data to support research and policy analysis.</p>
</div>
<div class="bill-card" data-status="committee">
<div class="bill-top">
<span class="bill-number">H.R. 5678</span>
<span class="status status-committee">Committee</span>
</div>
<h3>Civic Media Fairness Act</h3>
<p>The proposal would require disclosure of political advertising funding and reporting of online political broadcasts.</p>
</div>
<div class="bill-card" data-status="passed">
<div class="bill-top">
<span class="bill-number">Ballot Measure 2024-12</span>
<span class="status status-passed">Passed</span>
</div>
<h3>Clean Water Funding Amendment</h3>
<p>The measure authorizes infrastructure bonds for water treatment and environmental restoration projects.</p>
</div>
<div class="bill-card" data-status="on-hold">
<div class="bill-top">
<span class="bill-number">H.R. 9021</span>
<span class="status status-on-hold">On Hold</span>
</div>
<h3>Public Records Modernization Act</h3>
<p>The bill would streamline FOIA request processing and establish digital submission standards.</p>
</div>
</div>
</div>
</section>
<section id="testimonials" class="section alt">
<div class="container">
<h2>What Partners Say</h2>
<div class="testimonial-grid">
<div class="testimonial">
<p>Civic Counsel helped our coalition understand the legal nuances before we testified before the committee. The briefing was clear, accurate, and immediately useful.</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/150?u=7891" alt="Placeholder avatar">
<div>
<strong>Maya R.</strong>
<span>Policy Director, State Coalition</span>
</div>
</div>
</div>
<div class="testimonial">
<p>The plain-language legal briefs reduced confusion for thousands of constituents. Our legal aid partners adopted them directly into community workshops.</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/150?u=4562" alt="Placeholder avatar">
<div>
<strong>David L.</strong>
<span>Legal Aid Coordinator</span>
</div>
</div>
</div>
<div class="testimonial">
<p>Our advocacy team relied on Civic Counsel research to prepare testimony and respond to legal challenges. The platform became our institutional memory.</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/150?u=2345" alt="Placeholder avatar">
<div>
<strong>Sara K.</strong>
<span>Advocacy Lead, Civic Group</span>
</div>
</div>
</div>
</div>
</div>
</section>
<section id="faq" class="section">
<div class="container">
<h2>Frequently Asked Questions</h2>
<div class="faq">
<details>
<summary>What is the difference between lobbying and advocacy?</summary>
<p>Advocacy typically involves public education, grassroots organizing, and policy analysis, while lobbying involves direct communication with government officials and staff. Civic Counsel helps clients understand both legal and ethical boundaries.</p>
</details>
<details>
<summary>How do I find legal aid in my jurisdiction?</summary>
<p>You can use Civic Counsel’s legal resource directory to identify local bar associations, legal aid societies, law school clinics, and pro bono programs. Our guides also explain intake processes and eligibility criteria.</p>
</details>
<details>
<summary>What is a ballot measure and how can I track it?</summary>
<p>A ballot measure is a proposed law placed directly before voters. Civic Counsel provides summaries, fiscal analyses, and argument guides for state and local ballot measures.</p>
</details>
<details>
<summary>How does Civic Counsel verify public records and legal information?</summary>
<p>We use primary sources, attorney review, and editorial standards. Our research reports are intended for informational purposes and should not replace legal advice from a licensed attorney.</p>
</details>
</div>
</div>
</section>
</main>
<aside class="sidebar">
<div class="side-card">
<h3>Action Alerts</h3>
<p><strong>Senate Judiciary Committee hearing on S. 1234 postponed to March 14.</strong> The postponement affects public testimony schedules and agency responses.</p>
<p><strong>Ballot Measure 2024-12 certified for November ballot.</strong> Final arguments and fiscal notes are now available.</p>
</div>
<div class="side-card">
<h3>Community Events</h3>
<p><strong>Civic Legal Aid Workshop: Know Your Rights</strong> — Feb 28, 2025. Local library and bar association partnership.</p>
<p><strong>Policy Hackathon: Civic Technology for Government</strong> — Mar 12, 2025. Virtual event.</p>
<p><strong>Public Town Hall: Ballot Measures and Local Ordinances</strong> — Mar 20, 2025. Washington, DC.</p>
</div>
<div class="side-card">
<h3>Research Reports</h3>
<p><strong>The State of Civil Legal Aid in the United States, 2025</strong></p>
<p><strong>Lobbying and Influence in State Legislatures</strong></p>
<p><strong>FOIA Performance and Agency Backlogs</strong></p>
</div>
</aside>
</div>
<section class="cta-band">
<div class="container">
<h2>Get Involved. Stay Informed. Access Justice.</h2>
<p>Join Civic Counsel to receive legal briefs, policy updates, and action alerts delivered through your preferred civic channels.</p>
<a href="#" class="btn btn-gold">Sign Up for Alerts</a>
</div>
</section>
<footer class="site-footer">
<div class="container footer-grid">
<div>
<img src="https://placehold.co/140x56?text=Civic%20Counsel&font=oswald" alt="Civic Counsel logo" style="width:140px;margin-bottom:16px;">
<p>Civic Counsel provides legal information, political analysis, civic legal aid, and government affairs resources for a government in motion.</p>
</div>
<div>
<h4>Resources</h4>
<a href="#">Legal Aid</a>
<a href="#">Research</a>
<a href="#">Events</a>
<a href="#">Legislation</a>
</div>
<div>
<h4>Contact</h4>
<p>400 Civic Square, Suite 200<br>Washington, DC 20001<br>(202) 555-0147<br>hello@civiccounsel.example</p>
</div>
</div>
<div class="container footer-bottom">
<p>© <span id="year"></span> Civic Counsel. All rights reserved.</p>
<div class="footer-links">
<a href="#">Privacy Policy</a>
<a href="#">Terms of Service</a>
<a href="#">Disclaimer</a>
</div>
<div class="social">
<a href="#">Twitter</a>
<a href="#">Facebook</a>
<a href="#">LinkedIn</a>
<a href="#">YouTube</a>
</div>
</div>
</footer>
<script>
const filterButtons = document.querySelectorAll('.filter-btn');
const bills = document.querySelectorAll('.bill-card');
filterButtons.forEach(button => {
button.addEventListener('click', () => {
filterButtons.forEach(btn => btn.classList.remove('active'));
button.classList.add('active');
const filter = button.dataset.filter;
bills.forEach(card => {
const status = card.dataset.status;
if (filter === 'all' || status === filter) {
card.style.display = '';
} else {
card.style.display = 'none';
}
});
});
});
document.getElementById('year').textContent = new Date().getFullYear();
</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-12T10:13:24.545Z",
"url": "https://benchmark.aimac.invalid/f1f01f46b2d7f4eff0015fa3af3f6e591489ed31d9f7144f06315f92484666f2.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": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": []
},
{
"id": "form-field-multiple-labels",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag332",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.3.3.2"
],
"description": "Ensure form field does not have multiple label elements",
"help": "Form field must not have multiple label elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "label",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every form element has a label",
"help": "Form elements must have labels",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
"nodes": []
},
{
"id": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "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 class=\"main-nav\" aria-label=\"Primary\">\n <a href=\"#\" class=\"active\">Home</a>\n <a href=\"#\">Legal Aid</a>\n <a href=\"#\">Research</a>\n <a href=\"#\">Events</a>\n <a href=\"#\">Legislation</a>\n <a href=\"#\">Advocacy</a>\n <a href=\"#\">About</a>\n </nav>",
"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 class=\"main-nav\" aria-label=\"Primary\">\n <a href=\"#\" class=\"active\">Home</a>\n <a href=\"#\">Legal Aid</a>\n <a href=\"#\">Research</a>\n <a href=\"#\">Events</a>\n <a href=\"#\">Legislation</a>\n <a href=\"#\">Advocacy</a>\n <a href=\"#\">About</a>\n </nav>",
"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": 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": "<nav class=\"main-nav\" aria-label=\"Primary\">\n <a href=\"#\" class=\"active\">Home</a>\n <a href=\"#\">Legal Aid</a>\n <a href=\"#\">Research</a>\n <a href=\"#\">Events</a>\n <a href=\"#\">Legislation</a>\n <a href=\"#\">Advocacy</a>\n <a href=\"#\">About</a>\n </nav>",
"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 class=\"main-nav\" aria-label=\"Primary\">\n <a href=\"#\" class=\"active\">Home</a>\n <a href=\"#\">Legal Aid</a>\n <a href=\"#\">Research</a>\n <a href=\"#\">Events</a>\n <a href=\"#\">Legislation</a>\n <a href=\"#\">Advocacy</a>\n <a href=\"#\">About</a>\n </nav>",
"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 class=\"main-nav\" aria-label=\"Primary\">\n <a href=\"#\" class=\"active\">Home</a>\n <a href=\"#\">Legal Aid</a>\n <a href=\"#\">Research</a>\n <a href=\"#\">Events</a>\n <a href=\"#\">Legislation</a>\n <a href=\"#\">Advocacy</a>\n <a href=\"#\">About</a>\n </nav>",
"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": "<img src=\"https://placehold.co/140x56?text=Civic%20Counsel&font=oswald\" alt=\"Civic Counsel logo\" style=\"width:140px;margin-bottom:16px;\">",
"target": [
"div:nth-child(1) > img[alt=\"Civic Counsel logo\"]"
]
}
]
},
{
"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=\"filter-btn active\" data-filter=\"all\">All</button>",
"target": [
"button[data-filter=\"all\"]"
]
}
]
},
{
"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": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1>Clarity for the Courtroom. Courage for the Cause.</h1>",
"target": [
"h1"
]
},
{
"html": "<h3>Legal Clarity</h3>",
"target": [
".feature:nth-child(1) > h3"
]
},
{
"html": "<h3>Political Insight</h3>",
"target": [
".feature:nth-child(2) > h3"
]
},
{
"html": "<h3>Action Ready</h3>",
"target": [
".feature:nth-child(3) > h3"
]
},
{
"html": "<h2>Political Analysis & Public Policy</h2>",
"target": [
"#political-analysis > .split.container > .split-content > h2"
]
},
{
"html": "<h2>Legal Resources & Civic Legal Aid</h2>",
"target": [
"#legal-resources > .split.container > .split-content > h2"
]
},
{
"html": "<h2>Public Interest Advocacy & Lobbying</h2>",
"target": [
"#public-interest > .split.container > .split-content > h2"
]
},
{
"html": "<h2>Government Affairs & Institutional Intelligence</h2>",
"target": [
"#government-affairs > .split.container > .split-content > h2"
]
},
{
"html": "<h2>Interactive Legislation Tracker</h2>",
"target": [
".tracker > h2"
]
},
{
"html": "<h3>Justice Data Transparency Act</h3>",
"target": [
"div[data-status=\"introduced\"] > h3"
]
},
{
"html": "<h3>Civic Media Fairness Act</h3>",
"target": [
"div[data-status=\"committee\"] > h3"
]
},
{
"html": "<h3>Clean Water Funding Amendment</h3>",
"target": [
"div[data-status=\"passed\"] > h3"
]
},
{
"html": "<h3>Public Records Modernization Act</h3>",
"target": [
"div[data-status=\"on-hold\"] > h3"
]
},
{
"html": "<h2>What Partners Say</h2>",
"target": [
"#testimonials > .container > h2"
]
},
{
"html": "<h2>Frequently Asked Questions</h2>",
"target": [
"#faq > .container > h2"
]
},
{
"html": "<h3>Action Alerts</h3>",
"target": [
".side-card:nth-child(1) > h3"
]
},
{
"html": "<h3>Community Events</h3>",
"target": [
".side-card:nth-child(2) > h3"
]
},
{
"html": "<h3>Research Reports</h3>",
"target": [
".side-card:nth-child(3) > h3"
]
},
{
"html": "<h2>Get Involved. Stay Informed. Access Justice.</h2>",
"target": [
".cta-band > .container > h2"
]
},
{
"html": "<h4>Resources</h4>",
"target": [
"div:nth-child(2) > h4"
]
},
{
"html": "<h4>Contact</h4>",
"target": [
"div:nth-child(3) > h4"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main>",
"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": "#ffffff",
"bgColor": "#162542",
"contrastRatio": 15.24,
"fontSize": "19.2pt (25.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 15.24"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<span class=\"brand-name\">Civic Counsel</span>",
"target": [
".brand-name"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "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/140x56?text=Civic%20Counsel&font=oswald\" alt=\"Civic Counsel logo\" class=\"logo\">",
"target": [
".logo"
]
}
]
},
{
"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=\"brand\">",
"target": [
".brand"
]
}
]
},
{
"id": "list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "only-listitems",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List element only has direct children that are allowed inside <li> elements"
}
],
"impact": null,
"html": "<ul class=\"hero-points\">\n <li>Legal Analysis</li>\n <li>Legislative Tracking</li>\n <li>Civic Action</li>\n </ul>",
"target": [
".hero-points"
]
}
]
},
{
"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>Legal Analysis</li>",
"target": [
".hero-points > 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/140x56?text=Civic%20Counsel&font=oswald\" alt=\"Civic Counsel logo\" class=\"logo\">",
"target": [
".logo"
]
}
]
},
{
"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 lobbying and advocacy?</summary>",
"target": [
"details:nth-child(1) > 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": 408.3,
"height": 82.6
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (408.3px by 82.6px, 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=\"brand\">",
"target": [
".brand"
]
}
]
}
],
"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": "9.6pt (12.8px)",
"fontWeight": "bold",
"messageKey": "bgGradient",
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"hero\">",
"target": [
".hero"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a background gradient"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"eyebrow\">Law \u00b7 Government \u00b7 Politics</span>",
"target": [
".hero-copy > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a background gradient"
}
]
}
],
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c9a227",
"bgColor": "#f7f5f0",
"contrastRatio": 2.22,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.22 (foreground color: #c9a227, background color: #f7f5f0, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"eyebrow\">Policy</span>",
"target": [
"#political-analysis > .split.container > .split-content > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.22 (foreground color: #c9a227, background color: #f7f5f0, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c9a227",
"bgColor": "#ffffff",
"contrastRatio": 2.41,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section id=\"legal-resources\" class=\"section alt\">",
"target": [
"#legal-resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #c9a227, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"eyebrow\">Legal Aid</span>",
"target": [
"#legal-resources > .split.container > .split-content > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #c9a227, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c9a227",
"bgColor": "#f7f5f0",
"contrastRatio": 2.22,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.22 (foreground color: #c9a227, background color: #f7f5f0, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"eyebrow\">Advocacy</span>",
"target": [
"#public-interest > .split.container > .split-content > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.22 (foreground color: #c9a227, background color: #f7f5f0, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c9a227",
"bgColor": "#ffffff",
"contrastRatio": 2.41,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section id=\"government-affairs\" class=\"section alt\">",
"target": [
"#government-affairs"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #c9a227, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"eyebrow\">Government</span>",
"target": [
"#government-affairs > .split.container > .split-content > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #c9a227, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0f1f3d",
"bgColor": "#1d2c49",
"contrastRatio": 1.17,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bill-card\" data-status=\"introduced\">",
"target": [
"div[data-status=\"introduced\"]"
]
},
{
"html": "<div class=\"tracker\">",
"target": [
".tracker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h3>Justice Data Transparency Act</h3>",
"target": [
"div[data-status=\"introduced\"] > h3"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0f1f3d",
"bgColor": "#1d2c49",
"contrastRatio": 1.17,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bill-card\" data-status=\"committee\">",
"target": [
"div[data-status=\"committee\"]"
]
},
{
"html": "<div class=\"tracker\">",
"target": [
".tracker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h3>Civic Media Fairness Act</h3>",
"target": [
"div[data-status=\"committee\"] > h3"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0f1f3d",
"bgColor": "#1d2c49",
"contrastRatio": 1.17,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bill-card\" data-status=\"passed\">",
"target": [
"div[data-status=\"passed\"]"
]
},
{
"html": "<div class=\"tracker\">",
"target": [
".tracker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h3>Clean Water Funding Amendment</h3>",
"target": [
"div[data-status=\"passed\"] > h3"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0f1f3d",
"bgColor": "#1d2c49",
"contrastRatio": 1.17,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"bill-card\" data-status=\"on-hold\">",
"target": [
"div[data-status=\"on-hold\"]"
]
},
{
"html": "<div class=\"tracker\">",
"target": [
".tracker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h3>Public Records Modernization Act</h3>",
"target": [
"div[data-status=\"on-hold\"] > h3"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.17 (foreground color: #0f1f3d, background color: #1d2c49, font size: 18.0pt (24px), font weight: bold). Expected contrast ratio of 3:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 8107
},
{
"y": 576,
"height": 8107
},
{
"y": 1152,
"height": 8107
},
{
"y": 1728,
"height": 8107
},
{
"y": 2304,
"height": 8107
},
{
"y": 2880,
"height": 8107
},
{
"y": 3456,
"height": 8107
},
{
"y": 4032,
"height": 8107
},
{
"y": 4608,
"height": 8107
},
{
"y": 5184,
"height": 8107
},
{
"y": 5760,
"height": 8107
},
{
"y": 6336,
"height": 8107
},
{
"y": 6912,
"height": 8107
},
{
"y": 7387,
"height": 8107
}
],
"scans": 15,
"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 "Law, Government, & Politics" 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: "Law, Government, & Politics"
- Description: Legal information, political organizations, government affairs, and civic engagement resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Law, Government, & Politics" 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: "Legal Aid", "Research", "Events".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Law, Government, & Politics" category. Consider themes similar to: "Political Analysis", "Public Interest", "Legal Resources".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "lobbying", "jurisdiction", "ballot measure".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Share", "Get Legal Aid", "Sign Petition".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Law, Government, & Politics" sector. Ideas similar but not limited to: "legislation tracker".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "action alerts", "community events", "research reports".
- **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.