StepFun Step 5 Preview – Gaming
via StepFun · Generated
- AIMAC Debt 12.94
- Cost $0.08
- Total Violations 4
- HTML Size 51 KB
- Em Dashes 8
Screenshot
View Live Page
Accessibility Issues Found
3 Critical 1 Serious
-
color-contrast serious 1 instance
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="text-xs font-bold uppercase tracking-wider text-[#bf00ff]">Map Control</span> -
select-name critical 3 instances
Select element must have an accessible name
Example HTML
<select id="clan-game" class="w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff]...
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en" class="scroll-smooth">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nexus Arena — The Heartbeat of Competitive Gaming</title>
<meta name="description" content="Nexus Arena delivers esports coverage, hardware reviews, strategy guides, and community tools for the modern gamer.">
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
body { font-family: 'Inter', sans-serif; background-color: #050508; color: #e2e8f0; }
.font-display { font-family: 'Chakra Petch', sans-serif; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0a0a12; }
::-webkit-scrollbar-thumb { background: #252535; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #00f0ff; }
.clip-corner { clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)); }
.glow-border { box-shadow: 0 0 20px rgba(0, 240, 255, 0.15); }
.grid-bg {
background-image: linear-gradient(rgba(0, 240, 255, 0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(0, 240, 255, 0.03) 1px, transparent 1px);
background-size: 40px 40px;
}
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(45deg); }
</style>
</head>
<body class="antialiased overflow-x-hidden">
<!-- HEADER -->
<header class="sticky top-0 z-50 bg-[#050508]/90 backdrop-blur-md border-b border-[#1f1f2e]">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-20">
<a href="#" class="flex items-center gap-3 group">
<img src="https://placehold.co/48x48/0b0b14/00f0ff?text=NA&font=chakra+petch" alt="Nexus Arena Logo" class="h-10 w-10 rounded transition group-hover:scale-105">
<div class="flex flex-col justify-center">
<span class="font-display font-bold text-2xl tracking-wider text-white leading-none">NEXUS<span class="text-[#00f0ff]">ARENA</span></span>
<span class="text-[10px] uppercase tracking-[0.25em] text-[#94a3b8] mt-0.5">The Heartbeat of Competitive Gaming</span>
</div>
</a>
<nav class="hidden lg:flex items-center gap-1">
<a href="#" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">Home</a>
<a href="#forums" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">Forums</a>
<a href="#esports" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">Esports</a>
<a href="#reviews" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">Reviews</a>
<a href="#hardware" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">Hardware</a>
<a href="#guides" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">Guides</a>
<a href="#about" class="px-3 py-2 text-sm font-medium text-[#94a3b8] hover:text-[#00f0ff] transition uppercase tracking-wide">About</a>
</nav>
<div class="hidden md:flex items-center gap-4">
<a href="#" class="text-sm font-medium text-[#94a3b8] hover:text-white transition">Sign In</a>
<a href="#forums" class="px-5 py-2.5 bg-[#00f0ff] text-[#050508] font-display font-bold text-sm uppercase tracking-wider hover:bg-white transition clip-corner">Join Free</a>
</div>
<button class="lg:hidden text-white p-2" id="mobile-menu-btn" aria-label="Toggle menu">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg>
</button>
</div>
</div>
<div id="mobile-menu" class="hidden lg:hidden bg-[#0b0b14] border-t border-[#1f1f2e]">
<div class="px-4 py-4 space-y-1">
<a href="#" class="block py-2.5 text-white font-display uppercase tracking-wide">Home</a>
<a href="#forums" class="block py-2.5 text-[#94a3b8] hover:text-[#00f0ff] font-display uppercase tracking-wide">Forums</a>
<a href="#esports" class="block py-2.5 text-[#94a3b8] hover:text-[#00f0ff] font-display uppercase tracking-wide">Esports</a>
<a href="#reviews" class="block py-2.5 text-[#94a3b8] hover:text-[#00f0ff] font-display uppercase tracking-wide">Reviews</a>
<a href="#hardware" class="block py-2.5 text-[#94a3b8] hover:text-[#00f0ff] font-display uppercase tracking-wide">Hardware</a>
<a href="#guides" class="block py-2.5 text-[#94a3b8] hover:text-[#00f0ff] font-display uppercase tracking-wide">Guides</a>
<a href="#about" class="block py-2.5 text-[#94a3b8] hover:text-[#00f0ff] font-display uppercase tracking-wide">About</a>
</div>
</div>
</header>
<main>
<!-- HERO -->
<section class="relative overflow-hidden grid-bg">
<div class="absolute inset-0">
<img src="https://picsum.photos/1920/1080?grayscale&blur=2" alt="" class="w-full h-full object-cover opacity-20">
<div class="absolute inset-0 bg-gradient-to-b from-[#050508]/70 via-[#050508]/85 to-[#050508]"></div>
</div>
<div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24 lg:py-36">
<div class="max-w-3xl">
<div class="inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-[#00f0ff]/30 bg-[#00f0ff]/5 text-[#00f0ff] text-xs font-display font-bold uppercase tracking-widest mb-8">
<span class="w-2 h-2 rounded-full bg-[#00f0ff] animate-pulse"></span>
Season 14 Live Now
</div>
<h1 class="font-display font-bold text-5xl sm:text-7xl lg:text-8xl text-white leading-[0.95] tracking-tight mb-6">
EVERY FRAME<br>
<span class="text-transparent bg-clip-text bg-gradient-to-r from-[#00f0ff] to-[#bf00ff]">MATTERS</span>
</h1>
<p class="text-lg text-[#94a3b8] max-w-xl mb-10 leading-relaxed">
Nexus Arena is the intelligence layer for modern gamers. We dissect framerate stability, track competitive ranking shifts, and build the communities where the next generation of esports legends are born. No clickbait. Just signal.
</p>
<div class="flex flex-wrap gap-4">
<a href="#forums" class="px-8 py-4 bg-[#00f0ff] text-[#050508] font-display font-bold uppercase tracking-wider hover:bg-white transition clip-corner glow-border">Play Free</a>
<a href="#contest" class="px-8 py-4 border border-[#1f1f2e] text-white font-display font-bold uppercase tracking-wider hover:border-[#00f0ff] hover:text-[#00f0ff] transition clip-corner">Enter Contest</a>
</div>
</div>
</div>
</section>
<!-- STATS -->
<div class="border-y border-[#1f1f2e] bg-[#0b0b14]">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-2 lg:grid-cols-4 divide-y lg:divide-y-0 lg:divide-x divide-[#1f1f2e]">
<div class="py-8 lg:px-8 text-center lg:text-left">
<div class="font-display font-bold text-3xl text-[#00f0ff]">2.4M</div>
<div class="text-xs uppercase tracking-widest text-[#94a3b8] mt-1">Monthly Readers</div>
</div>
<div class="py-8 lg:px-8 text-center lg:text-left">
<div class="font-display font-bold text-3xl text-[#00f0ff]">850+</div>
<div class="text-xs uppercase tracking-widest text-[#94a3b8] mt-1">Tournaments Covered</div>
</div>
<div class="py-8 lg:px-8 text-center lg:text-left">
<div class="font-display font-bold text-3xl text-[#00f0ff]">15ms</div>
<div class="text-xs uppercase tracking-widest text-[#94a3b8] mt-1">Avg Latency Tracked</div>
</div>
<div class="py-8 lg:px-8 text-center lg:text-left">
<div class="font-display font-bold text-3xl text-[#00f0ff]">24/7</div>
<div class="text-xs uppercase tracking-widest text-[#94a3b8] mt-1">Live Newsroom</div>
</div>
</div>
</div>
</div>
<!-- INTEL / NEWS + SIDEBAR -->
<section id="reviews" class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
<div class="grid lg:grid-cols-12 gap-12">
<div class="lg:col-span-8">
<div class="flex items-end justify-between mb-10">
<div>
<span class="text-[#00f0ff] font-display font-bold uppercase tracking-widest text-sm">The Frame Report</span>
<h2 class="font-display font-bold text-3xl text-white mt-1">Latest Intel</h2>
</div>
<a href="#" class="text-sm text-[#94a3b8] hover:text-white transition">View All Coverage →</a>
</div>
<article class="group mb-12">
<div class="relative aspect-[16/9] overflow-hidden rounded-lg mb-5 border border-[#1f1f2e]">
<img src="https://placehold.co/800x450/0b0b14/1f1f2e?text=240Hz+BENCHMARK+LAB&font=chakra+petch" class="w-full h-full object-cover group-hover:scale-105 transition duration-500" alt="Monitor benchmark testing">
<div class="absolute top-4 left-4">
<span class="px-3 py-1 bg-[#00f0ff] text-[#050508] text-xs font-bold uppercase tracking-wider rounded">Hardware</span>
</div>
</div>
<h3 class="font-display font-bold text-2xl text-white group-hover:text-[#00f0ff] transition mb-3">
<a href="#">Framerate Wars: Why 240Hz Is the New Competitive Baseline</a>
</h3>
<p class="text-[#94a3b8] leading-relaxed mb-4">
In the current meta of tactical shooters and fighting games, the difference between a clutch defuse and a deranked loss often comes down to single-millisecond input lag. We benchmarked twelve 1440p monitors across three titles to find where the framerate sweet spot truly lies—and why dropping below your monitor's refresh rate can quietly break your competitive ranking trajectory without you ever noticing.
</p>
<div class="flex items-center gap-4 text-xs text-[#94a3b8]">
<span>By Marcus Chen</span><span>•</span><span>Oct 14, 2024</span><span>•</span><span>8 min read</span>
</div>
</article>
<article class="group mb-12">
<div class="relative aspect-[16/9] overflow-hidden rounded-lg mb-5 border border-[#1f1f2e]">
<img src="https://placehold.co/800x451/0b0b14/1f1f2e?text=ESPORTS+META+ANALYSIS&font=chakra+petch" class="w-full h-full object-cover group-hover:scale-105 transition duration-500" alt="Esports meta analysis">
<div class="absolute top-4 left-4">
<span class="px-3 py-1 bg-[#bf00ff] text-white text-xs font-bold uppercase tracking-wider rounded">Esports</span>
</div>
</div>
<h3 class="font-display font-bold text-2xl text-white group-hover:text-[#00f0ff] transition mb-3">
<a href="#">The Economy Reset: How the Latest Patch Rewrote the Professional Meta</a>
</h3>
<p class="text-[#94a3b8] leading-relaxed mb-4">
The latest balance patch didn't just tweak ability cooldowns—it rewrote the spawn economy of the entire map pool. Our analysts break down how the changes to default timings and mid-round buy phases have shifted tier-one team compositions, and what solo-queue players need to adjust in their own rotations to keep climbing without relearning the game from scratch.
</p>
<div class="flex items-center gap-4 text-xs text-[#94a3b8]">
<span>By Elena Voss</span><span>•</span><span>Oct 12, 2024</span><span>•</span><span>11 min read</span>
</div>
</article>
<article class="group">
<div class="relative aspect-[16/9] overflow-hidden rounded-lg mb-5 border border-[#1f1f2e]">
<img src="https://placehold.co/800x452/0b0b14/1f1f2e?text=NETWORK+LATENCY+TEST&font=chakra+petch" class="w-full h-full object-cover group-hover:scale-105 transition duration-500" alt="Network latency testing">
<div class="absolute top-4 left-4">
<span class="px-3 py-1 bg-[#ccff00] text-[#050508] text-xs font-bold uppercase tracking-wider rounded">Networking</span>
</div>
</div>
<h3 class="font-display font-bold text-2xl text-white group-hover:text-[#00f0ff] transition mb-3">
<a href="#">Latency Lab: Wi-Fi 7 vs. Wired 2.5GbE in 500 Live Matches</a>
</h3>
<p class="text-[#94a3b8] leading-relaxed mb-4">
Wi-Fi 7 promises the end of latency spikes, but is it worth the upgrade over a wired 2.5 Gigabit connection? We ran 500 matches across both configurations to measure jitter, packet loss, and the real-world impact on clutch rounds where a 15ms spike is the difference between a winning peek and feeding the enemy economy. The results surprised even our lab technicians.
</p>
<div class="flex items-center gap-4 text-xs text-[#94a3b8]">
<span>By David Park</span><span>•</span><span>Oct 09, 2024</span><span>•</span><span>6 min read</span>
</div>
</article>
</div>
<!-- SIDEBAR -->
<aside class="lg:col-span-4 space-y-8">
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6">
<h3 class="font-display font-bold text-white uppercase tracking-wider mb-5 flex items-center gap-2">
<svg class="w-4 h-4 text-[#00f0ff]" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M12.395 2.553a1 1 0 00-1.45-.385c-.345.23-.614.558-.822.88-.214.33-.403.713-.57 1.116-.334.804-.614 1.768-.84 2.734a31.365 31.365 0 00-.613 3.58 2.64 2.64 0 01-.945-1.067c-.328-.68-.398-1.45-.412-1.725a1 1 0 00-.994-.902c-.58 0-1.06.414-1.14.974A5.001 5.001 0 005 14c.78-.003 1.54-.14 2.24-.394.396.232.836.394 1.29.394.61 0 1.18-.19 1.65-.516.47.326 1.04.516 1.65.516.454 0 .894-.162 1.29-.394.7.254 1.46.391 2.24.394a5 5 0 003.4-8.65c-.115-.67-.718-1.1-1.393-.955-.69.148-1.13.823-.965 1.513.144.596.06 1.23-.27 1.75a2.693 2.693 0 01-2.46 1.35 31.33 31.33 0 00.613-3.58c.226-.966.506-1.93.84-2.734.167-.403.356-.786.57-1.116.208-.322.477-.65.822-.88a1 1 0 00-.385-1.45z" clip-rule="evenodd"></path></svg>
Trending Now
</h3>
<div class="space-y-4">
<a href="#" class="flex gap-3 group">
<img src="https://placehold.co/60x80/0b0b14/00f0ff?text=01&font=chakra+petch" class="w-12 h-16 object-cover rounded border border-[#1f1f2e]" alt="Aether Legends">
<div>
<h4 class="text-sm font-semibold text-white group-hover:text-[#00f0ff] transition">Aether Legends</h4>
<p class="text-xs text-[#94a3b8] mt-0.5">MOBA • 1.2M playing</p>
</div>
</a>
<a href="#" class="flex gap-3 group">
<img src="https://placehold.co/60x80/0b0b14/bf00ff?text=02&font=chakra+petch" class="w-12 h-16 object-cover rounded border border-[#1f1f2e]" alt="Fracture Protocol">
<div>
<h4 class="text-sm font-semibold text-white group-hover:text-[#00f0ff] transition">Fracture Protocol</h4>
<p class="text-xs text-[#94a3b8] mt-0.5">Tactical FPS • 840K playing</p>
</div>
</a>
<a href="#" class="flex gap-3 group">
<img src="https://placehold.co/60x80/0b0b14/ccff00?text=03&font=chakra+petch" class="w-12 h-16 object-cover rounded border border-[#1f1f2e]" alt="Starbound Drift">
<div>
<h4 class="text-sm font-semibold text-white group-hover:text-[#00f0ff] transition">Starbound Drift</h4>
<p class="text-xs text-[#94a3b8] mt-0.5">Space Sim • 620K playing</p>
</div>
</a>
<a href="#" class="flex gap-3 group">
<img src="https://placehold.co/60x80/0b0b14/00f0ff?text=04&font=chakra+petch" class="w-12 h-16 object-cover rounded border border-[#1f1f2e]" alt="Ironclad Rivals">
<div>
<h4 class="text-sm font-semibold text-white group-hover:text-[#00f0ff] transition">Ironclad Rivals</h4>
<p class="text-xs text-[#94a3b8] mt-0.5">Vehicular Combat • 410K playing</p>
</div>
</a>
</div>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6">
<h3 class="font-display font-bold text-white uppercase tracking-wider mb-5 flex items-center gap-2">
<svg class="w-4 h-4 text-[#00f0ff]" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg>
Release Calendar
</h3>
<ul class="space-y-4">
<li class="flex items-center justify-between pb-4 border-b border-[#1f1f2e] last:border-0 last:pb-0">
<div>
<div class="text-sm text-white font-semibold">Echoes of Aether</div>
<div class="text-xs text-[#94a3b8]">Action RPG • PC, PS5, XSX</div>
</div>
<span class="text-xs font-display font-bold text-[#00f0ff] whitespace-nowrap">Nov 12</span>
</li>
<li class="flex items-center justify-between pb-4 border-b border-[#1f1f2e] last:border-0 last:pb-0">
<div>
<div class="text-sm text-white font-semibold">Neon Circuit</div>
<div class="text-xs text-[#94a3b8]">Racing • PC, PS5</div>
</div>
<span class="text-xs font-display font-bold text-[#00f0ff] whitespace-nowrap">Nov 28</span>
</li>
<li class="flex items-center justify-between pb-4 border-b border-[#1f1f2e] last:border-0 last:pb-0">
<div>
<div class="text-sm text-white font-semibold">Titan Siege 2</div>
<div class="text-xs text-[#94a3b8]">Strategy • PC</div>
</div>
<span class="text-xs font-display font-bold text-[#00f0ff] whitespace-nowrap">Dec 05</span>
</li>
<li class="flex items-center justify-between">
<div>
<div class="text-sm text-white font-semibold">Project Obsidian</div>
<div class="text-xs text-[#94a3b8]">Survival Horror • All Platforms</div>
</div>
<span class="text-xs font-display font-bold text-[#00f0ff] whitespace-nowrap">Q1 2025</span>
</li>
</ul>
</div>
<div class="bg-gradient-to-br from-[#00f0ff]/10 to-[#bf00ff]/10 border border-[#1f1f2e] rounded-lg p-6 text-center">
<h3 class="font-display font-bold text-white text-lg mb-2">The Nexus Brief</h3>
<p class="text-sm text-[#94a3b8] mb-4 leading-relaxed">Weekly meta shifts, hardware drops, and tournament previews. No spam, ever.</p>
<input type="email" placeholder="your@email.gg" class="w-full bg-[#050508] border border-[#1f1f2e] rounded-lg px-4 py-2.5 text-sm text-white focus:outline-none focus:border-[#00f0ff] transition mb-3">
<button class="w-full py-2.5 bg-[#00f0ff] text-[#050508] font-display font-bold uppercase tracking-wider text-sm hover:bg-white transition clip-corner">Subscribe</button>
</div>
</aside>
</div>
</section>
<!-- ESPORTS -->
<section id="esports" class="py-20 bg-[#0b0b14] border-y border-[#1f1f2e] grid-bg">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid lg:grid-cols-2 gap-16 items-center">
<div>
<span class="text-[#bf00ff] font-display font-bold uppercase tracking-widest text-sm">Pro Circuit</span>
<h2 class="font-display font-bold text-4xl text-white mt-2 mb-6">The Apex of Competition</h2>
<p class="text-[#94a3b8] leading-relaxed mb-4">
Esports isn't just a spectacle—it's the proving ground where strategy, hardware, and mental stamina collide at the highest level. Our esports desk covers regional qualifiers, franchise leagues, and open-circuit tournaments with the same rigor a team analyst brings to VOD review. We track win conditions, economy efficiency, and the subtle role specialization that separates a good roster from a championship one.
</p>
<p class="text-[#94a3b8] leading-relaxed mb-8">
From prize pool economics to roster shuffles and meta-defining patch cycles, we track the metrics that matter. Whether you're grinding your way out of Gold or analyzing tier-one scrims, our ranking breakdowns and tournament previews give you the context to understand not just who won, but exactly why the win happened.
</p>
<a href="#" class="inline-flex items-center gap-2 text-[#00f0ff] font-display font-bold uppercase tracking-wider hover:text-white transition">
View Live Brackets
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 8l4 4m0 0l-4 4m4-4H3"></path></svg>
</a>
</div>
<div class="relative">
<img src="https://placehold.co/800x600/0b0b14/1f1f2e?text=TOURNAMENT+ARENA+STAGE&font=chakra+petch" class="rounded-lg shadow-2xl border border-[#1f1f2e] w-full" alt="Esports tournament stage">
<div class="absolute -bottom-6 -left-6 bg-[#12121e] border border-[#1f1f2e] rounded-lg p-5 w-64 hidden sm:block">
<div class="text-xs text-[#94a3b8] uppercase tracking-wider mb-1">Next Major</div>
<div class="font-display font-bold text-white text-lg">Nexus Invitational</div>
<div class="text-[#00f0ff] text-sm font-bold mt-1">$2,500,000 Prize Pool</div>
</div>
</div>
</div>
</div>
</section>
<!-- HARDWARE -->
<section id="hardware" class="py-20">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center max-w-2xl mx-auto mb-14">
<span class="text-[#00f0ff] font-display font-bold uppercase tracking-widest text-sm">The Latency Lab</span>
<h2 class="font-display font-bold text-4xl text-white mt-2">Precision Hardware for Peak Performance</h2>
<p class="text-[#94a3b8] mt-4 leading-relaxed">
Your mechanical skill means nothing if your rig can't keep up. Our hardware desk puts every component under the microscope—from GPU thermals and frametime consistency to display response times and network bufferbloat.
</p>
</div>
<div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-6">
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg overflow-hidden group hover:border-[#00f0ff]/50 transition">
<img src="https://placehold.co/400x300/0b0b14/1f1f2e?text=GPU+THERMALS&font=chakra+petch" class="w-full h-40 object-cover group-hover:scale-105 transition duration-500" alt="Graphics card review">
<div class="p-5">
<h3 class="font-display font-bold text-white mb-2">Graphics Cards</h3>
<p class="text-sm text-[#94a3b8] leading-relaxed">Stable frametimes beat peak framerate. We stress-test ray tracing overhead, upscaling artifacts, and driver-induced stutter across the latest AAA releases.</p>
</div>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg overflow-hidden group hover:border-[#00f0ff]/50 transition">
<img src="https://placehold.co/400x301/0b0b14/1f1f2e?text=DISPLAY+LATENCY&font=chakra+petch" class="w-full h-40 object-cover group-hover:scale-105 transition duration-500" alt="Gaming monitor review">
<div class="p-5">
<h3 class="font-display font-bold text-white mb-2">Displays & Monitors</h3>
<p class="text-sm text-[#94a3b8] leading-relaxed">Response time, input lag, and overdrive artifacts. We measure with high-speed cameras so you know exactly what you're paying for before you buy.</p>
</div>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg overflow-hidden group hover:border-[#00f0ff]/50 transition">
<img src="https://placehold.co/400x302/0b0b14/1f1f2e?text=PERIPHERAL+TESTING&font=chakra+petch" class="w-full h-40 object-cover group-hover:scale-105 transition duration-500" alt="Gaming peripherals">
<div class="p-5">
<h3 class="font-display font-bold text-white mb-2">Peripherals</h3>
<p class="text-sm text-[#94a3b8] leading-relaxed">Mice, keyboards, and audio. We test sensor accuracy, switch debounce, and positional audio clarity to ensure your inputs register exactly when you intend them.</p>
</div>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg overflow-hidden group hover:border-[#00f0ff]/50 transition">
<img src="https://placehold.co/400x303/0b0b14/1f1f2e?text=NETWORK+BUFFERBLOAT&font=chakra+petch" class="w-full h-40 object-cover group-hover:scale-105 transition duration-500" alt="Networking hardware">
<div class="p-5">
<h3 class="font-display font-bold text-white mb-2">Networking</h3>
<p class="text-sm text-[#94a3b8] leading-relaxed">Router firmware, QoS rules, and bufferbloat. We help you build a low-latency pipeline from your PC to the game server.</p>
</div>
</div>
</div>
<div class="mt-12 text-center">
<a href="#" class="inline-block px-8 py-4 border border-[#00f0ff] text-[#00f0ff] font-display font-bold uppercase tracking-wider hover:bg-[#00f0ff] hover:text-[#050508] transition clip-corner">Download Benchmark Suite</a>
</div>
</div>
</section>
<!-- GUIDES -->
<section id="guides" class="py-20 bg-[#0b0b14] border-y border-[#1f1f2e]">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-end justify-between mb-10">
<div>
<span class="text-[#ccff00] font-display font-bold uppercase tracking-widest text-sm">Strategy Vault</span>
<h2 class="font-display font-bold text-4xl text-white mt-1">Master the Meta</h2>
</div>
<a href="#" class="text-sm text-[#94a3b8] hover:text-white transition">All Guides →</a>
</div>
<div class="grid md:grid-cols-2 gap-8">
<article class="group flex gap-6 items-start bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6 hover:border-[#00f0ff]/50 transition">
<img src="https://placehold.co/300x300/0b0b14/1f1f2e?text=MAP+CONTROL&font=chakra+petch" class="w-32 h-32 object-cover rounded-lg flex-shrink-0" alt="Map control guide">
<div>
<span class="text-xs font-bold uppercase tracking-wider text-[#bf00ff]">Map Control</span>
<h3 class="font-display font-bold text-xl text-white group-hover:text-[#00f0ff] transition mt-1 mb-2">
<a href="#">Rotational Map Control: Reading the Spawn Economy</a>
</h3>
<p class="text-sm text-[#94a3b8] leading-relaxed">
Winning rounds isn't about aim—it's about information. Learn to parse the spawn economy, predict rotation timings, and deny the enemy team the map real estate they need to execute their default without burning utility.
</p>
</div>
</article>
<article class="group flex gap-6 items-start bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6 hover:border-[#00f0ff]/50 transition">
<img src="https://placehold.co/300x301/0b0b14/1f1f2e?text=BUY+PHASE+MATH&font=chakra+petch" class="w-32 h-32 object-cover rounded-lg flex-shrink-0" alt="Economy management guide">
<div>
<span class="text-xs font-bold uppercase tracking-wider text-[#ccff00]">Economy</span>
<h3 class="font-display font-bold text-xl text-white group-hover:text-[#00f0ff] transition mt-1 mb-2">
<a href="#">Economy Management: The Math Behind the Buy Phase</a>
</h3>
<p class="text-sm text-[#94a3b8] leading-relaxed">
Every credit counts. Our economy guides break down force-buy thresholds, save-round expected value, and how to manipulate the opposing team's economy into a disadvantageous bonus round they cannot recover from.
</p>
</div>
</article>
</div>
</div>
</section>
<!-- CONTEST BANNER -->
<section id="contest" class="py-16 bg-gradient-to-r from-[#00f0ff]/10 via-[#0b0b14] to-[#bf00ff]/10 border-y border-[#1f1f2e]">
<div class="max-w-4xl mx-auto px-4 text-center">
<h2 class="font-display font-bold text-3xl md:text-4xl text-white mb-3">Enter the Nexus Invitational Predictor</h2>
<p class="text-[#94a3b8] mb-8 max-w-xl mx-auto leading-relaxed">Call the bracket, win the loot. Top 100 predictors split a $10,000 prize pool and exclusive in-game cosmetics. It costs nothing but your game knowledge.</p>
<a href="#" class="inline-block px-10 py-4 bg-[#00f0ff] text-[#050508] font-display font-bold uppercase tracking-wider hover:bg-white transition clip-corner glow-border">Enter Contest</a>
</div>
</section>
<!-- COMMUNITY + CLAN FINDER -->
<section id="forums" class="py-20">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center max-w-2xl mx-auto mb-14">
<span class="text-[#00f0ff] font-display font-bold uppercase tracking-widest text-sm">Community Core</span>
<h2 class="font-display font-bold text-4xl text-white mt-2">Find Your Squad</h2>
<p class="text-[#94a3b8] mt-4 leading-relaxed">
Solo queue is a grind. Whether you're looking for a relaxed co-op clan or a tier-one scrim partner, our community tools connect you with players who share your schedule, your region, and your definition of a good time.
</p>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-xl p-6 md:p-8 max-w-4xl mx-auto mb-20">
<div class="flex items-center justify-between mb-6">
<h3 class="font-display font-bold text-2xl text-white">Clan Finder</h3>
<span class="text-xs text-[#94a3b8] uppercase tracking-wider">Real-time Roster Matching</span>
</div>
<div class="grid md:grid-cols-3 gap-4 mb-6">
<div>
<label class="block text-xs uppercase tracking-wider text-[#94a3b8] mb-2">Game</label>
<select id="clan-game" class="w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff] transition appearance-none cursor-pointer">
<option value="all">All Games</option>
<option value="valorant">Tactical Shooter</option>
<option value="moba">MOBA</option>
<option value="fps">Battle Royale</option>
<option value="rpg">MMORPG</option>
</select>
</div>
<div>
<label class="block text-xs uppercase tracking-wider text-[#94a3b8] mb-2">Region</label>
<select id="clan-region" class="w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff] transition appearance-none cursor-pointer">
<option value="all">Global</option>
<option value="na">North America</option>
<option value="eu">Europe</option>
<option value="apac">Asia-Pacific</option>
</select>
</div>
<div>
<label class="block text-xs uppercase tracking-wider text-[#94a3b8] mb-2">Playstyle</label>
<select id="clan-style" class="w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff] transition appearance-none cursor-pointer">
<option value="all">Any Style</option>
<option value="casual">Casual / Social</option>
<option value="competitive">Competitive / Ranked</option>
</select>
</div>
</div>
<button id="clan-search" class="w-full py-3.5 bg-[#00f0ff] text-[#050508] font-display font-bold uppercase tracking-wider hover:bg-white transition clip-corner">Find Clan</button>
<div id="clan-results" class="grid sm:grid-cols-2 gap-4 mt-8"></div>
</div>
<div class="grid md:grid-cols-3 gap-6">
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6 relative">
<div class="absolute -top-4 left-6 text-6xl text-[#00f0ff] font-display leading-none opacity-50">"</div>
<p class="text-[#94a3b8] leading-relaxed mb-5 relative z-10">
The hardware reviews here actually measure frametime consistency, not just average FPS. That distinction got me a GPU refund and a monitor that doesn't stutter during clutch moments.
</p>
<div class="flex items-center gap-3">
<img src="https://i.pravatar.cc/100?u=sarahk" class="w-10 h-10 rounded-full border border-[#1f1f2e]" alt="Sarah K.">
<div>
<div class="text-white font-semibold text-sm">Sarah K.</div>
<div class="text-xs text-[#94a3b8]">Immortal 3 • NA-West</div>
</div>
</div>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6 relative">
<div class="absolute -top-4 left-6 text-6xl text-[#00f0ff] font-display leading-none opacity-50">"</div>
<p class="text-[#94a3b8] leading-relaxed mb-5 relative z-10">
I found my ranked squad through the Clan Finder in twenty minutes. Six months later we're in regional qualifiers. The filters actually work—no dead clans or toxic recruits.
</p>
<div class="flex items-center gap-3">
<img src="https://i.pravatar.cc/100?u=javierm" class="w-10 h-10 rounded-full border border-[#1f1f2e]" alt="Javier M.">
<div>
<div class="text-white font-semibold text-sm">Javier M.</div>
<div class="text-xs text-[#94a3b8]">Ascendant 2 • EU-North</div>
</div>
</div>
</div>
<div class="bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6 relative">
<div class="absolute -top-4 left-6 text-6xl text-[#00f0ff] font-display leading-none opacity-50">"</div>
<p class="text-[#94a3b8] leading-relaxed mb-5 relative z-10">
Their patch-note analyses are the only ones I read. They explain the spawn economy changes before the pros even adjust. It's basically a free coaching subscription.
</p>
<div class="flex items-center gap-3">
<img src="https://i.pravatar.cc/100?u=priyas" class="w-10 h-10 rounded-full border border-[#1f1f2e]" alt="Priya S.">
<div>
<div class="text-white font-semibold text-sm">Priya S.</div>
<div class="text-xs text-[#94a3b8]">Diamond 1 • APAC-SEA</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- FAQ -->
<section id="about" class="py-20 bg-[#0b0b14] border-t border-[#1f1f2e]">
<div class="max-w-3xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<span class="text-[#00f0ff] font-display font-bold uppercase tracking-widest text-sm">Support</span>
<h2 class="font-display font-bold text-4xl text-white mt-2">Frequently Asked Questions</h2>
</div>
<div class="space-y-4">
<details class="group bg-[#12121e] border border-[#1f1f2e] rounded-lg open:border-[#00f0ff]/50 transition">
<summary class="flex items-center justify-between p-5 cursor-pointer">
<span class="font-display font-bold text-white text-lg">How do you benchmark gaming hardware?</span>
<span class="faq-icon text-[#00f0ff] transition-transform duration-300">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path></svg>
</span>
</summary>
<div class="px-5 pb-5 text-[#94a3b8] leading-relaxed">
We run every GPU and monitor through a standardized suite of twelve titles at 1080p and 1440p, capturing frametime data with PresentMon and measuring end-to-end input latency with a high-speed camera at 1000fps. No cherry-picked benchmarks, no sponsored thermal chambers—just reproducible data.
</div>
</details>
<details class="group bg-[#12121e] border border-[#1f1f2e] rounded-lg open:border-[#00f0ff]/50 transition">
<summary class="flex items-center justify-between p-5 cursor-pointer">
<span class="font-display font-bold text-white text-lg">Are your esports predictions data-driven?</span>
<span class="faq-icon text-[#00f0ff] transition-transform duration-300">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path></svg>
</span>
</summary>
<div class="px-5 pb-5 text-[#94a3b8] leading-relaxed">
Yes. Our esports desk combines official tournament stats, scrim results leaked by trusted analysts, and historical map-pool performance to build predictive models that have correctly called the last three international finals. We publish our methodology so readers can audit every pick.
</div>
</details>
<details class="group bg-[#12121e] border border-[#1f1f2e] rounded-lg open:border-[#00f0ff]/50 transition">
<summary class="flex items-center justify-between p-5 cursor-pointer">
<span class="font-display font-bold text-white text-lg">Can I submit my own guides or reviews?</span>
<span class="faq-icon text-[#00f0ff] transition-transform duration-300">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path></svg>
</span>
</summary>
<div class="px-5 pb-5 text-[#94a3b8] leading-relaxed">
Absolutely. Nexus Arena is community-first. If you have a strategy breakdown, hardware teardown, or esports analysis that meets our editorial standards, submit it through the Forums. Our editors review every submission within 72 hours and selected pieces are published with full byline credit.
</div>
</details>
<details class="group bg-[#12121e] border border-[#1f1f2e] rounded-lg open:border-[#00f0ff]/50 transition">
<summary class="flex items-center justify-between p-5 cursor-pointer">
<span class="font-display font-bold text-white text-lg">Is the Clan Finder free to use?</span>
<span class="faq-icon text-[#00f0ff] transition-transform duration-300">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path></svg>
</span>
</summary>
<div class="px-5 pb-5 text-[#94a3b8] leading-relaxed">
The Clan Finder is completely free. We charge clans nothing to list, and we never sell player data. Premium visibility boosts are available for organizations that want featured placement, but organic search results always remain meritocratic and transparent.
</div>
</details>
</div>
</div>
</section>
</main>
<!-- FOOTER -->
<footer class="bg-[#050508] border-t border-[#1f1f2e] pt-16 pb-8">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-12 mb-12">
<div>
<div class="flex items-center gap-2 mb-4">
<img src="https://placehold.co/32x32/0b0b14/00f0ff?text=NA&font=chakra+petch" class="h-8 w-8 rounded" alt="Nexus Arena">
<span class="font-display font-bold text-xl text-white">NEXUS<span class="text-[#00f0ff]">ARENA</span></span>
</div>
<p class="text-sm text-[#94a3b8] leading-relaxed mb-5">
Independent gaming media since 2019. Built by competitors, for competitors. No sponsorships influence our frametime data.
</p>
<div class="flex gap-3">
<a href="#" aria-label="Discord" class="w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M20.317 4.37a19.791 19.791 0 00-4.885-1.515.074.074 0 00-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 00-5.487 0 12.64 12.64 0 00-.617-1.25.077.077 0 00-.079-.037A19.736 19.736 0 003.677 4.37a.07.07 0 00-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 00.031.057 19.9 19.9 0 005.993 3.03.078.078 0 00.084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 00-.041-.106 13.107 13.107 0 01-1.872-.892.077.077 0 01-.008-.128c.126-.094.252-.192.372-.291a.074.074 0 01.077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 01.078.01c.12.098.246.198.373.292a.077.077 0 01-.006.127 13.107 13.107 0 01-1.873.892.077.077 0 00-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 00.084.028 19.839 19.839 0 006.002-3.03.077.077 0 00.032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 00-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"/></svg>
</a>
<a href="#" aria-label="Twitter" class="w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
</a>
<a href="#" aria-label="YouTube" class="w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="#" aria-label="Twitch" class="w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition">
<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 24 24"><path d="M2.149 0L.525 4.475v15.03h5.207V24h3.124l2.951-2.951h4.741l5.207-5.207V0H2.149zm17.337 14.412l-3.685 3.685h-5.207l-2.951 2.951v-2.951H4.321V2.149h15.165v12.263zM15.66 6.963h1.867v5.207h-1.867V6.963zm-4.963 0h1.867v5.207h-1.867V6.963z"/></svg>
</a>
</div>
</div>
<div>
<h4 class="font-display font-bold text-white uppercase tracking-wider text-sm mb-5">Explore</h4>
<ul class="space-y-3 text-sm">
<li><a href="#reviews" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Latest Reviews</a></li>
<li><a href="#hardware" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Hardware Lab</a></li>
<li><a href="#esports" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Esports Coverage</a></li>
<li><a href="#guides" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Strategy Guides</a></li>
<li><a href="#" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Release Calendar</a></li>
</ul>
</div>
<div>
<h4 class="font-display font-bold text-white uppercase tracking-wider text-sm mb-5">Community</h4>
<ul class="space-y-3 text-sm">
<li><a href="#forums" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Forums</a></li>
<li><a href="#forums" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Clan Finder</a></li>
<li><a href="#" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Contribute a Guide</a></li>
<li><a href="#" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Code of Conduct</a></li>
<li><a href="#" class="text-[#94a3b8] hover:text-[#00f0ff] transition">Report a Bug</a></li>
</ul>
</div>
<div>
<h4 class="font-display font-bold text-white uppercase tracking-wider text-sm mb-5">Contact</h4>
<ul class="space-y-3 text-sm">
<li class="text-[#94a3b8]">hello@nexusarena.gg</li>
<li class="text-[#94a3b8]">+1 (555) 019-2847</li>
<li class="text-[#94a3b8] leading-relaxed">4208 Neon District<br>Austin, TX 78701</li>
</ul>
</div>
</div>
<div class="border-t border-[#1f1f2e] pt-8 flex flex-col md:flex-row justify-between items-center gap-4">
<p class="text-xs text-[#94a3b8]">© 2024 Nexus Arena Media Group. All rights reserved.</p>
<div class="flex gap-6 text-xs">
<a href="#" class="text-[#94a3b8] hover:text-white transition">Privacy Policy</a>
<a href="#" class="text-[#94a3b8] hover:text-white transition">Terms of Service</a>
<a href="#" class="text-[#94a3b8] hover:text-white transition">Cookie Settings</a>
</div>
</div>
</div>
</footer>
<script>
// Mobile menu toggle
const btn = document.getElementById('mobile-menu-btn');
const menu = document.getElementById('mobile-menu');
btn.addEventListener('click', () => menu.classList.toggle('hidden'));
// Clan Finder Data
const clans = [
{ name: "Shadow Reapers", tag: "SHR", game: "valorant", region: "na", style: "competitive", members: 24, rank: "Immortal", desc: "Tier-2 scrim team looking for duelist and controller mains. Practice Tue/Thu/Sat 8PM EST. VOD review mandatory.", avatar: "https://i.pravatar.cc/100?u=clan1" },
{ name: "Loot Goblins", tag: "LGT", game: "fps", region: "na", style: "casual", members: 48, rank: "Platinum", desc: "Late-night battle royale squad. We prioritize vibes over victory but still drop hot every match. All mic ages welcome.", avatar: "https://i.pravatar.cc/100?u=clan2" },
{ name: "Nexus Syndicate", tag: "NXS", game: "moba", region: "eu", style: "competitive", members: 31, rank: "Diamond", desc: "Semi-pro MOBA organization with analyst support. Tryouts open for support and jungle roles. 18+ only.", avatar: "https://i.pravatar.cc/100?u=clan3" },
{ name: "Raid Casual", tag: "RCD", game: "rpg", region: "apac", style: "casual", members: 120, rank: "Casual", desc: "Massive MMO guild with weekly raid nights. All roles welcome, no elitism allowed. We teach new players.", avatar: "https://i.pravatar.cc/100?u=clan4" },
{ name: "Zero Latency", tag: "ZLT", game: "valorant", region: "eu", style: "competitive", members: 18, rank: "Radiant", desc: "Radiant-ranked core seeking sentinel main for regional qualifiers. Mic required, 16+ only, 20+ hrs weekly.", avatar: "https://i.pravatar.cc/100?u=clan5" },
{ name: "Frame Perfect", tag: "FRP", game: "fps", region: "na", style: "competitive", members: 27, rank: "Diamond", desc: "Content-creation clan focused on high-framerate plays and highlight reels. Editor and thumbnail artist needed.", avatar: "https://i.pravatar.cc/100?u=clan6" },
];
function renderClans(list) {
const container = document.getElementById('clan-results');
if (list.length === 0) {
container.innerHTML = '<div class="col-span-2 text-center py-8 text-[#94a3b8]">No clans match your filters. Try broadening your search.</div>';
return;
}
container.innerHTML = list.map(c => `
<div class="bg-[#0b0b14] border border-[#1f1f2e] rounded-lg p-4 flex gap-4 items-start hover:border-[#00f0ff]/50 transition">
<img src="${c.avatar}" class="w-12 h-12 rounded-lg border border-[#1f1f2e]" alt="${c.name}">
<div class="flex-1">
<div class="flex items-center justify-between">
<h4 class="font-display font-bold text-white text-sm">${c.name} <span class="text-xs text-[#94a3b8] font-normal">[${c.tag}]</span></h4>
<span class="text-[10px] px-2 py-0.5 rounded bg-[#00f0ff]/10 text-[#00f0ff] border border-[#00f0ff]/20 font-bold uppercase tracking-wider">${c.rank}</span>
</div>
<p class="text-xs text-[#94a3b8] mt-1.5 leading-relaxed">${c.desc}</p>
<div class="flex items-center gap-4 mt-3 text-[10px] text-[#94a3b8] uppercase tracking-wider">
<span class="flex items-center gap-1">
<svg class="w-3 h-3" fill="currentColor" viewBox="0 0 20 20"><path d="M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z"></path></svg>
${c.members} members
</span>
<span>${c.region}</span>
<span>${c.style}</span>
</div>
</div>
</div>
`).join('');
}
function filterClans() {
const game = document.getElementById('clan-game').value;
const region = document.getElementById('clan-region').value;
const style = document.getElementById('clan-style').value;
const filtered = clans.filter(c =>
(game === 'all' || c.game === game) &&
(region === 'all' || c.region === region) &&
(style === 'all' || c.style === style)
);
renderClans(filtered);
}
document.getElementById('clan-search').addEventListener('click', filterClans);
renderClans(clans);
</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:14:26.184Z",
"url": "https://benchmark.aimac.invalid/4aa71d4a0584b0e09ba8dd61712d3663e65c692e3c4a7af21bd590c3aa9c2151.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": "avoid-inline-spacing",
"impact": null,
"tags": [
"cat.structure",
"wcag21aa",
"wcag1412",
"EN-301-549",
"EN-9.1.4.12",
"ACT"
],
"description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
"help": "Inline text spacing must be adjustable with custom stylesheets",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": []
},
{
"id": "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=\"#\" aria-label=\"Discord\" class=\"w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition\">",
"target": [
"a[aria-label=\"Discord\"]"
]
}
]
},
{
"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=\"#\" aria-label=\"Discord\" class=\"w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition\">",
"target": [
"a[aria-label=\"Discord\"]"
]
}
]
},
{
"id": "aria-hidden-body",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"wcag412",
"EN-301-549",
"EN-9.1.3.1",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden=\"true\" is not present on the document body.",
"help": "aria-hidden=\"true\" must not be present on the document body",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-hidden-body",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "No aria-hidden attribute is present on document body"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<body class=\"antialiased overflow-x-hidden\">",
"target": [
"body"
]
}
]
},
{
"id": "aria-prohibited-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"impact": null,
"html": "<a href=\"#\" aria-label=\"Discord\" class=\"w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition\">",
"target": [
"a[aria-label=\"Discord\"]"
]
}
]
},
{
"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=\"#\" aria-label=\"Discord\" class=\"w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition\">",
"target": [
"a[aria-label=\"Discord\"]"
]
}
]
},
{
"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=\"#\" aria-label=\"Discord\" class=\"w-9 h-9 rounded bg-[#12121e] border border-[#1f1f2e] flex items-center justify-center text-[#94a3b8] hover:text-[#00f0ff] hover:border-[#00f0ff] transition\">",
"target": [
"a[aria-label=\"Discord\"]"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"w-full py-2.5 bg-[#00f0ff] text-[#050508] font-display font-bold uppercase tracking-wider text-sm hover:bg-white transition clip-corner\">Subscribe</button>",
"target": [
".bg-gradient-to-br > 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 class=\"font-display font-bold text-5xl sm:text-7xl lg:text-8xl text-white leading-[0.95] tracking-tight mb-6\">\n EVERY FRAME<br>\n <span class=\"text-transparent bg-clip-text bg-gradient-to-r from-[#00f0ff] to-[#bf00ff]\">MATTERS</span>\n </h1>",
"target": [
"h1"
]
},
{
"html": "<h2 class=\"font-display font-bold text-3xl text-white mt-1\">Latest Intel</h2>",
"target": [
".items-end.mb-10.justify-between > div > .text-3xl"
]
},
{
"html": "<h3 class=\"font-display font-bold text-2xl text-white group-hover:text-[#00f0ff] transition mb-3\">\n <a href=\"#\">Framerate Wars: Why 240Hz Is the New Competitive Baseline</a>\n </h3>",
"target": [
".mb-12:nth-child(2) > .text-2xl.mb-3.group-hover\\:text-\\[\\#00f0ff\\]"
]
},
{
"html": "<h3 class=\"font-display font-bold text-2xl text-white group-hover:text-[#00f0ff] transition mb-3\">\n <a href=\"#\">The Economy Reset: How the Latest Patch Rewrote the Professional Meta</a>\n </h3>",
"target": [
".mb-12:nth-child(3) > .text-2xl.mb-3.group-hover\\:text-\\[\\#00f0ff\\]"
]
},
{
"html": "<h3 class=\"font-display font-bold text-2xl text-white group-hover:text-[#00f0ff] transition mb-3\">\n <a href=\"#\">Latency Lab: Wi-Fi 7 vs. Wired 2.5GbE in 500 Live Matches</a>\n </h3>",
"target": [
"article:nth-child(4) > .text-2xl.mb-3.group-hover\\:text-\\[\\#00f0ff\\]"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white uppercase tracking-wider mb-5 flex items-center gap-2\">",
"target": [
".p-6.bg-\\[\\#12121e\\].rounded-lg:nth-child(1) > .gap-2.mb-5"
]
},
{
"html": "<h4 class=\"text-sm font-semibold text-white group-hover:text-[#00f0ff] transition\">Aether Legends</h4>",
"target": [
".gap-3.group[href=\"#\"]:nth-child(1) > div > .group-hover\\:text-\\[\\#00f0ff\\].font-semibold"
]
},
{
"html": "<h4 class=\"text-sm font-semibold text-white group-hover:text-[#00f0ff] transition\">Fracture Protocol</h4>",
"target": [
".gap-3.group[href=\"#\"]:nth-child(2) > div > .group-hover\\:text-\\[\\#00f0ff\\].font-semibold"
]
},
{
"html": "<h4 class=\"text-sm font-semibold text-white group-hover:text-[#00f0ff] transition\">Starbound Drift</h4>",
"target": [
".gap-3.group[href=\"#\"]:nth-child(3) > div > .group-hover\\:text-\\[\\#00f0ff\\].font-semibold"
]
},
{
"html": "<h4 class=\"text-sm font-semibold text-white group-hover:text-[#00f0ff] transition\">Ironclad Rivals</h4>",
"target": [
".gap-3.group[href=\"#\"]:nth-child(4) > div > .group-hover\\:text-\\[\\#00f0ff\\].font-semibold"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white uppercase tracking-wider mb-5 flex items-center gap-2\">",
"target": [
".p-6.bg-\\[\\#12121e\\].rounded-lg:nth-child(2) > .gap-2.mb-5"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white text-lg mb-2\">The Nexus Brief</h3>",
"target": [
".text-lg.mb-2"
]
},
{
"html": "<h2 class=\"font-display font-bold text-4xl text-white mt-2 mb-6\">The Apex of Competition</h2>",
"target": [
".mt-2.mb-6.text-4xl"
]
},
{
"html": "<h2 class=\"font-display font-bold text-4xl text-white mt-2\">Precision Hardware for Peak Performance</h2>",
"target": [
"#hardware > .max-w-7xl.sm\\:px-6.lg\\:px-8 > .max-w-2xl.mb-14.text-center > .mt-2.text-4xl"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white mb-2\">Graphics Cards</h3>",
"target": [
".overflow-hidden.hover\\:border-\\[\\#00f0ff\\]\\/50.group:nth-child(1) > .p-5 > .mb-2"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white mb-2\">Displays & Monitors</h3>",
"target": [
".overflow-hidden.hover\\:border-\\[\\#00f0ff\\]\\/50.group:nth-child(2) > .p-5 > .mb-2"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white mb-2\">Peripherals</h3>",
"target": [
".overflow-hidden.hover\\:border-\\[\\#00f0ff\\]\\/50.group:nth-child(3) > .p-5 > .mb-2"
]
},
{
"html": "<h3 class=\"font-display font-bold text-white mb-2\">Networking</h3>",
"target": [
".overflow-hidden.hover\\:border-\\[\\#00f0ff\\]\\/50.group:nth-child(4) > .p-5 > .mb-2"
]
},
{
"html": "<h2 class=\"font-display font-bold text-4xl text-white mt-1\">Master the Meta</h2>",
"target": [
".items-end.mb-10.justify-between > div > .text-4xl"
]
},
{
"html": "<h3 class=\"font-display font-bold text-xl text-white group-hover:text-[#00f0ff] transition mt-1 mb-2\">\n <a href=\"#\">Rotational Map Control: Reading the Spawn Economy</a>\n </h3>",
"target": [
"article:nth-child(1) > div > .text-xl.group-hover\\:text-\\[\\#00f0ff\\].mt-1"
]
},
{
"html": "<h3 class=\"font-display font-bold text-xl text-white group-hover:text-[#00f0ff] transition mt-1 mb-2\">\n <a href=\"#\">Economy Management: The Math Behind the Buy Phase</a>\n </h3>",
"target": [
"article:nth-child(2) > div > .text-xl.group-hover\\:text-\\[\\#00f0ff\\].mt-1"
]
},
{
"html": "<h2 class=\"font-display font-bold text-3xl md:text-4xl text-white mb-3\">Enter the Nexus Invitational Predictor</h2>",
"target": [
".md\\:text-4xl"
]
},
{
"html": "<h2 class=\"font-display font-bold text-4xl text-white mt-2\">Find Your Squad</h2>",
"target": [
"#forums > .max-w-7xl.sm\\:px-6.lg\\:px-8 > .max-w-2xl.mb-14.text-center > .mt-2.text-4xl"
]
},
{
"html": "<h3 class=\"font-display font-bold text-2xl text-white\">Clan Finder</h3>",
"target": [
".mb-6.justify-between.items-center > .text-2xl"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white text-sm\">Shadow Reapers <span class=\"text-xs text-[#94a3b8] font-normal\">[SHR]</span></h4>",
"target": [
".p-4.items-start.hover\\:border-\\[\\#00f0ff\\]\\/50:nth-child(1) > .flex-1 > .justify-between.items-center.flex > h4"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white text-sm\">Loot Goblins <span class=\"text-xs text-[#94a3b8] font-normal\">[LGT]</span></h4>",
"target": [
".p-4.items-start.hover\\:border-\\[\\#00f0ff\\]\\/50:nth-child(2) > .flex-1 > .justify-between.items-center.flex > h4"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white text-sm\">Nexus Syndicate <span class=\"text-xs text-[#94a3b8] font-normal\">[NXS]</span></h4>",
"target": [
".p-4.items-start.hover\\:border-\\[\\#00f0ff\\]\\/50:nth-child(3) > .flex-1 > .justify-between.items-center.flex > h4"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white text-sm\">Raid Casual <span class=\"text-xs text-[#94a3b8] font-normal\">[RCD]</span></h4>",
"target": [
".p-4.items-start.hover\\:border-\\[\\#00f0ff\\]\\/50:nth-child(4) > .flex-1 > .justify-between.items-center.flex > h4"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white text-sm\">Zero Latency <span class=\"text-xs text-[#94a3b8] font-normal\">[ZLT]</span></h4>",
"target": [
".p-4.items-start.hover\\:border-\\[\\#00f0ff\\]\\/50:nth-child(5) > .flex-1 > .justify-between.items-center.flex > h4"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white text-sm\">Frame Perfect <span class=\"text-xs text-[#94a3b8] font-normal\">[FRP]</span></h4>",
"target": [
".p-4.items-start.hover\\:border-\\[\\#00f0ff\\]\\/50:nth-child(6) > .flex-1 > .justify-between.items-center.flex > h4"
]
},
{
"html": "<h2 class=\"font-display font-bold text-4xl text-white mt-2\">Frequently Asked Questions</h2>",
"target": [
".mb-12.text-center > .mt-2.text-4xl"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white uppercase tracking-wider text-sm mb-5\">Explore</h4>",
"target": [
".md\\:grid-cols-2.gap-12.lg\\:grid-cols-4 > div:nth-child(2) > .mb-5"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white uppercase tracking-wider text-sm mb-5\">Community</h4>",
"target": [
".md\\:grid-cols-2.gap-12.lg\\:grid-cols-4 > div:nth-child(3) > .mb-5"
]
},
{
"html": "<h4 class=\"font-display font-bold text-white uppercase tracking-wider text-sm mb-5\">Contact</h4>",
"target": [
"div:nth-child(4) > .mb-5"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main>",
"target": [
"main"
]
}
],
"impact": "serious",
"message": "Page has a landmark region"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\" class=\"scroll-smooth\">",
"target": [
"html"
]
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#050508",
"contrastRatio": 20.35,
"fontSize": "18.0pt (24px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 20.35"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<span class=\"font-display font-bold text-2xl tracking-wider text-white leading-none\">NEXUS<span class=\"text-[#00f0ff]\">ARENA</span></span>",
"target": [
".leading-none.text-2xl.tracking-wider"
]
}
]
},
{
"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\" class=\"scroll-smooth\">",
"target": [
"html"
]
}
]
},
{
"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": [],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input type=\"email\" placeholder=\"your@email.gg\" class=\"w-full bg-[#050508] border border-[#1f1f2e] rounded-lg px-4 py-2.5 text-sm text-white focus:outline-none focus:border-[#00f0ff] transition mb-3\">",
"target": [
"input"
]
}
]
},
{
"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\" class=\"scroll-smooth\">",
"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\" class=\"scroll-smooth\">",
"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/48x48/0b0b14/00f0ff?text=NA&font=chakra+petch\" alt=\"Nexus Arena Logo\" class=\"h-10 w-10 rounded transition group-hover:scale-105\">",
"target": [
"img[alt=\"Nexus Arena 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": "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=\"your@email.gg\" class=\"w-full bg-[#050508] border border-[#1f1f2e] rounded-lg px-4 py-2.5 text-sm text-white focus:outline-none focus:border-[#00f0ff] transition mb-3\">",
"target": [
"input"
]
}
]
},
{
"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>",
"target": [
".lg\\:grid-cols-2 > div:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"inline-flex items-center gap-2 text-[#00f0ff] font-display font-bold uppercase tracking-wider hover:text-white transition\">",
"target": [
".inline-flex.gap-2.hover\\:text-white"
]
}
]
},
{
"id": "link-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure links have discernible text",
"help": "Links must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
}
],
"all": [],
"none": [
{
"id": "focusable-no-name",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element is not in tab order or has accessible text"
}
],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\">",
"target": [
".h-20 > .gap-3.group[href=\"#\"]"
]
}
]
},
{
"id": "list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "only-listitems",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List element only has direct children that are allowed inside <li> elements"
}
],
"impact": null,
"html": "<ul class=\"space-y-4\">",
"target": [
".p-6.bg-\\[\\#12121e\\].rounded-lg:nth-child(2) > .space-y-4"
]
}
]
},
{
"id": "listitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <li> elements are used semantically",
"help": "<li> elements must be contained in a <ul> or <ol>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "listitem",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List item has a <ul>, <ol> or role=\"list\" parent element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<li class=\"flex items-center justify-between pb-4 border-b border-[#1f1f2e] last:border-0 last:pb-0\">",
"target": [
".pb-4.last\\:border-0.last\\:pb-0: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/48x48/0b0b14/00f0ff?text=NA&font=chakra+petch\" alt=\"Nexus Arena Logo\" class=\"h-10 w-10 rounded transition group-hover:scale-105\">",
"target": [
"img[alt=\"Nexus Arena Logo\"]"
]
}
]
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<summary class=\"flex items-center justify-between p-5 cursor-pointer\">",
"target": [
"details:nth-child(1) > summary"
]
}
]
},
{
"id": "target-size",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag22aa",
"wcag258"
],
"description": "Ensure touch targets have sufficient size and space",
"help": "All touch targets must be 24px large, or leave sufficient space",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "target-size",
"data": {
"minSize": 24,
"width": 350.9,
"height": 41
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (350.9px by 41px, should be at least 24px by 24px)"
},
{
"id": "target-offset",
"data": {
"closestOffset": 24,
"minOffset": 24
},
"relatedNodes": [],
"impact": "serious",
"message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"flex items-center gap-3 group\">",
"target": [
".h-20 > .gap-3.group[href=\"#\"]"
]
}
]
}
],
"incomplete": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": null,
"bgColor": null,
"contrastRatio": 0,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": "bgOverlap",
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element's background color could not be determined because it is overlapped by another element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"inline-flex items-center gap-2 px-3 py-1.5 rounded-full border border-[#00f0ff]/30 bg-[#00f0ff]/5 text-[#00f0ff] text-xs font-display font-bold uppercase tracking-widest mb-8\">",
"target": [
".py-1\\.5"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined because it is overlapped by another element"
}
]
}
],
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bf00ff",
"bgColor": "#12121e",
"contrastRatio": 4.11,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"group flex gap-6 items-start bg-[#12121e] border border-[#1f1f2e] rounded-lg p-6 hover:border-[#00f0ff]/50 transition\">",
"target": [
"article:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.11 (foreground color: #bf00ff, background color: #12121e, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"text-xs font-bold uppercase tracking-wider text-[#bf00ff]\">Map Control</span>",
"target": [
".text-\\[\\#bf00ff\\].tracking-wider.text-xs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.11 (foreground color: #bf00ff, background color: #12121e, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
]
},
{
"id": "select-name",
"impact": "critical",
"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": "implicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an implicit (wrapped) <label>"
},
{
"id": "explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an explicit <label>"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "critical",
"message": "Element has no title attribute"
},
{
"id": "presentational-role",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
}
],
"all": [],
"none": [],
"impact": "critical",
"html": "<select id=\"clan-game\" class=\"w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff] transition appearance-none cursor-pointer\">",
"target": [
"#clan-game"
],
"failureSummary": "Fix any of the following:\n Element does not have an implicit (wrapped) <label>\n Element does not have an explicit <label>\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute\n Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
},
{
"any": [
{
"id": "implicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an implicit (wrapped) <label>"
},
{
"id": "explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an explicit <label>"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "critical",
"message": "Element has no title attribute"
},
{
"id": "presentational-role",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
}
],
"all": [],
"none": [],
"impact": "critical",
"html": "<select id=\"clan-region\" class=\"w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff] transition appearance-none cursor-pointer\">",
"target": [
"#clan-region"
],
"failureSummary": "Fix any of the following:\n Element does not have an implicit (wrapped) <label>\n Element does not have an explicit <label>\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute\n Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
},
{
"any": [
{
"id": "implicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an implicit (wrapped) <label>"
},
{
"id": "explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element does not have an explicit <label>"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute does not exist or is empty"
},
{
"id": "aria-labelledby",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty"
},
{
"id": "non-empty-title",
"data": {
"messageKey": "noAttr"
},
"relatedNodes": [],
"impact": "critical",
"message": "Element has no title attribute"
},
{
"id": "presentational-role",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
}
],
"all": [],
"none": [],
"impact": "critical",
"html": "<select id=\"clan-style\" class=\"w-full bg-[#0b0b14] border border-[#1f1f2e] rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#00f0ff] transition appearance-none cursor-pointer\">",
"target": [
"#clan-style"
],
"failureSummary": "Fix any of the following:\n Element does not have an implicit (wrapped) <label>\n Element does not have an explicit <label>\n aria-label attribute does not exist or is empty\n aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty\n Element has no title attribute\n Element's default semantics were not overridden with role=\"none\" or role=\"presentation\""
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 8143
},
{
"y": 576,
"height": 8143
},
{
"y": 1152,
"height": 8143
},
{
"y": 1728,
"height": 8143
},
{
"y": 2304,
"height": 8143
},
{
"y": 2880,
"height": 8143
},
{
"y": 3456,
"height": 8143
},
{
"y": 4032,
"height": 8143
},
{
"y": 4608,
"height": 8143
},
{
"y": 5184,
"height": 8143
},
{
"y": 5760,
"height": 8143
},
{
"y": 6336,
"height": 8143
},
{
"y": 6912,
"height": 8143
},
{
"y": 7423,
"height": 8143
}
],
"scans": 15,
"max_states": 512,
"settle_ms": 5000,
"page_timeout_seconds": 150,
"layout_stability": "consecutive 100ms size samples within one CSS pixel",
"animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
"interactive_states": "not exercised",
"horizontal_scroll": "not exercised"
}
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Gaming" 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: "Gaming"
- Description: Video games, esports news, game reviews, and online gaming communities.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Gaming" 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", "Esports", "About".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Gaming" category. Consider themes similar to: "Community Highlights", "Gaming Hardware", "Strategy Guides".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "latency", "competitive ranking", "framerate".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Enter Contest", "Play Free", "Download Now".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Gaming" sector. Ideas similar but not limited to: "clan finder".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "release calendar", "trending games", "editor 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.