Anthropic Claude Haiku 5.5 – Technology and Computing
via Anthropic · Generated
- AIMAC Debt 0.00
- Cost $0.011
- Total Violations 0
- HTML Size 50 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>Kernelwise | Tested Tech, Plainly Explained</title>
<meta name="description" content="Kernelwise delivers independent hardware reviews, software analysis, practical troubleshooting guides, and security tips for everyday computing.">
<style>
:root {
--ink: #0f172a;
--ink-soft: #334155;
--muted: #64748b;
--line: #e2e8f0;
--bg: #f8fafc;
--card: #ffffff;
--brand: #4f46e5;
--brand-dark: #3730a3;
--accent: #06b6d4;
--success: #059669;
--warn: #d97706;
--radius: 14px;
--shadow: 0 1px 2px rgba(15,23,42,.06), 0 8px 24px rgba(15,23,42,.06);
--maxw: 1200px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: "Source Sans 3", "Source Sans Pro", "Segoe UI", Roboto, Arial, sans-serif;
color: var(--ink-soft);
background: var(--bg);
line-height: 1.65;
font-size: 17px;
}
img { max-width: 100%; display: block; }
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4 { color: var(--ink); line-height: 1.2; font-family: "Poppins", "Segoe UI", sans-serif; }
h1 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); letter-spacing: -0.01em; }
h3 { font-size: 1.2rem; }
p + p { margin-top: 1em; }
.container { width: min(var(--maxw), 92%); margin-inline: auto; }
.section { padding: 72px 0; }
.section-head { max-width: 720px; margin-bottom: 36px; }
.eyebrow {
display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .12em;
text-transform: uppercase; color: var(--brand); margin-bottom: 10px;
}
.section-head p { margin-top: 12px; color: var(--muted); }
/* Buttons */
.btn {
display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px;
border-radius: 10px; font-weight: 600; font-size: .98rem; border: 2px solid transparent;
cursor: pointer; transition: all .2s ease; font-family: inherit;
}
.btn-primary { background: var(--brand); color: #fff; }
.btn-primary:hover { background: var(--brand-dark); text-decoration: none; }
.btn-outline { background: transparent; color: var(--brand); border-color: var(--brand); }
.btn-outline:hover { background: var(--brand); color: #fff; text-decoration: none; }
.btn-light { background: #fff; color: var(--brand-dark); }
.btn-light:hover { background: #eef2ff; text-decoration: none; }
.link-cta { font-weight: 600; color: var(--brand); display: inline-flex; gap: 6px; align-items: center; }
.link-cta:hover { text-decoration: underline; }
/* Header */
.site-header {
position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92);
backdrop-filter: blur(10px); border-bottom: 1px solid var(--line);
}
.topbar {
display: flex; align-items: center; justify-content: space-between; gap: 24px;
padding: 14px 0;
}
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); }
.brand:hover { text-decoration: none; }
.brand img { width: 46px; height: 46px; border-radius: 12px; }
.brand-name { font-family: "Poppins", sans-serif; font-weight: 700; font-size: 1.35rem; line-height: 1.1; }
.brand-tag { font-size: .85rem; color: var(--muted); }
.header-actions { display: flex; gap: 10px; align-items: center; }
.nav {
border-top: 1px solid var(--line); background: #fff;
}
.nav ul {
list-style: none; display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 8px 0;
}
.nav a {
display: block; padding: 8px 14px; border-radius: 8px; color: var(--ink-soft);
font-weight: 600; font-size: .95rem;
}
.nav a:hover, .nav a.active { background: #eef2ff; color: var(--brand-dark); text-decoration: none; }
/* Hero */
.hero {
background: radial-gradient(1200px 500px at 85% -10%, #c7d2fe 0%, transparent 60%),
radial-gradient(900px 500px at -10% 110%, #a5f3fc 0%, transparent 55%),
#fff;
padding: 80px 0 64px;
border-bottom: 1px solid var(--line);
}
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.hero h1 span { color: var(--brand); }
.hero-lead { font-size: 1.15rem; margin: 20px 0 30px; max-width: 560px; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 32px; margin-top: 40px; }
.hero-stats strong { display: block; font-family: "Poppins", sans-serif; font-size: 1.6rem; color: var(--ink); }
.hero-stats span { font-size: .9rem; color: var(--muted); }
.hero-media { position: relative; }
.hero-media img {
width: 100%; height: 440px; object-fit: cover; border-radius: 22px; box-shadow: 0 30px 60px -20px rgba(79,70,229,.35);
}
.floating-card {
position: absolute; left: -28px; bottom: 36px; background: #fff; border-radius: 14px;
padding: 16px 18px; box-shadow: var(--shadow); display: flex; gap: 12px; align-items: center; max-width: 280px;
}
.floating-card img { width: 44px; height: 44px; border-radius: 50%; }
.floating-card p { font-size: .9rem; line-height: 1.4; margin: 0; }
.floating-card small { color: var(--muted); }
/* Layout with sidebar */
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; }
.sidebar { position: sticky; top: 150px; display: flex; flex-direction: column; gap: 22px; }
.widget { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px; }
.widget h3 { font-size: 1.05rem; margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; }
.widget h3 small { font-weight: 500; font-size: .75rem; color: var(--muted); }
.widget ul { list-style: none; }
.widget li { padding: 12px 0; border-bottom: 1px dashed var(--line); }
.widget li:last-child { border-bottom: 0; padding-bottom: 0; }
.widget li:first-child { padding-top: 0; }
.version-tag {
display: inline-block; font-size: .72rem; font-weight: 700; padding: 2px 8px; border-radius: 6px;
background: #d1fae5; color: #065f46; margin-right: 6px;
}
.version-tag.beta { background: #fef3c7; color: #92400e; }
.widget li a { color: var(--ink); font-weight: 600; font-size: .95rem; line-height: 1.35; }
.widget li small { display: block; color: var(--muted); font-size: .82rem; margin-top: 3px; }
.trend-list { counter-reset: trend; }
.trend-list li { display: flex; gap: 12px; align-items: flex-start; counter-increment: trend; }
.trend-list li::before {
content: counter(trend); flex: 0 0 26px; height: 26px; border-radius: 8px; background: #eef2ff; color: var(--brand-dark);
font-weight: 700; font-size: .8rem; display: grid; place-items: center; margin-top: 2px;
}
.pick { display: flex; gap: 12px; align-items: center; }
.pick img { width: 64px; height: 48px; object-fit: cover; border-radius: 8px; flex: 0 0 64px; }
.pick .stars { color: #f59e0b; font-size: .85rem; letter-spacing: 1px; }
.widget-cta { margin-top: 16px; width: 100%; justify-content: center; }
.newsletter input {
width: 100%; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; font: inherit; margin-bottom: 10px;
}
.newsletter p { font-size: .9rem; color: var(--muted); margin-bottom: 12px; }
/* Review grid */
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.card {
background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden;
display: flex; flex-direction: column; transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -16px rgba(15,23,42,.25); }
.card img { width: 100%; height: 190px; object-fit: cover; }
.card-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.card-meta { display: flex; justify-content: space-between; align-items: center; font-size: .8rem; color: var(--muted); margin-bottom: 8px; }
.badge { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 4px 9px; border-radius: 999px; background: #eef2ff; color: var(--brand-dark); }
.badge.green { background: #d1fae5; color: #065f46; }
.badge.amber { background: #fef3c7; color: #92400e; }
.score { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--ink); }
.score b { background: var(--ink); color: #fff; padding: 2px 8px; border-radius: 6px; font-size: .9rem; }
.card p { font-size: .95rem; color: var(--ink-soft); margin: 8px 0 16px; }
.card .link-cta { margin-top: auto; }
/* Feature band */
.features { background: #fff; border-block: 1px solid var(--line); }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.feature {
padding: 28px; border-radius: var(--radius); background: var(--bg); border: 1px solid var(--line);
}
.feature .icon {
width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center;
background: linear-gradient(135deg, var(--brand), var(--accent)); color: #fff; font-size: 1.2rem; margin-bottom: 16px;
}
.feature p { font-size: .95rem; margin-top: 8px; }
/* Spec finder */
.finder {
background: linear-gradient(135deg, #1e1b4b 0%, #312e81 60%, #155e75 100%);
color: #e0e7ff; border-radius: 22px; padding: 44px; box-shadow: 0 30px 60px -30px rgba(30,27,75,.6);
}
.finder h2, .finder h3 { color: #fff; }
.finder .eyebrow { color: #a5b4fc; }
.finder-grid { display: grid; grid-template-columns: 340px 1fr; gap: 36px; align-items: start; }
.finder form { display: grid; gap: 16px; }
.finder label { font-size: .9rem; font-weight: 600; display: block; margin-bottom: 6px; color: #c7d2fe; }
.finder select {
width: 100%; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(255,255,255,.2);
background: rgba(255,255,255,.08); color: #fff; font: inherit; appearance: auto;
}
.finder select option { color: var(--ink); }
.finder .btn-primary { background: #fff; color: var(--brand-dark); justify-content: center; }
.finder .btn-primary:hover { background: #e0e7ff; }
.finder-note { font-size: .85rem; color: #a5b4fc; margin-top: 4px; }
.results { display: grid; gap: 16px; }
.result {
background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 14px;
padding: 18px; display: grid; grid-template-columns: 110px 1fr auto; gap: 18px; align-items: center;
}
.result img { width: 110px; height: 80px; object-fit: cover; border-radius: 10px; }
.result h3 { font-size: 1.05rem; }
.result p { font-size: .9rem; color: #c7d2fe; margin-top: 4px; }
.result .match { font-size: .8rem; color: #a7f3d0; font-weight: 700; }
.result .price { font-family: "Poppins", sans-serif; font-weight: 700; color: #fff; font-size: 1.15rem; text-align: right; }
.result a { color: #a5f3fc; font-weight: 600; font-size: .9rem; }
.empty { padding: 30px; text-align: center; border: 1px dashed rgba(255,255,255,.3); border-radius: 14px; color: #c7d2fe; }
/* Guides */
.guide-list { display: grid; gap: 24px; }
.guide {
display: grid; grid-template-columns: 300px 1fr; gap: 28px; background: var(--card);
border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; align-items: start;
}
.guide img { width: 100%; height: 100%; min-height: 200px; object-fit: cover; border-radius: 10px; }
.guide h3 { font-size: 1.35rem; margin: 6px 0 10px; }
.guide-meta { font-size: .85rem; color: var(--muted); display: flex; gap: 16px; flex-wrap: wrap; }
.steps { list-style: none; counter-reset: step; margin: 16px 0; display: grid; gap: 10px; }
.steps li {
counter-increment: step; position: relative; padding-left: 44px; font-size: .97rem;
}
.steps li::before {
content: counter(step); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%;
background: var(--brand); color: #fff; font-weight: 700; font-size: .85rem; display: grid; place-items: center;
}
.code {
font-family: "JetBrains Mono", Consolas, monospace; background: #0f172a; color: #a5f3fc;
padding: 12px 14px; border-radius: 10px; font-size: .85rem; overflow-x: auto; margin: 12px 0;
}
.callout {
border-left: 4px solid var(--warn); background: #fffbeb; padding: 12px 16px; border-radius: 8px; font-size: .94rem; margin-top: 14px;
}
/* Security */
.security-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.security-wrap img { border-radius: 18px; width: 100%; height: 100%; object-fit: cover; min-height: 340px; }
.check-list { list-style: none; display: grid; gap: 14px; margin: 20px 0; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; }
.check-list li::before {
content: "✓"; flex: 0 0 24px; height: 24px; border-radius: 50%; background: #d1fae5; color: var(--success);
font-weight: 700; display: grid; place-items: center; font-size: .85rem; margin-top: 2px;
}
details {
background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin-bottom: 12px;
}
details[open] { box-shadow: var(--shadow); }
summary {
cursor: pointer; font-weight: 600; color: var(--ink); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; font-size: 1.4rem; color: var(--brand); line-height: 1; transition: transform .2s; }
details[open] summary::after { content: "–"; }
details p { margin-top: 12px; font-size: .96rem; }
/* Testimonials */
.testimonials { background: #fff; border-block: 1px solid var(--line); }
.quote-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.quote {
background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; display: flex; flex-direction: column; gap: 18px;
}
.quote blockquote { font-size: 1rem; color: var(--ink-soft); font-style: italic; position: relative; }
.quote blockquote::before { content: "“"; font-size: 3rem; color: #c7d2fe; line-height: 0; position: absolute; top: 18px; left: -6px; font-family: Georgia, serif; }
.quote blockquote { padding-top: 14px; }
.quote-author { display: flex; gap: 12px; align-items: center; margin-top: auto; }
.quote-author img { width: 48px; height: 48px; border-radius: 50%; }
.quote-author strong { display: block; color: var(--ink); font-size: .98rem; }
.quote-author span { font-size: .85rem; color: var(--muted); }
/* Forum band */
.forum-band {
background: var(--ink); color: #cbd5e1; border-radius: 22px; padding: 48px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; align-items: center;
}
.forum-band h2 { color: #fff; }
.forum-band .eyebrow { color: #67e8f9; }
.threads { list-style: none; display: grid; gap: 12px; }
.threads li {
background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 14px 16px;
display: flex; justify-content: space-between; gap: 12px; align-items: center; font-size: .92rem;
}
.threads a { color: #fff; font-weight: 600; }
.threads small { color: #94a3b8; display: block; }
.threads .replies { font-size: .8rem; background: rgba(103,232,249,.15); color: #67e8f9; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.forum-band .btn-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.forum-band .btn-outline { color: #fff; border-color: rgba(255,255,255,.5); }
.forum-band .btn-outline:hover { background: #fff; color: var(--ink); }
/* Footer */
.site-footer { background: #0b1120; color: #94a3b8; padding: 64px 0 28px; margin-top: 80px; font-size: .95rem; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; }
.site-footer h4 { color: #fff; font-size: 1rem; margin-bottom: 16px; }
.site-footer ul { list-style: none; display: grid; gap: 10px; }
.site-footer a { color: #cbd5e1; }
.site-footer a:hover { color: #fff; }
.footer-brand { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.footer-brand img { width: 42px; height: 42px; border-radius: 10px; }
.footer-brand strong { color: #fff; font-family: "Poppins", sans-serif; font-size: 1.2rem; }
.socials { display: flex; gap: 10px; margin-top: 18px; }
.socials a {
width: 40px; height: 40px; border-radius: 10px; background: rgba(255,255,255,.07); display: grid; place-items: center; color: #e2e8f0; font-weight: 700; font-size: .85rem;
}
.socials a:hover { background: var(--brand); text-decoration: none; }
.newsletter-footer { display: flex; gap: 8px; margin-top: 12px; }
.newsletter-footer input {
flex: 1; padding: 11px 12px; border-radius: 9px; border: 1px solid #1e293b; background: #111827; color: #fff; font: inherit; min-width: 0;
}
.footer-bottom {
margin-top: 48px; padding-top: 22px; border-top: 1px solid #1e293b; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; font-size: .88rem;
}
.footer-bottom nav { display: flex; gap: 20px; flex-wrap: wrap; }
/* Responsive */
@media (max-width: 1080px) {
.content-layout { grid-template-columns: 1fr; }
.sidebar { position: static; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.finder-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
.hero-grid, .security-wrap, .forum-band { grid-template-columns: 1fr; }
.feature-grid, .quote-grid { grid-template-columns: 1fr; }
.hero-media img { height: 320px; }
.floating-card { left: 12px; bottom: 12px; }
.guide { grid-template-columns: 1fr; }
.guide img { min-height: 180px; height: 200px; }
.header-actions .btn-outline { display: none; }
}
@media (max-width: 640px) {
.brand-tag { display: none; }
.nav ul { flex-wrap: nowrap; overflow-x: auto; }
.nav a { white-space: nowrap; }
.finder { padding: 26px; }
.result { grid-template-columns: 1fr; }
.result .price { text-align: left; }
.footer-grid { grid-template-columns: 1fr; }
.section { padding: 56px 0; }
}
</style>
</head>
<body>
<!-- ============ HEADER ============ -->
<header class="site-header">
<div class="container topbar">
<a href="#top" class="brand" aria-label="Kernelwise home">
<img src="https://placehold.co/96x96/4f46e5/ffffff?text=KW&font=montserrat" alt="Kernelwise logo">
<div>
<div class="brand-name">Kernelwise</div>
<div class="brand-tag">Tested Tech, Plainly Explained</div>
</div>
</a>
<div class="header-actions">
<a href="#guides" class="btn btn-outline">Get Support</a>
<a href="#forums" class="btn btn-primary">Join Forum</a>
</div>
</div>
<nav class="nav" aria-label="Primary navigation">
<div class="container">
<ul>
<li><a href="#reviews" class="active">Reviews</a></li>
<li><a href="#news">Tech News</a></li>
<li><a href="#finder">Spec Finder</a></li>
<li><a href="#guides">How-To Guides</a></li>
<li><a href="#security">Security</a></li>
<li><a href="#forums">Forums</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
</nav>
</header>
<main id="top">
<!-- ============ HERO ============ -->
<section class="hero">
<div class="container hero-grid">
<div>
<span class="eyebrow">Independent Testing Lab</span>
<h1>Know exactly what your <span>hardware can do</span> before you buy.</h1>
<p class="hero-lead">
Kernelwise runs every laptop, desktop, router, and software release through a repeatable test suite covering
thermal throttling, input latency, battery drain, and real-world application performance. We publish what we
measure, including the parts that disappoint, so you can make a confident purchase and keep your systems running well.
</p>
<div class="hero-ctas">
<a href="#reviews" class="btn btn-primary">Read Latest Reviews</a>
<a href="#finder" class="btn btn-outline">Launch Spec Finder</a>
</div>
<div class="hero-stats">
<div><strong>1,800+</strong><span>Devices tested in our lab</span></div>
<div><strong>240K</strong><span>Monthly community members</span></div>
<div><strong>96%</strong><span>Readers who said guides solved their issue</span></div>
</div>
</div>
<div class="hero-media">
<img src="https://picsum.photos/seed/kernelwise-lab/900/700" alt="Engineer inspecting a laptop motherboard on a testing bench">
<div class="floating-card">
<img src="https://i.pravatar.cc/96?u=kw-editor-mara" alt="Mara Ellison, Lead Hardware Editor">
<p><strong>“Thermal data never lies.”</strong><br><small>Mara Ellison, Lead Hardware Editor</small></p>
</div>
</div>
</div>
</section>
<!-- ============ FEATURE HIGHLIGHTS ============ -->
<section class="section features" aria-labelledby="features-title">
<div class="container">
<div class="section-head">
<span class="eyebrow">Why Kernelwise</span>
<h2 id="features-title">Reviews built on measurement, not marketing</h2>
<p>Every verdict is backed by data we collect ourselves and explain in plain language, so you understand the trade-offs behind every score.</p>
</div>
<div class="feature-grid">
<article class="feature">
<div class="icon">⚙</div>
<h3>Reproducible Test Suites</h3>
<p>We run identical benchmark sequences on every device, controlling ambient temperature, background processes, and power profiles. Results are logged, versioned, and published alongside each review so you can verify our methodology.</p>
</article>
<article class="feature">
<div class="icon">🔒</div>
<h3>Security-First Analysis</h3>
<p>Our reviewers audit firmware update policies, default network exposure, encryption support, and vendor patch cadence. A fast device that ships with an unpatched service is not a good device, and our scores reflect that.</p>
</article>
<article class="feature">
<div class="icon">🛠</div>
<h3>Guides That Actually Resolve Issues</h3>
<p>Each troubleshooting article follows a diagnose, isolate, fix, and verify structure. We reproduce every failure before writing the solution and note the OS versions and hardware revisions where each fix was confirmed.</p>
</article>
</div>
</div>
</section>
<!-- ============ MAIN CONTENT + SIDEBAR ============ -->
<div class="section" style="padding-bottom:0">
<div class="container content-layout">
<div class="main-column">
<!-- Reviews -->
<section id="reviews" aria-labelledby="reviews-title">
<div class="section-head">
<span class="eyebrow">Hardware & Software Reviews</span>
<h2 id="reviews-title">This month's most important verdicts</h2>
<p>From ultrabooks engineered for sustained workloads to operating system releases that change how you manage security, these are the reviews our readers are talking about most.</p>
</div>
<div class="card-grid">
<article class="card">
<img src="https://placehold.co/800x450/1e293b/e2e8f0?text=Aurora+Book+14&font=montserrat" alt="Aurora Book 14 ultrabook on a desk">
<div class="card-body">
<div class="card-meta"><span class="badge">Laptop</span><span class="score"><b>8.9</b> Editor's Choice</span></div>
<h3>Aurora Book 14 Review</h3>
<p>A lightweight aluminum chassis with a 14-inch 2.8K panel and a cooling design that holds clock speeds for over 40 minutes under sustained load. Battery life stays strong even with heavy browser sessions.</p>
<a href="#finder" class="link-cta">Read Review →</a>
</div>
</article>
<article class="card">
<img src="https://placehold.co/800x450/312e81/e0e7ff?text=Forge+Pro+16&font=montserrat" alt="Forge Pro 16 workstation laptop">
<div class="card-body">
<div class="card-meta"><span class="badge amber">Workstation</span><span class="score"><b>7.8</b> Recommended</span></div>
<h3>Forge Pro 16 Review</h3>
<p>Raw GPU performance is excellent for rendering and 3D pipelines, but the fan curve is aggressive and sustained single-core latency spikes appear during background indexing. We explain when the trade-off is worth it.</p>
<a href="#reviews" class="link-cta">Read Review →</a>
</div>
</article>
<article class="card">
<img src="https://placehold.co/800x450/064e3b/d1fae5?text=Lumen+Mini+PC&font=montserrat" alt="Lumen Mini compact desktop PC">
<div class="card-body">
<div class="card-meta"><span class="badge green">Desktop</span><span class="score"><b>8.4</b> Best Value</span></div>
<h3>Lumen Mini PC Review</h3>
<p>A 1-liter form factor that handles office suites, video calls, and light photo editing without fan noise. Expansion is limited, but the included USB4 ports make it a strong home-office anchor.</p>
<a href="#reviews" class="link-cta">Read Review →</a>
</div>
</article>
<article class="card">
<img src="https://placehold.co/800x450/7c2d12/ffedd5?text=OS+Release+Review&font=montserrat" alt="Operating system release notes on screen">
<div class="card-body">
<div class="card-meta"><span class="badge">Software</span><span class="score"><b>8.1</b> Worth Upgrading</span></div>
<h3>Desktop OS 25H2 Review</h3>
<p>The update improves memory compression, tightens default privacy controls, and reduces boot times on NVMe systems. We also document two driver regressions and the workarounds that resolved them.</p>
<a href="#reviews" class="link-cta">Read Review →</a>
</div>
</article>
</div>
</section>
<!-- Spec Finder -->
<section id="finder" class="section" style="padding-inline:0; padding-top:72px" aria-labelledby="finder-title">
<div class="finder">
<div class="section-head" style="margin-bottom:28px">
<span class="eyebrow">Interactive Tool</span>
<h2 id="finder-title" style="color:#fff">Spec Finder: match hardware to your workload</h2>
<p style="color:#c7d2fe">Tell us your budget, primary task, and operating system. The finder scores every device in our lab database against your requirements, weighting sustained performance, battery endurance, and update support.</p>
</div>
<div class="finder-grid">
<form id="specForm" novalidate>
<div>
<label for="budget">Maximum budget (USD)</label>
<select id="budget" name="budget">
<option value="500">Up to $500</option>
<option value="900">Up to $900</option>
<option value="1300" selected>Up to $1,300</option>
<option value="2000">Up to $2,000</option>
<option value="5000">$2,000 and above</option>
</select>
</div>
<div>
<label for="usecase">Primary use case</label>
<select id="usecase" name="usecase">
<option value="office">Office & productivity</option>
<option value="creative">Creative production</option>
<option value="gaming">Gaming</option>
<option value="dev">Software development</option>
<option value="school">Study & note-taking</option>
</select>
</div>
<div>
<label for="os">Operating system</label>
<select id="os" name="os">
<option value="any">No preference</option>
<option value="windows">Windows</option>
<option value="linux">Linux</option>
<option value="chromeos">ChromeOS</option>
<option value="android">Android</option>
</select>
</div>
<button type="submit" class="btn btn-primary">Find My Match</button>
<p class="finder-note">Results update instantly. Prices reflect our last verified lab check.</p>
</form>
<div>
<div id="results" class="results" aria-live="polite"></div>
</div>
</div>
</div>
</section>
<!-- Guides -->
<section id="guides" class="section" style="padding-inline:0" aria-labelledby="guides-title">
<div class="section-head">
<span class="eyebrow">Troubleshooting & How-To</span>
<h2 id="guides-title">Step-by-step fixes for the problems you actually face</h2>
<p>Each guide was reproduced on live hardware before publication. Follow the steps in order, and use the verification step at the end to confirm the fix worked before moving on.</p>
</div>
<div class="guide-list">
<article class="guide">
<img src="https://picsum.photos/seed/kw-guide-wifi/600/400" alt="Wireless router with network cables">
<div>
<span class="badge green">Networking</span>
<h3>Fixing Intermittent Wi-Fi Drops on Windows and Linux</h3>
<div class="guide-meta"><span>⏱ 12 min read</span><span>Difficulty: Intermediate</span><span>Tested on 3 chipsets</span></div>
<p style="margin-top:14px">Dropped connections are rarely caused by a single fault. Power-saving policies, outdated drivers, and channel congestion all produce similar symptoms, so the diagnostic order matters. Start by identifying whether the drops coincide with sleep transitions or occur randomly under load.</p>
<ol class="steps">
<li>Open a terminal and run <code>ping -t 8.8.8.8</code> (Windows) or <code>ping 8.8.8.8</code> (Linux) during a drop to confirm packet loss rather than DNS failure.</li>
<li>Disable adapter power saving: in Device Manager, uncheck “Allow the computer to turn off this device” under the wireless adapter's Power Management tab.</li>
<li>Switch your router's 5 GHz channel to a non-DFS option such as 36, 40, or 44 to avoid radar-triggered reconnections.</li>
<li>Update the chipset driver directly from the hardware vendor, not through a generic driver catalogue, and reboot before testing.</li>
</ol>
<div class="code">sudo iw dev wlan0 set power_save off</div>
<div class="callout"><strong>Verify:</strong> Run a continuous ping for 30 minutes. Zero dropped packets indicates success. If loss persists, check router firmware before replacing hardware.</div>
<a href="#forums" class="link-cta" style="margin-top:16px">Join Forum Discussion →</a>
</div>
</article>
<article class="guide">
<img src="https://picsum.photos/seed/kw-guide-ssd/600/400" alt="Solid state drive close-up">
<div>
<span class="badge amber">Storage</span>
<h3>Diagnosing Slow SSD Performance Before You Replace It</h3>
<div class="guide-meta"><span>⏱ 9 min read</span><span>Difficulty: Beginner</span><span>NVMe & SATA</span></div>
<p style="margin-top:14px">Many drives reported as failing are actually suffering from full capacity, thermal throttling, or a misconfigured controller mode. Measure first, then decide. Sequential speed tests are useful, but random 4K read latency is the metric that most closely reflects how a system feels during everyday use.</p>
<ol class="steps">
<li>Check SMART health data using your vendor tool or <code>smartctl -a /dev/nvme0</code> to confirm wear level and media errors.</li>
<li>Confirm the drive is not thermally throttling by monitoring temperature under sustained writes; anything above 75°C warrants a heatsink.</li>
<li>Verify that free space remains above 15 percent, since near-full SSDs suffer severe write amplification.</li>
<li>Ensure the storage controller is set to AHCI or NVMe mode in firmware rather than legacy RAID or IDE emulation.</li>
</ol>
<a href="#guides" class="link-cta">Read Full Guide →</a>
</div>
</article>
</div>
</section>
<!-- Security -->
<section id="security" class="section" style="padding-inline:0" aria-labelledby="security-title">
<div class="security-wrap">
<div>
<span class="eyebrow">Security Tips</span>
<h2 id="security-title">Practical security protocols for everyday computing</h2>
<p style="margin-top:16px">Strong security is less about exotic tools and more about consistent habits applied to the systems you already own. Our security desk focuses on controls that meaningfully reduce risk without making your devices unusable, from disk encryption and account hygiene to patch management and network segmentation at home.</p>
<p>Most compromises we investigate begin with reused credentials, unpatched browser extensions, or an exposed remote management port. Addressing those three areas alone blocks the majority of opportunistic attacks.</p>
<ul class="check-list">
<li><span><strong>Enable full-disk encryption</strong> with BitLocker, FileVault, or LUKS and store recovery keys offline.</li>
<li><span><strong>Use a password manager</strong> to generate unique credentials and enforce passkeys where services support them.</li>
<li><span><strong>Enforce automatic updates</strong> for firmware, operating systems, and browsers, reviewing release notes for security advisories.</li>
<li><span><strong>Segment your network</strong> by placing IoT devices and guest traffic on a separate VLAN or SSID.</li>
</ul>
<a href="#contact" class="btn btn-primary">Get Support From Our Security Desk</a>
</div>
<div>
<img src="https://picsum.photos/seed/kw-security/700/600" alt="Padlock icon over a circuit board">
<div style="margin-top:24px">
<details open>
<summary>How often should I rotate my passwords?</summary>
<p>Current guidance from national security agencies recommends changing a password only when there is evidence of compromise, not on a fixed schedule. Prioritize length and uniqueness, and enable multi-factor authentication on accounts holding financial or email data.</p>
</details>
<details>
<summary>Is a VPN necessary for home networks?</summary>
<p>A VPN protects traffic between your device and the VPN endpoint, which is valuable on public Wi-Fi. On a trusted home network the bigger risks are weak router admin credentials and outdated firmware, so fix those first.</p>
</details>
<details>
<summary>What should I do if I suspect malware?</summary>
<p>Disconnect the device from the network, avoid entering credentials on it, and run an offline-capable scanner from a separate clean machine. Back up critical files, then consider a full reinstall from verified installation media rather than attempting partial cleanup.</p>
</details>
</div>
</div>
</div>
</section>
</div>
<!-- SIDEBAR -->
<aside class="sidebar" aria-label="Sidebar">
<section class="widget" id="news">
<h3>Version Updates <small>Last 7 days</small></h3>
<ul>
<li><span class="version-tag">v4.2.1</span><a href="#reviews">Kernel Security Patch Released</a><small>Fixes two privilege escalation flaws. Update recommended.</small></li>
<li><span class="version-tag">v12.0</span><a href="#reviews">Browser Major Release</a><small>Improved tab memory handling and new privacy sandbox controls.</small></li>
<li><span class="version-tag beta">Beta</span><a href="#reviews">Graphics Driver 555.8 Preview</a><small>Targets stutter reduction in Vulkan titles on mid-range GPUs.</small></li>
<li><span class="version-tag">v2.9</span><a href="#reviews">Password Manager Sync Update</a><small>Faster vault sync and expanded passkey support.</small></li>
</ul>
</section>
<section class="widget">
<h3>Trending Topics <small>This week</small></h3>
<ul class="trend-list">
<li><a href="#guides">Wi-Fi 7 mesh routers: worth the upgrade?</a></li>
<li><a href="#guides">Reducing input latency on Windows 11</a></li>
<li><a href="#security">Passkeys vs. authenticator apps</a></li>
<li><a href="#reviews">Why NPUs are suddenly everywhere</a></li>
<li><a href="#forums">Repairable laptops and right-to-repair</a></li>
</ul>
</section>
<section class="widget">
<h3>Community Picks <small>Editor-curated</small></h3>
<ul>
<li class="pick">
<img src="https://picsum.photos/seed/kw-pick1/160/120" alt="Mechanical keyboard">
<div><a href="#reviews">Low-profile mechanical keyboards</a><div class="stars">★★★★★</div><small>Picked by 1,204 members</small></div>
</li>
<li class="pick">
<img src="https://picsum.photos/seed/kw-pick2/160/120" alt="Monitor on a desk">
<div><a href="#reviews">Under-$400 4K monitors</a><div class="stars">★★★★☆</div><small>Picked by 896 members</small></div>
</li>
<li class="pick">
<img src="https://picsum.photos/seed/kw-pick3/160/120" alt="Network switch">
<div><a href="#guides">Home lab starter kits</a><div class="stars">★★★★☆</div><small>Picked by 512 members</small></div>
</li>
</ul>
<a href="#forums" class="btn btn-outline widget-cta">Browse All Picks</a>
</section>
<section class="widget newsletter">
<h3>Weekly Lab Notes</h3>
<p>One email each Thursday with new test results, security advisories, and the guides our team is writing next.</p>
<form onsubmit="event.preventDefault(); this.querySelector('button').textContent='Subscribed ✓';">
<input type="email" placeholder="you@example.com" aria-label="Email address" required>
<button class="btn btn-primary widget-cta" type="submit">Subscribe Free</button>
</form>
</section>
</aside>
</div>
</div>
<!-- ============ TESTIMONIALS ============ -->
<section class="section testimonials" aria-labelledby="testimonials-title" style="margin-top:72px">
<div class="container">
<div class="section-head">
<span class="eyebrow">Community Voices</span>
<h2 id="testimonials-title">Trusted by builders, students, and IT teams</h2>
<p>Our readers use Kernelwise guides to keep home labs running, rescue aging laptops, and deploy secure fleets for small businesses.</p>
</div>
<div class="quote-grid">
<figure class="quote">
<blockquote>The Wi-Fi guide saved me a support call. The steps isolated the power-saving setting in under ten minutes, and the verification section gave me confidence the fix would hold.</blockquote>
<figcaption class="quote-author">
<img src="https://i.pravatar.cc/96?u=kw-reader-daniel" alt="Daniel Okafor">
<div><strong>Daniel Okafor</strong><span>Network Administrator, 40-seat office</span></div>
</figcaption>
</figure>
<figure class="quote">
<blockquote>I was about to buy a new SSD until the diagnostic guide showed my drive was simply throttling at 80°C. A £6 heatsink fixed it. That's the kind of honest advice I come back for.</blockquote>
<figcaption class="quote-author">
<img src="https://i.pravatar.cc/96?u=kw-reader-priya" alt="Priya Raman">
<div><strong>Priya Raman</strong><span>Freelance Video Editor</span></div>
</figcaption>
</figure>
<figure class="quote">
<blockquote>The Spec Finder recommended a machine I had not considered, and the reasoning about sustained thermal performance was exactly what I needed for my development workload.</blockquote>
<figcaption class="quote-author">
<img src="https://i.pravatar.cc/96?u=kw-reader-tomas" alt="Tomás Herrera">
<div><strong>Tomás Herrera</strong><span>Software Engineer</span></div>
</figcaption>
</figure>
</div>
</div>
</section>
<!-- ============ FORUMS / CTA ============ -->
<section id="forums" class="section" aria-labelledby="forum-title" style="padding-top:0">
<div class="container">
<div class="forum-band">
<div>
<span class="eyebrow">Community Forums</span>
<h2 id="forum-title">Ask questions. Share builds. Get answers from people who have done it.</h2>
<p style="margin-top:14px">The Kernelwise forums bring together more than 240,000 members across 60 moderated boards. Reviewers monitor threads daily, and our senior moderators verify every answer marked as a solution before it appears in the knowledge base.</p>
<div class="btn-row">
<a href="#forums" class="btn btn-light">Join Forum</a>
<a href="#forums" class="btn btn-outline">Browse Boards</a>
</div>
</div>
<ul class="threads">
<li><div><a href="#forums">Stable overclock for a 14-core CPU on air cooling?</a><small>Hardware Tuning · 2 hours ago</small></div><span class="replies">48 replies</span></li>
<li><div><a href="#forums">Migrating from Windows to Linux for development</a><small>Software · 5 hours ago</small></div><span class="replies">112 replies</span></li>
<li><div><a href="#forums">Home server RAID: mirror or ZFS?</a><small>Networking & Storage · Yesterday</small></div><span class="replies">76 replies</span></li>
<li><div><a href="#forums">Passkey rollout checklist for small teams</a><small>Security · Yesterday</small></div><span class="replies">31 replies</span></li>
</ul>
</div>
</div>
</section>
<!-- ============ ABOUT / CONTACT ============ -->
<section id="about" class="section" style="padding-top:0" aria-labelledby="about-title">
<div class="container" style="display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center">
<div>
<span class="eyebrow">About Kernelwise</span>
<h2 id="about-title">A small lab with a demanding standard</h2>
<p style="margin-top:16px">Kernelwise was founded in 2015 by a group of systems engineers who grew tired of reviews that reported peak benchmark numbers without mentioning throttling, driver instability, or support lifecycles. Today our 22-person team operates a dedicated test facility with climate-controlled bays, power measurement equipment, and a network testbed.</p>
<p>We accept no payment for placement, purchase every device we review at retail, and disclose any affiliate relationships on the page where they appear. Corrections are published openly in our changelog.</p>
<a href="#contact" class="link-cta" style="margin-top:14px">Contact the Editorial Team →</a>
</div>
<img src="https://picsum.photos/seed/kw-team/800/600" alt="Kernelwise team reviewing test results together" style="border-radius:18px;width:100%;height:100%;object-fit:cover;min-height:340px;box-shadow:var(--shadow)">
</div>
</section>
</main>
<!-- ============ FOOTER ============ -->
<footer id="contact" class="site-footer">
<div class="container">
<div class="footer-grid">
<div>
<div class="footer-brand">
<img src="https://placehold.co/96x96/4f46e5/ffffff?text=KW&font=montserrat" alt="Kernelwise logo">
<strong>Kernelwise</strong>
</div>
<p>Independent hardware testing, software analysis, and practical computing guidance since 2015. Tested Tech, Plainly Explained.</p>
<div class="socials" aria-label="Social media">
<a href="#" aria-label="X (Twitter)">X</a>
<a href="#" aria-label="YouTube">YT</a>
<a href="#" aria-label="LinkedIn">in</a>
<a href="#" aria-label="Mastodon">M</a>
<a href="#" aria-label="GitHub">GH</a>
</div>
</div>
<div>
<h4>Explore</h4>
<ul>
<li><a href="#reviews">Hardware Reviews</a></li>
<li><a href="#news">Version Updates</a></li>
<li><a href="#finder">Spec Finder</a></li>
<li><a href="#guides">How-To Guides</a></li>
<li><a href="#security">Security Tips</a></li>
<li><a href="#forums">Forums</a></li>
</ul>
</div>
<div>
<h4>Contact</h4>
<ul>
<li>Kernelwise Labs, Inc.</li>
<li>418 Foundry Lane, Suite 300<br>Portland, OR 97209</li>
<li><a href="mailto:hello@kernelwise.example">hello@kernelwise.example</a></li>
<li><a href="tel:+15035550142">+1 (503) 555-0142</a></li>
<li>Mon–Fri, 9:00–17:30 PT</li>
</ul>
</div>
<div>
<h4>Stay Updated</h4>
<p>Lab results and security advisories, delivered weekly.</p>
<form class="newsletter-footer" onsubmit="event.preventDefault(); this.querySelector('button').textContent='Done ✓';">
<input type="email" placeholder="Email address" aria-label="Email address for newsletter" required>
<button class="btn btn-primary" type="submit">Join</button>
</form>
</div>
</div>
<div class="footer-bottom">
<span>© <span id="year">2025</span> Kernelwise Labs, Inc. All rights reserved.</span>
<nav aria-label="Legal">
<a href="#privacy">Privacy Policy</a>
<a href="#terms">Terms of Service</a>
<a href="#cookies">Cookie Settings</a>
<a href="#about">About</a>
<a href="#contact">Contact</a>
</nav>
</div>
</div>
</footer>
<script>
// Dynamic copyright year
document.getElementById('year').textContent = new Date().getFullYear();
// Spec Finder dataset (weights: sustain = sustained performance, battery, support = update lifecycle)
const devices = [
{ name: 'Aurora Book 14', type: 'Laptop', price: 1199, os: ['windows','linux'], uses: ['office','school','dev'], score: 8.9, sustain: 9, battery: 9, support: 8, img: 'https://placehold.co/220x160/1e293b/e2e8f0?text=Aurora+14&font=montserrat', note: 'Holds clock speeds for 40+ minutes; excellent keyboard and battery life.' },
{ name: 'Forge Pro 16', type: 'Workstation', price: 2399, os: ['windows'], uses: ['creative','gaming','dev'], score: 7.8, sustain: 7, battery: 5, support: 7, img: 'https://placehold.co/220x160/312e81/e0e7ff?text=Forge+Pro&font=montserrat', note: 'Top-tier GPU for rendering and 3D; loud fans and short battery under load.' },
{ name: 'Lumen Mini PC', type: 'Desktop', price: 649, os: ['windows','linux','any'], uses: ['office','school','dev'], score: 8.4, sustain: 8, battery: 10, support: 8, img: 'https://placehold.co/220x160/064e3b/d1fae5?text=Lumen+Mini&font=montserrat', note: 'Near-silent 1L chassis with USB4; limited upgrade paths.' },
{ name: 'Pebble Air 13', type: 'Laptop', price: 799, os: ['chromeos','any'], uses: ['school','office'], score: 8.0, sustain: 6, battery: 9, support: 9, img: 'https://placehold.co/220x160/7c2d12/ffedd5?text=Pebble+Air&font=montserrat', note: 'Five-year update commitment and a very durable hinge; limited for heavy apps.' },
{ name: 'Vector Tower X', type: 'Desktop', price: 1799, os: ['windows','linux'], uses: ['gaming','creative','dev'], score: 8.6, sustain: 9, battery: 10, support: 7, img: 'https://placehold.co/220x160/1e3a8a/dbeafe?text=Vector+X&font=montserrat', note: 'Strong price-to-performance and easy serviceability for upgrades.' },
{ name: 'Nova Pad 11', type: 'Tablet', price: 499, os: ['android'], uses: ['school','office'], score: 7.6, sustain: 7, battery: 8, support: 8, img: 'https://placehold.co/220x160/4c1d95/ede9fe?text=Nova+Pad&font=montserrat', note: 'Excellent stylus latency and display; app ecosystem is narrower than desktop.' }
];
const form = document.getElementById('specForm');
const results = document.getElementById('results');
function scoreDevice(d, criteria) {
let s = d.score * 10;
if (criteria.usecase === 'gaming' || criteria.usecase === 'creative') s += d.sustain * 2;
if (criteria.usecase === 'school' || criteria.usecase === 'office') s += d.battery * 2;
if (criteria.usecase === 'dev') s += (d.sustain + d.battery) * 1.2;
s += d.support * 1.5;
if (criteria.os !== 'any' && d.os.includes(criteria.os)) s += 10;
else if (criteria.os !== 'any' && !d.os.includes('any')) s -= 15;
return Math.max(0, Math.min(99, Math.round(s)));
}
function renderResults(criteria) {
const budget = Number(criteria.budget);
const usable = devices
.filter(d => d.price <= budget)
.filter(d => d.uses.includes(criteria.usecase))
.map(d => ({ ...d, match: scoreDevice(d, criteria) }))
.sort((a, b) => b.match - a.match)
.slice(0, 4);
if (!usable.length) {
results.innerHTML = '<div class="empty"><strong>No exact matches in this budget.</strong><br>Raise your budget or broaden your use case to see recommendations from our lab database.</div>';
return;
}
results.innerHTML = usable.map(d => `
<article class="result">
<img src="${d.img}" alt="${d.name}">
<div>
<div class="match">${d.match}% match · ${d.type}</div>
<h3>${d.name}</h3>
<p>${d.note}</p>
<a href="#reviews">Read Review →</a>
</div>
<div class="price">$${d.price.toLocaleString()}</div>
</article>
`).join('');
}
form.addEventListener('submit', function (e) {
e.preventDefault();
const data = new FormData(form);
renderResults({
budget: data.get('budget'),
usecase: data.get('usecase'),
os: data.get('os')
});
});
// Initial render with default selections
renderResults({ budget: '1300', usecase: 'office', os: 'any' });
</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:08:33.691Z",
"url": "https://benchmark.aimac.invalid/2fd94e5accd092567c55d4e08437c093045ff16b7c8dbeabf7325191a982a661.html",
"toolOptions": {
"runOnly": {
"type": "tag",
"values": [
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa"
]
},
"resultTypes": [
"violations"
],
"reporter": "v1"
},
"inapplicable": [
{
"id": "area-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <area> elements of image maps have alternative text",
"help": "Active <area> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
"nodes": []
},
{
"id": "aria-braille-equivalent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
"help": "aria-braille attributes must have a non-braille equivalent",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
"nodes": []
},
{
"id": "aria-command-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-deprecated-role",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
"nodes": []
},
{
"id": "aria-hidden-focus",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
"nodes": []
},
{
"id": "aria-input-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-meter-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-progressbar-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-children",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-parent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
"nodes": []
},
{
"id": "aria-roles",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
"nodes": []
},
{
"id": "aria-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "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": "<a href=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"target": [
".brand"
]
}
]
},
{
"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": "<a href=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"target": [
".brand"
]
}
]
},
{
"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": "<a href=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"target": [
".brand"
]
}
]
},
{
"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": "<a href=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"target": [
".brand"
]
}
]
},
{
"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": "<a href=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"target": [
".brand"
]
}
]
},
{
"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=\"section\" style=\"padding-bottom:0\">",
"target": [
"#top > .section:nth-child(3)"
]
}
]
},
{
"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 type=\"submit\" class=\"btn btn-primary\">Find My Match</button>",
"target": [
"#specForm > 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>Know exactly what your <span>hardware can do</span> before you buy.</h1>",
"target": [
"h1"
]
},
{
"html": "<h2 id=\"features-title\">Reviews built on measurement, not marketing</h2>",
"target": [
"#features-title"
]
},
{
"html": "<h3>Reproducible Test Suites</h3>",
"target": [
".feature:nth-child(1) > h3"
]
},
{
"html": "<h3>Security-First Analysis</h3>",
"target": [
".feature:nth-child(2) > h3"
]
},
{
"html": "<h3>Guides That Actually Resolve Issues</h3>",
"target": [
".feature:nth-child(3) > h3"
]
},
{
"html": "<h2 id=\"reviews-title\">This month's most important verdicts</h2>",
"target": [
"#reviews-title"
]
},
{
"html": "<h3>Aurora Book 14 Review</h3>",
"target": [
".card:nth-child(1) > .card-body > h3"
]
},
{
"html": "<h3>Forge Pro 16 Review</h3>",
"target": [
".card:nth-child(2) > .card-body > h3"
]
},
{
"html": "<h3>Lumen Mini PC Review</h3>",
"target": [
".card:nth-child(3) > .card-body > h3"
]
},
{
"html": "<h3>Desktop OS 25H2 Review</h3>",
"target": [
".card:nth-child(4) > .card-body > h3"
]
},
{
"html": "<h2 id=\"finder-title\" style=\"color:#fff\">Spec Finder: match hardware to your workload</h2>",
"target": [
"#finder-title"
]
},
{
"html": "<h3>Aurora Book 14</h3>",
"target": [
".result:nth-child(1) > div:nth-child(2) > h3"
]
},
{
"html": "<h3>Lumen Mini PC</h3>",
"target": [
".result:nth-child(2) > div:nth-child(2) > h3"
]
},
{
"html": "<h3>Pebble Air 13</h3>",
"target": [
".result:nth-child(3) > div:nth-child(2) > h3"
]
},
{
"html": "<h3>Nova Pad 11</h3>",
"target": [
".result:nth-child(4) > div:nth-child(2) > h3"
]
},
{
"html": "<h2 id=\"guides-title\">Step-by-step fixes for the problems you actually face</h2>",
"target": [
"#guides-title"
]
},
{
"html": "<h3>Fixing Intermittent Wi-Fi Drops on Windows and Linux</h3>",
"target": [
".guide:nth-child(1) > div > h3"
]
},
{
"html": "<h3>Diagnosing Slow SSD Performance Before You Replace It</h3>",
"target": [
".guide:nth-child(2) > div > h3"
]
},
{
"html": "<h2 id=\"security-title\">Practical security protocols for everyday computing</h2>",
"target": [
"#security-title"
]
},
{
"html": "<h3>Version Updates <small>Last 7 days</small></h3>",
"target": [
"#news > h3"
]
},
{
"html": "<h3>Trending Topics <small>This week</small></h3>",
"target": [
".widget:nth-child(2) > h3"
]
},
{
"html": "<h3>Community Picks <small>Editor-curated</small></h3>",
"target": [
".widget:nth-child(3) > h3"
]
},
{
"html": "<h3>Weekly Lab Notes</h3>",
"target": [
".newsletter > h3"
]
},
{
"html": "<h2 id=\"testimonials-title\">Trusted by builders, students, and IT teams</h2>",
"target": [
"#testimonials-title"
]
},
{
"html": "<h2 id=\"forum-title\">Ask questions. Share builds. Get answers from people who have done it.</h2>",
"target": [
"#forum-title"
]
},
{
"html": "<h2 id=\"about-title\">A small lab with a demanding standard</h2>",
"target": [
"#about-title"
]
},
{
"html": "<h4>Explore</h4>",
"target": [
"div:nth-child(2) > h4"
]
},
{
"html": "<h4>Contact</h4>",
"target": [
"div:nth-child(3) > h4"
]
},
{
"html": "<h4>Stay Updated</h4>",
"target": [
"div:nth-child(4) > h4"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main id=\"top\">",
"target": [
"#top"
]
}
],
"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": "#0f172a",
"bgColor": "#feffff",
"contrastRatio": 17.82,
"fontSize": "16.2pt (21.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 17.82"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div class=\"brand-name\">Kernelwise</div>",
"target": [
".brand-name"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "features-title",
"relatedNodes": [],
"impact": "critical",
"message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<h2 id=\"features-title\">Reviews built on measurement, not marketing</h2>",
"target": [
"#features-title"
]
}
]
},
{
"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=\"budget\">Maximum budget (USD)</label>",
"target": [
"label[for=\"budget\"]"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<select id=\"budget\" name=\"budget\">",
"target": [
"#budget"
]
}
]
},
{
"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/96x96/4f46e5/ffffff?text=KW&font=montserrat\" alt=\"Kernelwise logo\">",
"target": [
".brand > img[alt=\"Kernelwise logo\"]"
]
}
]
},
{
"id": "label",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every form element has a label",
"help": "Form elements must have labels",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute exists and is not empty"
},
{
"id": "non-empty-placeholder",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a placeholder attribute"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input type=\"email\" placeholder=\"you@example.com\" aria-label=\"Email address\" required=\"\">",
"target": [
"input[placeholder=\"you@example.com\"]"
]
}
]
},
{
"id": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "link-in-text-block-style",
"data": null,
"relatedNodes": [
{
"html": "<div>\n <div class=\"match\">99% match \u00b7 Laptop</div>\n <h3>Aurora Book 14</h3>\n <p>Holds clock speeds for 40+ minutes; excellent keyboard and battery life.</p>\n <a href=\"#reviews\">Read Review \u2192</a>\n </div>",
"target": [
".result:nth-child(1) > div:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#reviews\">Read Review \u2192</a>",
"target": [
".result:nth-child(1) > div:nth-child(2) > a[href$=\"#reviews\"]"
]
}
]
},
{
"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"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute exists and is not empty"
}
],
"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=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"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>",
"target": [
".container > 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=\"#reviews\" class=\"active\">Reviews</a></li>",
"target": [
".container > ul > li:nth-child(1)"
]
}
]
},
{
"id": "meta-viewport",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag2aa",
"wcag144",
"EN-301-549",
"EN-9.1.4.4",
"ACT"
],
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "meta-viewport",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "<meta> tag does not disable zooming on mobile devices"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"target": [
"meta[name=\"viewport\"]"
]
}
]
},
{
"id": "nested-interactive",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "no-focusable-content",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have focusable descendants"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<img src=\"https://placehold.co/96x96/4f46e5/ffffff?text=KW&font=montserrat\" alt=\"Kernelwise logo\">",
"target": [
".brand > img[alt=\"Kernelwise logo\"]"
]
}
]
},
{
"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": "Maximum budget (USD)"
},
"relatedNodes": [
{
"html": "<label for=\"budget\">Maximum budget (USD)</label>",
"target": [
"label[for=\"budget\"]"
]
}
],
"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=\"budget\" name=\"budget\">",
"target": [
"#budget"
]
}
]
},
{
"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>How often should I rotate my passwords?</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": 241.5,
"height": 46.2
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (241.5px by 46.2px, 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=\"#top\" class=\"brand\" aria-label=\"Kernelwise home\">",
"target": [
".brand"
]
}
]
}
],
"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=\"socials\" aria-label=\"Social media\">",
"target": [
".socials"
],
"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": "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\">Independent Testing Lab</span>",
"target": [
".hero-grid > div:nth-child(1) > .eyebrow"
],
"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": 9725
},
{
"y": 576,
"height": 9725
},
{
"y": 1152,
"height": 9725
},
{
"y": 1728,
"height": 9725
},
{
"y": 2304,
"height": 9725
},
{
"y": 2880,
"height": 9725
},
{
"y": 3456,
"height": 9725
},
{
"y": 4032,
"height": 9725
},
{
"y": 4608,
"height": 9725
},
{
"y": 5184,
"height": 9725
},
{
"y": 5760,
"height": 9725
},
{
"y": 6336,
"height": 9725
},
{
"y": 6912,
"height": 9725
},
{
"y": 7488,
"height": 9725
},
{
"y": 8064,
"height": 9725
},
{
"y": 8640,
"height": 9725
},
{
"y": 9005,
"height": 9725
}
],
"scans": 18,
"max_states": 512,
"settle_ms": 5000,
"page_timeout_seconds": 150,
"layout_stability": "consecutive 100ms size samples within one CSS pixel",
"animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
"interactive_states": "not exercised",
"horizontal_scroll": "not exercised"
}
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Technology & Computing" 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: "Technology & Computing"
- Description: Tech news, software and hardware reviews, gadgets, and computing resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Technology & Computing" 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: "Forums", "Contact", "About".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Technology & Computing" category. Consider themes similar to: "Troubleshooting", "Security Tips", "How-To Guides".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "security protocols", "latency", "scalability".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Read Review", "Join Forum", "Get Support".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Technology & Computing" sector. Ideas similar but not limited to: "spec finder".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "version updates", "trending topics", "community picks".
- **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.