Qwen Qwen3.7 Plus – Sports
via Alibaba · Generated
- AIMAC Debt 5.80
- Cost $0.026
- Total Violations 54
- HTML Size 79 KB
- Em Dashes 8
Screenshot
View Live Page
Accessibility Issues Found
54 Serious
-
color-contrast serious 54 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<a href="#" class="btn-tickets">🎟 Tickets</a>
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Apex Sports Network — Where Every Play Matters</title>
<link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
:root {
--navy: #0a1628;
--navy-light: #132038;
--blue: #1e90ff;
--blue-dark: #1570cc;
--orange: #ff6b35;
--orange-dark: #e55a28;
--red: #e63946;
--green: #2ec46d;
--white: #ffffff;
--gray-50: #f8f9fa;
--gray-100: #e9ecef;
--gray-200: #dee2e6;
--gray-300: #ced4da;
--gray-400: #adb5bd;
--gray-500: #6c757d;
--gray-600: #495057;
--gray-700: #343a40;
--gray-800: #212529;
--font-heading: 'Oswald', sans-serif;
--font-body: 'Source Sans 3', sans-serif;
--shadow-sm: 0 1px 3px rgba(0,0,0,0.12);
--shadow-md: 0 4px 12px rgba(0,0,0,0.15);
--shadow-lg: 0 8px 30px rgba(0,0,0,0.2);
--radius: 8px;
--radius-lg: 12px;
--transition: all 0.3s ease;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: var(--font-body);
color: var(--gray-800);
line-height: 1.6;
background: var(--gray-50);
}
a {
text-decoration: none;
color: inherit;
transition: var(--transition);
}
img {
max-width: 100%;
height: auto;
display: block;
}
.container {
max-width: 1280px;
margin: 0 auto;
padding: 0 24px;
}
/* TOP BAR */
.top-bar {
background: var(--navy);
color: var(--gray-300);
font-size: 0.8rem;
padding: 6px 0;
}
.top-bar .container {
display: flex;
justify-content: space-between;
align-items: center;
}
.top-bar a {
color: var(--gray-300);
margin-left: 16px;
}
.top-bar a:hover {
color: var(--blue);
}
.top-bar .date-display {
font-weight: 500;
}
/* HEADER */
.header {
background: var(--navy-light);
border-bottom: 3px solid var(--orange);
position: sticky;
top: 0;
z-index: 1000;
}
.header .container {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 12px;
padding-bottom: 12px;
}
.logo-area {
display: flex;
align-items: center;
gap: 14px;
}
.logo-area img {
width: 52px;
height: 52px;
border-radius: 50%;
border: 2px solid var(--orange);
}
.logo-text h1 {
font-family: var(--font-heading);
font-size: 1.6rem;
font-weight: 700;
color: var(--white);
letter-spacing: 1px;
text-transform: uppercase;
line-height: 1.1;
}
.logo-text .tagline {
font-size: 0.72rem;
color: var(--orange);
font-weight: 500;
text-transform: uppercase;
letter-spacing: 2px;
}
.nav {
display: flex;
align-items: center;
gap: 4px;
}
.nav a {
color: var(--gray-200);
font-family: var(--font-heading);
font-size: 0.95rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.5px;
padding: 8px 14px;
border-radius: 4px;
position: relative;
}
.nav a:hover, .nav a.active {
color: var(--white);
background: rgba(255,255,255,0.08);
}
.nav a.active::after {
content: '';
position: absolute;
bottom: 2px;
left: 50%;
transform: translateX(-50%);
width: 20px;
height: 2px;
background: var(--orange);
border-radius: 2px;
}
.nav .btn-tickets {
background: var(--orange);
color: var(--white);
padding: 8px 18px;
border-radius: 4px;
font-weight: 600;
}
.nav .btn-tickets:hover {
background: var(--orange-dark);
}
.mobile-toggle {
display: none;
background: none;
border: none;
color: var(--white);
font-size: 1.5rem;
cursor: pointer;
}
/* LIVE TICKER */
.live-ticker {
background: var(--navy);
padding: 10px 0;
overflow: hidden;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.ticker-label {
display: inline-flex;
align-items: center;
gap: 6px;
background: var(--red);
color: var(--white);
font-family: var(--font-heading);
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 3px;
margin-right: 16px;
letter-spacing: 1px;
}
.ticker-label .pulse {
width: 8px;
height: 8px;
background: var(--white);
border-radius: 50%;
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
.ticker-content {
display: flex;
align-items: center;
gap: 32px;
animation: scroll 30s linear infinite;
white-space: nowrap;
}
@keyframes scroll {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
.ticker-game {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--gray-200);
font-size: 0.85rem;
font-weight: 500;
}
.ticker-game .score {
color: var(--orange);
font-weight: 700;
font-family: var(--font-heading);
}
.ticker-game .vs {
color: var(--gray-500);
font-size: 0.7rem;
}
/* HERO */
.hero {
position: relative;
background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
padding: 80px 0;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 60%;
height: 100%;
background: url('https://picsum.photos/800/500?blur=2') center/cover;
opacity: 0.15;
mask-image: linear-gradient(to left, rgba(0,0,0,0.5), transparent);
-webkit-mask-image: linear-gradient(to left, rgba(0,0,0,0.5), transparent);
}
.hero .container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
position: relative;
z-index: 2;
}
.hero-content h2 {
font-family: var(--font-heading);
font-size: 3.2rem;
font-weight: 700;
color: var(--white);
text-transform: uppercase;
line-height: 1.1;
margin-bottom: 16px;
}
.hero-content h2 span {
color: var(--orange);
}
.hero-content .subtitle {
font-size: 1.15rem;
color: var(--gray-300);
margin-bottom: 24px;
line-height: 1.7;
}
.hero-content .hero-meta {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 32px;
font-size: 0.85rem;
color: var(--gray-400);
}
.hero-content .hero-meta .badge {
background: var(--red);
color: var(--white);
padding: 3px 10px;
border-radius: 3px;
font-weight: 600;
font-size: 0.75rem;
text-transform: uppercase;
}
.hero-buttons {
display: flex;
gap: 12px;
flex-wrap: wrap;
}
.btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 28px;
border-radius: 6px;
font-family: var(--font-heading);
font-size: 0.95rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
border: none;
transition: var(--transition);
}
.btn-primary {
background: var(--orange);
color: var(--white);
}
.btn-primary:hover {
background: var(--orange-dark);
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(255,107,53,0.4);
}
.btn-secondary {
background: transparent;
color: var(--white);
border: 2px solid rgba(255,255,255,0.3);
}
.btn-secondary:hover {
border-color: var(--blue);
color: var(--blue);
transform: translateY(-2px);
}
.btn-blue {
background: var(--blue);
color: var(--white);
}
.btn-blue:hover {
background: var(--blue-dark);
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(30,144,255,0.4);
}
.hero-image {
position: relative;
}
.hero-image img {
border-radius: var(--radius-lg);
box-shadow: var(--shadow-lg);
width: 100%;
height: 380px;
object-fit: cover;
}
.hero-image .overlay-badge {
position: absolute;
bottom: 20px;
left: 20px;
background: rgba(10,22,40,0.9);
backdrop-filter: blur(10px);
padding: 12px 20px;
border-radius: var(--radius);
border-left: 3px solid var(--orange);
}
.hero-image .overlay-badge .label {
font-size: 0.7rem;
color: var(--orange);
text-transform: uppercase;
font-weight: 600;
letter-spacing: 1px;
}
.hero-image .overlay-badge .value {
font-family: var(--font-heading);
font-size: 1.3rem;
color: var(--white);
font-weight: 700;
}
/* SECTION STYLES */
.section {
padding: 72px 0;
}
.section-dark {
background: var(--navy);
color: var(--white);
}
.section-gray {
background: var(--gray-100);
}
.section-header {
text-align: center;
margin-bottom: 48px;
}
.section-header .overline {
font-family: var(--font-heading);
font-size: 0.8rem;
color: var(--orange);
text-transform: uppercase;
letter-spacing: 3px;
font-weight: 600;
margin-bottom: 8px;
}
.section-header h2 {
font-family: var(--font-heading);
font-size: 2.4rem;
font-weight: 700;
text-transform: uppercase;
line-height: 1.2;
}
.section-header p {
margin-top: 12px;
font-size: 1.05rem;
color: var(--gray-500);
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.section-dark .section-header p {
color: var(--gray-400);
}
/* MAIN LAYOUT WITH SIDEBAR */
.main-layout {
display: grid;
grid-template-columns: 1fr 340px;
gap: 40px;
}
/* NEWS CARDS */
.news-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}
.news-card {
background: var(--white);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: var(--transition);
}
.news-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.news-card.featured {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 1.2fr 1fr;
}
.news-card .card-image {
position: relative;
overflow: hidden;
}
.news-card .card-image img {
width: 100%;
height: 200px;
object-fit: cover;
transition: var(--transition);
}
.news-card.featured .card-image img {
height: 100%;
min-height: 280px;
}
.news-card:hover .card-image img {
transform: scale(1.05);
}
.news-card .card-image .category {
position: absolute;
top: 12px;
left: 12px;
background: var(--orange);
color: var(--white);
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 3px;
letter-spacing: 0.5px;
}
.news-card .card-body {
padding: 20px;
}
.news-card .card-body h3 {
font-family: var(--font-heading);
font-size: 1.2rem;
font-weight: 600;
text-transform: uppercase;
margin-bottom: 10px;
line-height: 1.3;
}
.news-card.featured .card-body h3 {
font-size: 1.5rem;
}
.news-card .card-body p {
font-size: 0.9rem;
color: var(--gray-600);
line-height: 1.6;
margin-bottom: 14px;
}
.news-card .card-meta {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 0.78rem;
color: var(--gray-500);
}
.news-card .card-meta .author {
font-weight: 600;
color: var(--gray-700);
}
/* SIDEBAR */
.sidebar {
display: flex;
flex-direction: column;
gap: 28px;
}
.sidebar-widget {
background: var(--white);
border-radius: var(--radius-lg);
padding: 24px;
box-shadow: var(--shadow-sm);
}
.sidebar-widget h4 {
font-family: var(--font-heading);
font-size: 1.1rem;
text-transform: uppercase;
margin-bottom: 18px;
padding-bottom: 12px;
border-bottom: 2px solid var(--gray-100);
position: relative;
}
.sidebar-widget h4::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 40px;
height: 2px;
background: var(--orange);
}
/* Standings Widget */
.standings-table {
width: 100%;
font-size: 0.85rem;
}
.standings-table th {
text-align: left;
font-family: var(--font-heading);
font-size: 0.75rem;
text-transform: uppercase;
color: var(--gray-500);
padding: 6px 0;
letter-spacing: 0.5px;
}
.standings-table th:not(:first-child) {
text-align: center;
}
.standings-table td {
padding: 8px 0;
border-bottom: 1px solid var(--gray-100);
}
.standings-table td:not(:first-child) {
text-align: center;
}
.standings-table .team-name {
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
}
.standings-table .team-dot {
width: 8px;
height: 8px;
border-radius: 50%;
}
.standings-table .record {
font-weight: 600;
color: var(--blue);
}
/* Top Performers */
.performer-item {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid var(--gray-100);
}
.performer-item:last-child {
border-bottom: none;
}
.performer-item img {
width: 40px;
height: 40px;
border-radius: 50%;
object-fit: cover;
}
.performer-item .perf-info {
flex: 1;
}
.performer-item .perf-name {
font-weight: 600;
font-size: 0.9rem;
}
.performer-item .perf-stat {
font-size: 0.78rem;
color: var(--gray-500);
}
.performer-item .perf-value {
font-family: var(--font-heading);
font-size: 1.1rem;
font-weight: 700;
color: var(--orange);
}
/* Fan Poll */
.poll-option {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 14px;
margin-bottom: 8px;
border: 2px solid var(--gray-200);
border-radius: var(--radius);
cursor: pointer;
transition: var(--transition);
font-size: 0.9rem;
font-weight: 500;
}
.poll-option:hover {
border-color: var(--blue);
background: rgba(30,144,255,0.05);
}
.poll-option.selected {
border-color: var(--blue);
background: rgba(30,144,255,0.08);
}
.poll-option .radio {
width: 16px;
height: 16px;
border-radius: 50%;
border: 2px solid var(--gray-300);
flex-shrink: 0;
position: relative;
}
.poll-option.selected .radio {
border-color: var(--blue);
}
.poll-option.selected .radio::after {
content: '';
position: absolute;
top: 3px;
left: 3px;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--blue);
}
.poll-votes {
text-align: center;
font-size: 0.8rem;
color: var(--gray-500);
margin-top: 12px;
}
/* GAME ANALYSIS SECTION */
.analysis-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}
.analysis-card {
background: var(--white);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: var(--transition);
}
.analysis-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}
.analysis-card .card-image {
position: relative;
}
.analysis-card .card-image img {
width: 100%;
height: 200px;
object-fit: cover;
}
.analysis-card .card-image .play-icon {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 50px;
height: 50px;
background: rgba(255,107,53,0.9);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--white);
font-size: 1.2rem;
opacity: 0;
transition: var(--transition);
}
.analysis-card:hover .play-icon {
opacity: 1;
}
.analysis-card .card-body {
padding: 20px;
}
.analysis-card .card-body .tag {
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
color: var(--blue);
letter-spacing: 1px;
margin-bottom: 8px;
}
.analysis-card .card-body h3 {
font-family: var(--font-heading);
font-size: 1.1rem;
text-transform: uppercase;
margin-bottom: 10px;
line-height: 1.3;
}
.analysis-card .card-body p {
font-size: 0.88rem;
color: var(--gray-600);
line-height: 1.6;
}
/* STATS SECTION */
.stats-bar {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
margin-top: 48px;
}
.stat-item {
text-align: center;
padding: 28px 16px;
background: rgba(255,255,255,0.05);
border-radius: var(--radius-lg);
border: 1px solid rgba(255,255,255,0.1);
}
.stat-item .stat-number {
font-family: var(--font-heading);
font-size: 2.5rem;
font-weight: 700;
color: var(--orange);
line-height: 1;
margin-bottom: 6px;
}
.stat-item .stat-label {
font-size: 0.85rem;
color: var(--gray-400);
text-transform: uppercase;
letter-spacing: 1px;
}
/* BRACKET CHALLENGE */
.bracket-section {
background: linear-gradient(135deg, var(--navy) 0%, #1a2d4a 100%);
padding: 72px 0;
}
.bracket-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}
.bracket-info h2 {
font-family: var(--font-heading);
font-size: 2.2rem;
color: var(--white);
text-transform: uppercase;
margin-bottom: 16px;
}
.bracket-info h2 span {
color: var(--orange);
}
.bracket-info p {
color: var(--gray-300);
font-size: 1rem;
line-height: 1.7;
margin-bottom: 20px;
}
.bracket-features {
list-style: none;
margin-bottom: 28px;
}
.bracket-features li {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 0;
color: var(--gray-200);
font-size: 0.95rem;
}
.bracket-features li .check {
width: 22px;
height: 22px;
background: var(--green);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--white);
font-size: 0.7rem;
flex-shrink: 0;
}
.bracket-visual {
background: rgba(255,255,255,0.05);
border-radius: var(--radius-lg);
padding: 32px;
border: 1px solid rgba(255,255,255,0.1);
}
.bracket-round {
margin-bottom: 20px;
}
.bracket-round h5 {
font-family: var(--font-heading);
font-size: 0.75rem;
text-transform: uppercase;
color: var(--orange);
letter-spacing: 2px;
margin-bottom: 10px;
}
.bracket-matchup {
display: flex;
align-items: center;
justify-content: space-between;
background: rgba(255,255,255,0.05);
border-radius: var(--radius);
padding: 10px 16px;
margin-bottom: 8px;
cursor: pointer;
transition: var(--transition);
}
.bracket-matchup:hover {
background: rgba(255,255,255,0.1);
}
.bracket-matchup .team {
display: flex;
align-items: center;
gap: 8px;
font-size: 0.85rem;
color: var(--gray-200);
font-weight: 500;
}
.bracket-matchup .team .seed {
font-family: var(--font-heading);
font-size: 0.7rem;
background: rgba(255,255,255,0.1);
padding: 2px 6px;
border-radius: 3px;
color: var(--gray-400);
}
.bracket-matchup .pick-indicator {
font-size: 0.7rem;
color: var(--green);
font-weight: 600;
}
/* EVENTS SECTION */
.events-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.event-card {
display: flex;
align-items: center;
gap: 20px;
background: var(--white);
border-radius: var(--radius-lg);
padding: 20px;
box-shadow: var(--shadow-sm);
transition: var(--transition);
}
.event-card:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-md);
}
.event-date {
text-align: center;
min-width: 60px;
padding: 10px;
background: var(--navy);
border-radius: var(--radius);
}
.event-date .month {
font-family: var(--font-heading);
font-size: 0.7rem;
text-transform: uppercase;
color: var(--orange);
letter-spacing: 1px;
}
.event-date .day {
font-family: var(--font-heading);
font-size: 1.6rem;
font-weight: 700;
color: var(--white);
line-height: 1.2;
}
.event-info h4 {
font-family: var(--font-heading);
font-size: 1rem;
text-transform: uppercase;
margin-bottom: 4px;
}
.event-info p {
font-size: 0.85rem;
color: var(--gray-500);
}
.event-info .event-meta {
display: flex;
align-items: center;
gap: 12px;
margin-top: 6px;
font-size: 0.78rem;
color: var(--gray-400);
}
.event-info .event-meta .sport-tag {
background: var(--gray-100);
padding: 2px 8px;
border-radius: 3px;
font-weight: 600;
color: var(--gray-600);
}
/* TESTIMONIALS */
.testimonials-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.testimonial-card {
background: var(--white);
border-radius: var(--radius-lg);
padding: 28px;
box-shadow: var(--shadow-sm);
position: relative;
}
.testimonial-card::before {
content: '"';
font-family: var(--font-heading);
font-size: 4rem;
color: var(--orange);
opacity: 0.2;
position: absolute;
top: 10px;
right: 20px;
line-height: 1;
}
.testimonial-card .stars {
color: var(--orange);
font-size: 0.9rem;
margin-bottom: 12px;
}
.testimonial-card p {
font-size: 0.92rem;
color: var(--gray-600);
line-height: 1.7;
margin-bottom: 18px;
font-style: italic;
}
.testimonial-card .author {
display: flex;
align-items: center;
gap: 12px;
}
.testimonial-card .author img {
width: 44px;
height: 44px;
border-radius: 50%;
object-fit: cover;
}
.testimonial-card .author .name {
font-weight: 700;
font-size: 0.9rem;
}
.testimonial-card .author .role {
font-size: 0.78rem;
color: var(--gray-500);
}
/* FAQ */
.faq-list {
max-width: 760px;
margin: 0 auto;
}
.faq-item {
border: 1px solid var(--gray-200);
border-radius: var(--radius);
margin-bottom: 12px;
overflow: hidden;
background: var(--white);
}
.faq-question {
display: flex;
align-items: center;
justify-content: space-between;
padding: 18px 24px;
cursor: pointer;
font-weight: 600;
font-size: 0.95rem;
transition: var(--transition);
}
.faq-question:hover {
background: var(--gray-50);
}
.faq-question .icon {
font-size: 1.2rem;
color: var(--orange);
transition: var(--transition);
font-weight: 700;
}
.faq-item.active .faq-question .icon {
transform: rotate(45deg);
}
.faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-item.active .faq-answer {
max-height: 300px;
padding: 0 24px 18px;
}
.faq-answer p {
font-size: 0.9rem;
color: var(--gray-600);
line-height: 1.7;
}
/* NEWSLETTER */
.newsletter {
background: linear-gradient(135deg, var(--orange) 0%, var(--orange-dark) 100%);
padding: 56px 0;
text-align: center;
}
.newsletter h2 {
font-family: var(--font-heading);
font-size: 2rem;
color: var(--white);
text-transform: uppercase;
margin-bottom: 10px;
}
.newsletter p {
color: rgba(255,255,255,0.85);
font-size: 1rem;
margin-bottom: 28px;
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
.newsletter-form {
display: flex;
max-width: 480px;
margin: 0 auto;
gap: 8px;
}
.newsletter-form input {
flex: 1;
padding: 14px 20px;
border: none;
border-radius: var(--radius);
font-size: 0.95rem;
font-family: var(--font-body);
outline: none;
}
.newsletter-form button {
padding: 14px 28px;
background: var(--navy);
color: var(--white);
border: none;
border-radius: var(--radius);
font-family: var(--font-heading);
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
cursor: pointer;
transition: var(--transition);
}
.newsletter-form button:hover {
background: var(--navy-light);
transform: translateY(-2px);
}
/* FOOTER */
.footer {
background: var(--navy);
color: var(--gray-300);
padding: 60px 0 0;
}
.footer-grid {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1fr;
gap: 40px;
padding-bottom: 40px;
border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-brand .logo-area {
margin-bottom: 16px;
}
.footer-brand p {
font-size: 0.88rem;
line-height: 1.7;
color: var(--gray-400);
margin-bottom: 20px;
}
.footer-social {
display: flex;
gap: 10px;
}
.footer-social a {
width: 38px;
height: 38px;
background: rgba(255,255,255,0.08);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--gray-300);
font-size: 0.85rem;
transition: var(--transition);
}
.footer-social a:hover {
background: var(--orange);
color: var(--white);
}
.footer-col h5 {
font-family: var(--font-heading);
font-size: 0.9rem;
text-transform: uppercase;
color: var(--white);
margin-bottom: 18px;
letter-spacing: 1px;
}
.footer-col ul {
list-style: none;
}
.footer-col ul li {
margin-bottom: 10px;
}
.footer-col ul li a {
color: var(--gray-400);
font-size: 0.88rem;
transition: var(--transition);
}
.footer-col ul li a:hover {
color: var(--orange);
padding-left: 4px;
}
.footer-bottom {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 0;
font-size: 0.8rem;
color: var(--gray-500);
}
.footer-bottom a {
color: var(--gray-400);
margin-left: 20px;
}
.footer-bottom a:hover {
color: var(--orange);
}
/* RESPONSIVE */
@media (max-width: 1024px) {
.main-layout {
grid-template-columns: 1fr;
}
.sidebar {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
.hero .container {
grid-template-columns: 1fr;
}
.bracket-content {
grid-template-columns: 1fr;
}
.analysis-grid {
grid-template-columns: 1fr 1fr;
}
.footer-grid {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 768px) {
.nav {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--navy-light);
flex-direction: column;
padding: 16px;
border-top: 1px solid rgba(255,255,255,0.1);
}
.nav.active {
display: flex;
}
.mobile-toggle {
display: block;
}
.hero-content h2 {
font-size: 2.2rem;
}
.news-grid {
grid-template-columns: 1fr;
}
.news-card.featured {
grid-template-columns: 1fr;
}
.analysis-grid {
grid-template-columns: 1fr;
}
.stats-bar {
grid-template-columns: 1fr 1fr;
}
.events-grid {
grid-template-columns: 1fr;
}
.testimonials-grid {
grid-template-columns: 1fr;
}
.sidebar {
grid-template-columns: 1fr;
}
.newsletter-form {
flex-direction: column;
}
.footer-grid {
grid-template-columns: 1fr;
}
.footer-bottom {
flex-direction: column;
gap: 10px;
text-align: center;
}
}
</style>
</head>
<body>
<!-- TOP BAR -->
<div class="top-bar">
<div class="container">
<span class="date-display" id="currentDate"></span>
<div>
<a href="#">Sign In</a>
<a href="#">Create Account</a>
<a href="#">📱 Get the App</a>
</div>
</div>
</div>
<!-- HEADER -->
<header class="header">
<div class="container">
<div class="logo-area">
<img src="https://placehold.co/52x52/0a1628/ff6b35?text=ASN&font=oswald" alt="Apex Sports Network Logo">
<div class="logo-text">
<h1>Apex Sports Network</h1>
<span class="tagline">Where Every Play Matters</span>
</div>
</div>
<nav class="nav" id="mainNav">
<a href="#" class="active">Home</a>
<a href="#">Scores</a>
<a href="#">Standings</a>
<a href="#">Teams</a>
<a href="#">News</a>
<a href="#">Analysis</a>
<a href="#" class="btn-tickets">🎟 Tickets</a>
</nav>
<button class="mobile-toggle" onclick="document.getElementById('mainNav').classList.toggle('active')">☰</button>
</div>
</header>
<!-- LIVE TICKER -->
<div class="live-ticker">
<div class="container" style="display:flex;align-items:center;">
<span class="ticker-label"><span class="pulse"></span> LIVE</span>
<div style="overflow:hidden;flex:1;">
<div class="ticker-content">
<span class="ticker-game">LAL <span class="score">112</span> <span class="vs">FINAL</span> <span class="score">108</span> BOS</span>
<span class="ticker-game">⚾ NYY <span class="score">5</span> <span class="vs">Q7</span> <span class="score">3</span> LAD</span>
<span class="ticker-game">KC <span class="score">28</span> <span class="vs">HALF</span> <span class="score">21</span> BUF</span>
<span class="ticker-game">⚽ MCI <span class="score">2</span> <span class="vs">78'</span> <span class="score">1</span> ARS</span>
<span class="ticker-game">TB <span class="score">98</span> <span class="vs">Q3</span> <span class="score">87</span> DAL</span>
<span class="ticker-game">⚾ HOU <span class="score">7</span> <span class="vs">TOP5</span> <span class="score">4</span> SEA</span>
<!-- Duplicate for seamless scroll -->
<span class="ticker-game">LAL <span class="score">112</span> <span class="vs">FINAL</span> <span class="score">108</span> BOS</span>
<span class="ticker-game">⚾ NYY <span class="score">5</span> <span class="vs">Q7</span> <span class="score">3</span> LAD</span>
<span class="ticker-game">KC <span class="score">28</span> <span class="vs">HALF</span> <span class="score">21</span> BUF</span>
<span class="ticker-game">⚽ MCI <span class="score">2</span> <span class="vs">78'</span> <span class="score">1</span> ARS</span>
<span class="ticker-game">TB <span class="score">98</span> <span class="vs">Q3</span> <span class="score">87</span> DAL</span>
<span class="ticker-game">⚾ HOU <span class="score">7</span> <span class="vs">TOP5</span> <span class="score">4</span> SEA</span>
</div>
</div>
</div>
</div>
<!-- HERO -->
<section class="hero">
<div class="container">
<div class="hero-content">
<div class="hero-meta">
<span class="badge">Breaking</span>
<span>Championship Playoffs — Game 7 Tonight</span>
</div>
<h2>Thunder <span>Clash</span> in the Finals Showdown</h2>
<p class="subtitle">The metropolitan Thunder prepare for a historic Game 7 against the Riverside Hawks in what analysts are calling the most anticipated championship matchup in over a decade. Both squads have battled through grueling series to reach this pinnacle moment, with roster moves and strategic trades all leading to tonight's decisive contest.</p>
<div class="hero-buttons">
<a href="#" class="btn btn-primary">▶ Watch Live</a>
<a href="#" class="btn btn-secondary">Game Preview →</a>
</div>
</div>
<div class="hero-image">
<img src="https://picsum.photos/600/380" alt="Championship Finals Game 7">
<div class="overlay-badge">
<div class="label">Tonight</div>
<div class="value">8:00 PM ET</div>
</div>
</div>
</div>
</section>
<!-- MAIN CONTENT WITH SIDEBAR -->
<section class="section">
<div class="container">
<div class="section-header" style="text-align:left;margin-bottom:32px;">
<div class="overline">Top Stories</div>
<h2>Today's Headlines</h2>
</div>
<div class="main-layout">
<div class="news-grid">
<!-- Featured Article -->
<article class="news-card featured">
<div class="card-image">
<img src="https://picsum.photos/600/400" alt="Free Agency Analysis">
<span class="category">Free Agency</span>
</div>
<div class="card-body">
<h3>Blockbuster Free Agency Period Reshapes League Landscape Ahead of New Season</h3>
<p>The latest free agency window has produced seismic shifts across the league, with marquee players commanding record-setting contracts and mid-tier talent creating ripple effects throughout every roster. Front offices have been aggressive in their pursuit of championship-caliber pieces, leveraging salary cap flexibility and creative trade structures to assemble deep, versatile rosters capable of withstanding the rigors of an 82-game schedule. Analysts project that at least six teams have significantly improved their title odds through these roster moves, setting up what could be the most competitive season in recent memory.</p>
<div class="card-meta">
<span class="author">Marcus Thompson</span>
<span>12 min read • 2 hours ago</span>
</div>
</div>
</article>
<!-- Article 2 -->
<article class="news-card">
<div class="card-image">
<img src="https://picsum.photos/400/250" alt="Sports Analytics">
<span class="category">Analytics</span>
</div>
<div class="card-body">
<h3>How Sports Analytics Is Revolutionizing In-Game Strategy</h3>
<p>Advanced metrics and AI-driven models are fundamentally changing how coaches approach fourth-down decisions, defensive alignments, and player substitution patterns across all major leagues.</p>
<div class="card-meta">
<span class="author">Dr. Sarah Chen</span>
<span>8 min read</span>
</div>
</div>
</article>
<!-- Article 3 -->
<article class="news-card">
<div class="card-image">
<img src="https://picsum.photos/400/251" alt="Draft Prospects">
<span class="category">Draft</span>
</div>
<div class="card-body">
<h3>Top Draft Prospects: Scouting Report on the Class of 2025</h3>
<p>This year's draft class features an unprecedented collection of two-way talent, with scouts projecting multiple franchise-altering players available in the first round alone.</p>
<div class="card-meta">
<span class="author">James Whitfield</span>
<span>15 min read</span>
</div>
</div>
</article>
<!-- Article 4 -->
<article class="news-card">
<div class="card-image">
<img src="https://picsum.photos/400/252" alt="Injury Report">
<span class="category">Injury Report</span>
</div>
<div class="card-body">
<h3>Key Injury Updates: Star Quarterback Day-to-Day After Concussion Protocol</h3>
<p>The league's MVP candidate has entered concussion protocol following a hard hit in the fourth quarter. Team physicians remain cautiously optimistic about his availability for next week's crucial divisional matchup.</p>
<div class="card-meta">
<span class="author">Lisa Rodriguez</span>
<span>5 min read</span>
</div>
</div>
</article>
<!-- Article 5 -->
<article class="news-card">
<div class="card-image">
<img src="https://picsum.photos/400/253" alt="Trade Deadline">
<span class="category">Trade Deadline</span>
</div>
<div class="card-body">
<h3>Trade Deadline Preview: Which Contenders Are Most Active?</h3>
<p>With the trade deadline approaching, several playoff-contending teams are exploring aggressive moves to bolster their rosters. We break down the most likely deals and their potential impact on the championship race.</p>
<div class="card-meta">
<span class="author">David Park</span>
<span>10 min read</span>
</div>
</div>
</article>
</div>
<!-- SIDEBAR -->
<aside class="sidebar">
<!-- Standings Widget -->
<div class="sidebar-widget">
<h4>Conference Standings</h4>
<table class="standings-table">
<thead>
<tr>
<th>Team</th>
<th>W</th>
<th>L</th>
<th>PCT</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="team-name"><span class="team-dot" style="background:#5526ff;"></span> Metro Thunder</span></td>
<td class="record">54</td>
<td>18</td>
<td>.750</td>
</tr>
<tr>
<td><span class="team-name"><span class="team-dot" style="background:#e63946;"></span> Riverside Hawks</span></td>
<td class="record">51</td>
<td>21</td>
<td>.708</td>
</tr>
<tr>
<td><span class="team-name"><span class="team-dot" style="background:#2ec46d;"></span> Coastal Surge</span></td>
<td class="record">48</td>
<td>24</td>
<td>.667</td>
</tr>
<tr>
<td><span class="team-name"><span class="team-dot" style="background:#ff6b35;"></span> Summit Wolves</span></td>
<td class="record">45</td>
<td>27</td>
<td>.625</td>
</tr>
<tr>
<td><span class="team-name"><span class="team-dot" style="background:#1e90ff;"></span> Harbor Kings</span></td>
<td class="record">42</td>
<td>30</td>
<td>.583</td>
</tr>
</tbody>
</table>
<a href="#" style="display:block;text-align:center;margin-top:14px;font-size:0.82rem;color:var(--blue);font-weight:600;">View Full Standings →</a>
</div>
<!-- Top Performers -->
<div class="sidebar-widget">
<h4>Top Performers</h4>
<div class="performer-item">
<img src="https://i.pravatar.cc/40?u=athlete1" alt="Player">
<div class="perf-info">
<div class="perf-name">Jaylen Carter</div>
<div class="perf-stat">Metro Thunder • PPG</div>
</div>
<div class="perf-value">32.4</div>
</div>
<div class="performer-item">
<img src="https://i.pravatar.cc/40?u=athlete2" alt="Player">
<div class="perf-info">
<div class="perf-name">Marcus Webb</div>
<div class="perf-stat">Riverside Hawks • APG</div>
</div>
<div class="perf-value">11.2</div>
</div>
<div class="performer-item">
<img src="https://i.pravatar.cc/40?u=athlete3" alt="Player">
<div class="perf-info">
<div class="perf-name">Darius Okafor</div>
<div class="perf-stat">Coastal Surge • RPG</div>
</div>
<div class="perf-value">14.8</div>
</div>
<div class="performer-item">
<img src="https://i.pravatar.cc/40?u=athlete4" alt="Player">
<div class="perf-info">
<div class="perf-name">Tyler Brennan</div>
<div class="perf-stat">Summit Wolves • SPG</div>
</div>
<div class="perf-value">2.9</div>
</div>
</div>
<!-- Fan Poll -->
<div class="sidebar-widget">
<h4>Fan Poll</h4>
<p style="font-size:0.9rem;color:var(--gray-600);margin-bottom:14px;font-weight:500;">Who wins tonight's Game 7?</p>
<div class="poll-option" onclick="selectPoll(this)">
<span class="radio"></span>
<span>Metro Thunder</span>
</div>
<div class="poll-option" onclick="selectPoll(this)">
<span class="radio"></span>
<span>Riverside Hawks</span>
</div>
<div class="poll-votes">12,847 votes • Poll closes at 7:00 PM ET</div>
</div>
<!-- Highlights Widget -->
<div class="sidebar-widget">
<h4>Game Highlights</h4>
<div style="display:flex;flex-direction:column;gap:12px;">
<a href="#" style="display:flex;gap:10px;align-items:center;">
<img src="https://picsum.photos/80/50" alt="Highlight" style="width:80px;height:50px;border-radius:4px;object-fit:cover;">
<div>
<div style="font-size:0.82rem;font-weight:600;line-height:1.3;">Carter's buzzer-beater sends crowd into frenzy</div>
<div style="font-size:0.72rem;color:var(--gray-500);">3:24 • 45K views</div>
</div>
</a>
<a href="#" style="display:flex;gap:10px;align-items:center;">
<img src="https://picsum.photos/80/51" alt="Highlight" style="width:80px;height:50px;border-radius:4px;object-fit:cover;">
<div>
<div style="font-size:0.82rem;font-weight:600;line-height:1.3;">Webb's triple-double leads Hawks to Game 6 win</div>
<div style="font-size:0.72rem;color:var(--gray-500);">5:11 • 38K views</div>
</div>
</a>
<a href="#" style="display:flex;gap:10px;align-items:center;">
<img src="https://picsum.photos/80/52" alt="Highlight" style="width:80px;height:50px;border-radius:4px;object-fit:cover;">
<div>
<div style="font-size:0.82rem;font-weight:600;line-height:1.3;">Top 10 plays of the playoff series so far</div>
<div style="font-size:0.72rem;color:var(--gray-500);">8:45 • 92K views</div>
</div>
</a>
</div>
</div>
</aside>
</div>
</div>
</section>
<!-- GAME ANALYSIS SECTION -->
<section class="section section-gray">
<div class="container">
<div class="section-header">
<div class="overline">Deep Dive</div>
<h2>Game Analysis & Breakdowns</h2>
<p>Our expert analysts break down the film, examine the advanced metrics, and provide the tactical insights that casual coverage misses.</p>
</div>
<div class="analysis-grid">
<div class="analysis-card">
<div class="card-image">
<img src="https://picsum.photos/400/250" alt="Defensive Analysis">
<div class="play-icon">▶</div>
</div>
<div class="card-body">
<div class="tag">Defensive Scheme</div>
<h3>Breaking Down the Switch-Heavy Defense That Stopped the League's Top Offense</h3>
<p>The Coastal Surge's defensive transformation under new coordinator Mike Patel has been nothing short of remarkable. By implementing a positionless switching scheme that leverages their roster's unprecedented versatility, they've held opponents to just 98.2 points per game over the last 20 contests — the best mark in franchise history.</p>
</div>
</div>
<div class="analysis-card">
<div class="card-image">
<img src="https://picsum.photos/400/251" alt="Offensive Strategy">
<div class="play-icon">▶</div>
</div>
<div class="card-body">
<div class="tag">Offensive Strategy</div>
<h3>The Pick-and-Roll Evolution: How Modern Offenses Are Exploiting Drop Coverage</h3>
<p>Sports analytics have revealed a significant trend in how elite offensive systems are attacking traditional drop coverage schemes. The data shows a 23% increase in points per possession when teams utilize short-roll actions against hedging big men, fundamentally changing how defensive coordinators must prepare their game plans.</p>
</div>
</div>
<div class="analysis-card">
<div class="card-image">
<img src="https://picsum.photos/400/252" alt="Roster Analysis">
<div class="play-icon">▶</div>
</div>
<div class="card-body">
<div class="tag">Roster Construction</div>
<h3>Building a Championship Roster: The Analytics Behind Successful Team Building</h3>
<p>Front offices are increasingly relying on sophisticated modeling to construct balanced rosters that can compete across a long season and deep playoff run. Our analysis examines how the most successful franchises allocate their salary cap, identifying undervalued asset types and optimal contract structures that maximize competitive windows.</p>
</div>
</div>
</div>
<!-- Stats Bar -->
<div class="stats-bar">
<div class="stat-item">
<div class="stat-number">2,847</div>
<div class="stat-label">Games Covered</div>
</div>
<div class="stat-item">
<div class="stat-number">156</div>
<div class="stat-label">Expert Analysts</div>
</div>
<div class="stat-item">
<div class="stat-number">4.2M</div>
<div class="stat-label">Monthly Readers</div>
</div>
<div class="stat-item">
<div class="stat-number">98%</div>
<div class="stat-label">Fan Satisfaction</div>
</div>
</div>
</div>
</section>
<!-- BRACKET CHALLENGE -->
<section class="bracket-section">
<div class="container">
<div class="bracket-content">
<div class="bracket-info">
<h2>Playoff <span>Bracket Challenge</span></h2>
<p>Think you know ball? Put your predictive skills to the test with our interactive Playoff Bracket Challenge. Pick every matchup from the first round through the Finals and compete against fans worldwide for glory and prizes. Our algorithm tracks your picks against millions of other entrants, updating your national ranking in real-time as games are played.</p>
<p>Whether you're a casual fan making intuitive picks or a stats nerd leveraging advanced metrics to identify upset opportunities, the Bracket Challenge offers the perfect blend of entertainment and competition throughout the entire postseason.</p>
<ul class="bracket-features">
<li><span class="check">✓</span> Free to enter — no purchase necessary</li>
<li><span class="check">✓</span> Real-time leaderboard with national rankings</li>
<li><span class="check">✓</span> Private groups to compete with friends</li>
<li><span class="check">✓</span> Weekly prize draws for top performers</li>
<li><span class="check">✓</span> AI-powered pick suggestions based on historical data</li>
</ul>
<a href="#" class="btn btn-primary">Enter the Challenge →</a>
</div>
<div class="bracket-visual">
<div class="bracket-round">
<h5>Conference Semifinals</h5>
<div class="bracket-matchup">
<span class="team"><span class="seed">#1</span> Metro Thunder</span>
<span class="pick-indicator">YOUR PICK ✓</span>
</div>
<div class="bracket-matchup">
<span class="team"><span class="seed">#4</span> Valley Suns</span>
<span class="pick-indicator"></span>
</div>
</div>
<div class="bracket-round">
<h5>Conference Semifinals</h5>
<div class="bracket-matchup">
<span class="team"><span class="seed">#2</span> Riverside Hawks</span>
<span class="pick-indicator">YOUR PICK ✓</span>
</div>
<div class="bracket-matchup">
<span class="team"><span class="seed">#3</span> Coastal Surge</span>
<span class="pick-indicator"></span>
</div>
</div>
<div class="bracket-round">
<h5>Conference Finals (Projected)</h5>
<div class="bracket-matchup">
<span class="team"><span class="seed">#1</span> Metro Thunder</span>
<span class="pick-indicator"></span>
</div>
<div class="bracket-matchup">
<span class="team"><span class="seed">#2</span> Riverside Hawks</span>
<span class="pick-indicator"></span>
</div>
</div>
<div style="text-align:center;margin-top:16px;padding:12px;background:rgba(255,107,53,0.1);border-radius:var(--radius);border:1px dashed var(--orange);">
<span style="font-size:0.8rem;color:var(--orange);font-weight:600;text-transform:uppercase;letter-spacing:1px;">Your Current Rank: #4,218 of 2.1M</span>
</div>
</div>
</div>
</div>
</section>
<!-- UPCOMING EVENTS -->
<section class="section">
<div class="container">
<div class="section-header">
<div class="overline">Mark Your Calendar</div>
<h2>Upcoming Events & Schedule</h2>
<p>Don't miss a moment of the action. Here's what's coming up across all major leagues and competitions.</p>
</div>
<div class="events-grid">
<div class="event-card">
<div class="event-date">
<div class="month">Jun</div>
<div class="day">15</div>
</div>
<div class="event-info">
<h4>Championship Finals — Game 7</h4>
<p>Metro Thunder vs. Riverside Hawks</p>
<div class="event-meta">
<span class="sport-tag">Basketball</span>
<span>8:00 PM ET • Apex Arena</span>
</div>
</div>
</div>
<div class="event-card">
<div class="event-date">
<div class="month">Jun</div>
<div class="day">18</div>
</div>
<div class="event-info">
<h4>All-Star Draft & Skills Competition</h4>
<p>Annual showcase featuring the league's elite talent</p>
<div class="event-meta">
<span class="sport-tag">Basketball</span>
<span>7:00 PM ET • National Arena</span>
</div>
</div>
</div>
<div class="event-card">
<div class="event-date">
<div class="month">Jun</div>
<div class="day">22</div>
</div>
<div class="event-info">
<h4>Summer League Kickoff</h4>
<p>Rookies and sophomores compete for roster spots</p>
<div class="event-meta">
<span class="sport-tag">Basketball</span>
<span>12:00 PM ET • Training Complex</span>
</div>
</div>
</div>
<div class="event-card">
<div class="event-date">
<div class="month">Jul</div>
<div class="day">01</div>
</div>
<div class="event-info">
<h4>Free Agency Period Opens</h4>
<p>Teams begin negotiating with unrestricted free agents</p>
<div class="event-meta">
<span class="sport-tag">Transactions</span>
<span>6:00 PM ET • League-wide</span>
</div>
</div>
</div>
<div class="event-card">
<div class="event-date">
<div class="month">Jul</div>
<div class="day">08</div>
</div>
<div class="event-info">
<h4>Annual Draft — Round 1</h4>
<p>The next generation of stars enters the league</p>
<div class="event-meta">
<span class="sport-tag">Draft</span>
<span>8:00 PM ET • Convention Center</span>
</div>
</div>
</div>
<div class="event-card">
<div class="event-date">
<div class="month">Jul</div>
<div class="day">20</div>
</div>
<div class="event-info">
<h4>Preseason Training Camps Begin</h4>
<p>All 30 franchises open their doors for media day</p>
<div class="event-meta">
<span class="sport-tag">Offseason</span>
<span>Various Locations</span>
</div>
</div>
</div>
</div>
<div style="text-align:center;margin-top:36px;">
<a href="#" class="btn btn-blue">View Full Season Schedule →</a>
</div>
</div>
</section>
<!-- TESTIMONIALS / FAN ZONE -->
<section class="section section-gray">
<div class="container">
<div class="section-header">
<div class="overline">Fan Zone</div>
<h2>What Our Community Says</h2>
<p>Join millions of passionate fans who trust Apex Sports Network for their daily sports fix.</p>
</div>
<div class="testimonials-grid">
<div class="testimonial-card">
<div class="stars">★★★★★</div>
<p>"Apex Sports Network has completely changed how I follow the game. The in-depth analysis and real-time score updates keep me connected no matter where I am. Their bracket challenge had our entire office hooked last postseason."</p>
<div class="author">
<img src="https://i.pravatar.cc/44?u=fan1" alt="Fan">
<div>
<div class="name">Ryan Mitchell</div>
<div class="role">Season Ticket Holder • 8 Years</div>
</div>
</div>
</div>
<div class="testimonial-card">
<div class="stars">★★★★★</div>
<p>"As a fantasy sports enthusiast, the player analytics and injury reports here are invaluable. The depth of coverage is unmatched — from draft prospect scouting reports to real-time trade deadline updates, ASN covers it all with authority."</p>
<div class="author">
<img src="https://i.pravatar.cc/44?u=fan2" alt="Fan">
<div>
<div class="name">Amanda Torres</div>
<div class="role">Fantasy League Commissioner</div>
</div>
</div>
</div>
<div class="testimonial-card">
<div class="stars">★★★★★</div>
<p>"The live game coverage and expert commentary are top-tier. I've tried every sports platform out there, and nothing comes close to the quality and speed of updates you get here. The video highlights are especially fantastic."</p>
<div class="author">
<img src="https://i.pravatar.cc/44?u=fan3" alt="Fan">
<div>
<div class="name">Derek Johnson</div>
<div class="role">Sports Podcaster • 200K Listeners</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- FAQ SECTION -->
<section class="section">
<div class="container">
<div class="section-header">
<div class="overline">Support</div>
<h2>Frequently Asked Questions</h2>
<p>Everything you need to know about getting the most out of Apex Sports Network.</p>
</div>
<div class="faq-list">
<div class="faq-item active">
<div class="faq-question" onclick="toggleFaq(this)">
<span>What sports does Apex Sports Network cover?</span>
<span class="icon">+</span>
</div>
<div class="faq-answer">
<p>We provide comprehensive coverage across all major professional and collegiate sports including basketball, football, baseball, soccer, hockey, tennis, and mixed martial arts. Our team of over 150 expert analysts ensures that every league, every team, and every significant roster move gets the attention it deserves. We also cover emerging sports and international competitions to keep you informed about the global athletic landscape.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-question" onclick="toggleFaq(this)">
<span>How do I access live scores and real-time updates?</span>
<span class="icon">+</span>
</div>
<div class="faq-answer">
<p>Live scores are available on our homepage ticker, dedicated Scores page, and through our mobile app with push notification support. You can customize which teams and games you follow to receive instant alerts for scoring plays, major momentum shifts, and final results. Our data feeds update every 2-3 seconds during live games, ensuring you're always current.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-question" onclick="toggleFaq(this)">
<span>Is the Bracket Challenge free to enter?</span>
<span class="icon">+</span>
</div>
<div class="faq-answer">
<p>Yes! Our Playoff Bracket Challenge is completely free to enter with no purchase necessary. Simply create an account, make your picks before each round begins, and compete against fans nationwide. Top performers earn recognition on our leaderboard, exclusive merchandise, and entries into our weekly prize drawings. Premium members also get access to AI-powered pick suggestions based on historical performance data.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-question" onclick="toggleFaq(this)">
<span>Can I purchase tickets to games through ASN?</span>
<span class="icon">+</span>
</div>
<div class="faq-answer">
<p>Absolutely. Our integrated ticketing platform partners with all major venues and primary ticket sellers to offer you the best available seats at competitive prices. You can browse upcoming games, compare seating options with interactive venue maps, and purchase directly through our site or app. ASN Premium members receive early access to high-demand games and exclusive presale opportunities.</p>
</div>
</div>
<div class="faq-item">
<div class="faq-question" onclick="toggleFaq(this)">
<span>What does an ASN Premium membership include?</span>
<span class="icon">+</span>
</div>
<div class="faq-answer">
<p>ASN Premium unlocks ad-free browsing, exclusive long-form analysis pieces, advanced sports analytics dashboards, early ticket access, bracket challenge AI tools, and member-only live Q&A sessions with our expert analysts. Premium members also receive our weekly "Inside the Front Office" newsletter with insider information on trades, free agency targets, and roster strategy. Plans start at $9.99/month with annual discounts available.</p>
</div>
</div>
</div>
</div>
</section>
<!-- NEWSLETTER -->
<section class="newsletter">
<div class="container">
<h2>Never Miss a Big Play</h2>
<p>Subscribe to our daily newsletter and get the top stories, scores, and analysis delivered straight to your inbox every morning.</p>
<form class="newsletter-form" onsubmit="event.preventDefault();alert('Thanks for subscribing!');">
<input type="email" placeholder="Enter your email address" required>
<button type="submit">Subscribe</button>
</form>
</div>
</section>
<!-- FOOTER -->
<footer class="footer">
<div class="container">
<div class="footer-grid">
<div class="footer-brand">
<div class="logo-area">
<img src="https://placehold.co/42x42/0a1628/ff6b35?text=ASN&font=oswald" alt="ASN Logo">
<div class="logo-text">
<h1 style="font-size:1.2rem;">Apex Sports Network</h1>
</div>
</div>
<p>Your definitive source for sports news, live scores, expert analysis, and fan engagement. Covering every game, every play, every moment that matters — since 2018.</p>
<div class="footer-social">
<a href="#" aria-label="Twitter">𝕏</a>
<a href="#" aria-label="Facebook">f</a>
<a href="#" aria-label="Instagram">ig</a>
<a href="#" aria-label="YouTube">▶</a>
<a href="#" aria-label="TikTok">tk</a>
</div>
</div>
<div class="footer-col">
<h5>Coverage</h5>
<ul>
<li><a href="#">Live Scores</a></li>
<li><a href="#">Standings</a></li>
<li><a href="#">Team Pages</a></li>
<li><a href="#">Player Stats</a></li>
<li><a href="#">Schedule</a></li>
<li><a href="#">Draft Coverage</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Features</h5>
<ul>
<li><a href="#">Bracket Challenge</a></li>
<li><a href="#">Fantasy Tools</a></li>
<li><a href="#">Video Highlights</a></li>
<li><a href="#">Podcasts</a></li>
<li><a href="#">Premium Membership</a></li>
<li><a href="#">Mobile App</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Contact</h5>
<ul>
<li><a href="#">Editorial Tips</a></li>
<li><a href="#">Advertising</a></li>
<li><a href="#">Press Inquiries</a></li>
<li><a href="#">Careers</a></li>
<li><a href="#">Help Center</a></li>
<li><a href="mailto:info@apexsports.net">info@apexsports.net</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<span>© 2025 Apex Sports Network. All rights reserved.</span>
<div>
<a href="#">Privacy Policy</a>
<a href="#">Terms of Service</a>
<a href="#">Cookie Settings</a>
<a href="#">Accessibility</a>
</div>
</div>
</div>
</footer>
<script>
// Set current date
const dateEl = document.getElementById('currentDate');
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
dateEl.textContent = new Date().toLocaleDateString('en-US', options);
// FAQ Toggle
function toggleFaq(el) {
const item = el.parentElement;
const isActive = item.classList.contains('active');
// Close all
document.querySelectorAll('.faq-item').forEach(i => i.classList.remove('active'));
// Open clicked if it wasn't active
if (!isActive) {
item.classList.add('active');
}
}
// Poll Selection
function selectPoll(el) {
document.querySelectorAll('.poll-option').forEach(opt => opt.classList.remove('selected'));
el.classList.add('selected');
}
// Smooth scroll for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function(e) {
const href = this.getAttribute('href');
if (href !== '#') {
e.preventDefault();
const target = document.querySelector(href);
if (target) {
target.scrollIntoView({ behavior: 'smooth' });
}
}
});
});
</script>
</body>
</html>
View Axe Report (JSON)
{
"testEngine": {
"name": "axe-core",
"version": "4.10.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
"windowWidth": 1280,
"windowHeight": 720,
"orientationAngle": 0,
"orientationType": "landscape-primary"
},
"timestamp": "2026-11-12T09:43:12.839Z",
"url": "https://benchmark.aimac.invalid/7a0a309620748e798ed2df47963b30304eb2f615fec5ac09cd151deb8a324b78.html",
"toolOptions": {
"runOnly": {
"type": "tag",
"values": [
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa"
]
},
"resultTypes": [
"violations"
],
"reporter": "v1"
},
"inapplicable": [
{
"id": "area-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <area> elements of image maps have alternative text",
"help": "Active <area> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
"nodes": []
},
{
"id": "aria-braille-equivalent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
"help": "aria-braille attributes must have a non-braille equivalent",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
"nodes": []
},
{
"id": "aria-command-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-deprecated-role",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
"nodes": []
},
{
"id": "aria-hidden-focus",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
"nodes": []
},
{
"id": "aria-input-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-meter-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-progressbar-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-children",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-parent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
"nodes": []
},
{
"id": "aria-roles",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
"nodes": []
},
{
"id": "aria-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": []
},
{
"id": "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": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": []
},
{
"id": "svg-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "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=\"Twitter\">\ud835\udd4f</a>",
"target": [
"a[aria-label=\"Twitter\"]"
]
}
]
},
{
"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=\"Twitter\">\ud835\udd4f</a>",
"target": [
"a[aria-label=\"Twitter\"]"
]
}
]
},
{
"id": "aria-hidden-body",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"wcag412",
"EN-301-549",
"EN-9.1.3.1",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden=\"true\" is not present on the document body.",
"help": "aria-hidden=\"true\" must not be present on the document body",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "aria-hidden-body",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "No aria-hidden attribute is present on document body"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<body>",
"target": [
"body"
]
}
]
},
{
"id": "aria-prohibited-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"impact": null,
"html": "<a href=\"#\" aria-label=\"Twitter\">\ud835\udd4f</a>",
"target": [
"a[aria-label=\"Twitter\"]"
]
}
]
},
{
"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=\"Twitter\">\ud835\udd4f</a>",
"target": [
"a[aria-label=\"Twitter\"]"
]
}
]
},
{
"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=\"Twitter\">\ud835\udd4f</a>",
"target": [
"a[aria-label=\"Twitter\"]"
]
}
]
},
{
"id": "avoid-inline-spacing",
"impact": null,
"tags": [
"cat.structure",
"wcag21aa",
"wcag1412",
"EN-301-549",
"EN-9.1.4.12",
"ACT"
],
"description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
"help": "Inline text spacing must be adjustable with custom stylesheets",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "important-letter-spacing",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
},
{
"id": "important-word-spacing",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
},
{
"id": "important-line-height",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "line-height in the style attribute is not set to !important, or meets the minimum"
}
],
"none": [],
"impact": null,
"html": "<div class=\"container\" style=\"display:flex;align-items:center;\">",
"target": [
".live-ticker > .container"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button type=\"submit\">Subscribe</button>",
"target": [
"button[type=\"submit\"]"
]
}
]
},
{
"id": "bypass",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1"
],
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1>Apex Sports Network</h1>",
"target": [
".container > .logo-area > .logo-text > h1"
]
},
{
"html": "<h2>Thunder <span>Clash</span> in the Finals Showdown</h2>",
"target": [
".hero-content > h2"
]
},
{
"html": "<h2>Today's Headlines</h2>",
"target": [
".section:nth-child(5) > .container > .section-header > h2"
]
},
{
"html": "<h3>Blockbuster Free Agency Period Reshapes League Landscape Ahead of New Season</h3>",
"target": [
".featured > .card-body > h3"
]
},
{
"html": "<h3>How Sports Analytics Is Revolutionizing In-Game Strategy</h3>",
"target": [
"article:nth-child(2) > .card-body > h3"
]
},
{
"html": "<h3>Top Draft Prospects: Scouting Report on the Class of 2025</h3>",
"target": [
"article:nth-child(3) > .card-body > h3"
]
},
{
"html": "<h3>Key Injury Updates: Star Quarterback Day-to-Day After Concussion Protocol</h3>",
"target": [
"article:nth-child(4) > .card-body > h3"
]
},
{
"html": "<h3>Trade Deadline Preview: Which Contenders Are Most Active?</h3>",
"target": [
"article:nth-child(5) > .card-body > h3"
]
},
{
"html": "<h4>Conference Standings</h4>",
"target": [
".sidebar-widget:nth-child(1) > h4"
]
},
{
"html": "<h4>Top Performers</h4>",
"target": [
".sidebar-widget:nth-child(2) > h4"
]
},
{
"html": "<h4>Fan Poll</h4>",
"target": [
".sidebar-widget:nth-child(3) > h4"
]
},
{
"html": "<h4>Game Highlights</h4>",
"target": [
".sidebar-widget:nth-child(4) > h4"
]
},
{
"html": "<h2>Game Analysis & Breakdowns</h2>",
"target": [
".section-gray.section:nth-child(6) > .container > .section-header > h2"
]
},
{
"html": "<h3>Breaking Down the Switch-Heavy Defense That Stopped the League's Top Offense</h3>",
"target": [
".analysis-card:nth-child(1) > .card-body > h3"
]
},
{
"html": "<h3>The Pick-and-Roll Evolution: How Modern Offenses Are Exploiting Drop Coverage</h3>",
"target": [
".analysis-card:nth-child(2) > .card-body > h3"
]
},
{
"html": "<h3>Building a Championship Roster: The Analytics Behind Successful Team Building</h3>",
"target": [
".analysis-card:nth-child(3) > .card-body > h3"
]
},
{
"html": "<h2>Playoff <span>Bracket Challenge</span></h2>",
"target": [
".bracket-info > h2"
]
},
{
"html": "<h5>Conference Semifinals</h5>",
"target": [
".bracket-round:nth-child(1) > h5"
]
},
{
"html": "<h5>Conference Semifinals</h5>",
"target": [
".bracket-round:nth-child(2) > h5"
]
},
{
"html": "<h5>Conference Finals (Projected)</h5>",
"target": [
".bracket-round:nth-child(3) > h5"
]
},
{
"html": "<h2>Upcoming Events & Schedule</h2>",
"target": [
".section:nth-child(8) > .container > .section-header > h2"
]
},
{
"html": "<h4>Championship Finals \u2014 Game 7</h4>",
"target": [
".event-card:nth-child(1) > .event-info > h4"
]
},
{
"html": "<h4>All-Star Draft & Skills Competition</h4>",
"target": [
".event-card:nth-child(2) > .event-info > h4"
]
},
{
"html": "<h4>Summer League Kickoff</h4>",
"target": [
".event-card:nth-child(3) > .event-info > h4"
]
},
{
"html": "<h4>Free Agency Period Opens</h4>",
"target": [
".event-card:nth-child(4) > .event-info > h4"
]
},
{
"html": "<h4>Annual Draft \u2014 Round 1</h4>",
"target": [
".event-card:nth-child(5) > .event-info > h4"
]
},
{
"html": "<h4>Preseason Training Camps Begin</h4>",
"target": [
".event-card:nth-child(6) > .event-info > h4"
]
},
{
"html": "<h2>What Our Community Says</h2>",
"target": [
".section-gray.section:nth-child(9) > .container > .section-header > h2"
]
},
{
"html": "<h2>Frequently Asked Questions</h2>",
"target": [
".section:nth-child(10) > .container > .section-header > h2"
]
},
{
"html": "<h2>Never Miss a Big Play</h2>",
"target": [
".container > h2"
]
},
{
"html": "<h1 style=\"font-size:1.2rem;\">Apex Sports Network</h1>",
"target": [
".footer-brand > .logo-area > .logo-text > h1"
]
},
{
"html": "<h5>Coverage</h5>",
"target": [
".footer-col:nth-child(2) > h5"
]
},
{
"html": "<h5>Features</h5>",
"target": [
".footer-col:nth-child(3) > h5"
]
},
{
"html": "<h5>Contact</h5>",
"target": [
".footer-col:nth-child(4) > h5"
]
}
],
"impact": "serious",
"message": "Page has a heading"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ced4da",
"bgColor": "#0a1628",
"contrastRatio": 12.13,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 12.13"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<span class=\"date-display\" id=\"currentDate\">Thursday, November 12, 2026</span>",
"target": [
"#currentDate"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "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=\"Enter your email address\" required=\"\">",
"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\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"TT7.b",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
"help": "Images must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-alt",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has an alt attribute"
}
],
"all": [],
"none": [
{
"id": "alt-space-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a valid alt attribute value"
}
],
"impact": null,
"html": "<img src=\"https://placehold.co/52x52/0a1628/ff6b35?text=ASN&font=oswald\" alt=\"Apex Sports Network Logo\">",
"target": [
"img[alt=\"Apex Sports Network 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=\"Enter your email address\" required=\"\">",
"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 class=\"bracket-info\">",
"target": [
".bracket-info"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"btn btn-primary\">Enter the Challenge \u2192</a>",
"target": [
".bracket-info > .btn-primary.btn[href=\"#\"]"
]
}
]
},
{
"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=\"#\">Sign In</a>",
"target": [
".top-bar > .container > div > a[href=\"#\"]:nth-child(1)"
]
}
]
},
{
"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=\"bracket-features\">",
"target": [
".bracket-features"
]
}
]
},
{
"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><span class=\"check\">\u2713</span> Free to enter \u2014 no purchase necessary</li>",
"target": [
".bracket-features > li:nth-child(1)"
]
}
]
},
{
"id": "meta-viewport",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag2aa",
"wcag144",
"EN-301-549",
"EN-9.1.4.4",
"ACT"
],
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "meta-viewport",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "<meta> tag does not disable zooming on mobile devices"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"target": [
"meta[name=\"viewport\"]"
]
}
]
},
{
"id": "nested-interactive",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "no-focusable-content",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element does not have focusable descendants"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<img src=\"https://placehold.co/52x52/0a1628/ff6b35?text=ASN&font=oswald\" alt=\"Apex Sports Network Logo\">",
"target": [
"img[alt=\"Apex Sports Network Logo\"]"
]
}
]
},
{
"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-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=\"#\">Sign In</a>",
"target": [
".top-bar > .container > div > a[href=\"#\"]:nth-child(1)"
]
}
]
},
{
"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": [
{
"any": [],
"all": [
{
"id": "td-headers-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The headers attribute is exclusively used to refer to other cells in the table"
}
],
"none": [],
"impact": null,
"html": "<table class=\"standings-table\">",
"target": [
"table"
]
}
]
},
{
"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": [
{
"any": [],
"all": [
{
"id": "th-has-data-cells",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "All table header cells refer to data cells"
}
],
"none": [],
"impact": null,
"html": "<table class=\"standings-table\">",
"target": [
"table"
]
}
]
}
],
"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": {
"fontSize": "9.0pt (12px)",
"fontWeight": "normal",
"messageKey": "pseudoContent",
"expectedContrastRatio": "4.5:1"
},
"relatedNodes": [
{
"html": "<section class=\"hero\">",
"target": [
".hero"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a pseudo element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"badge\">Breaking</span>",
"target": [
".badge"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a pseudo 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": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "11.4pt (15.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a href=\"#\" class=\"btn-tickets\">\ud83c\udf9f Tickets</a>",
"target": [
".btn-tickets"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"btn-tickets\">\ud83c\udf9f Tickets</a>",
"target": [
".btn-tickets"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#e63946",
"contrastRatio": 4.16,
"fontSize": "9.0pt (12px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"ticker-label\"><span class=\"pulse\"></span> LIVE</span>",
"target": [
".ticker-label"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #e63946, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"ticker-label\"><span class=\"pulse\"></span> LIVE</span>",
"target": [
".ticker-label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.16 (foreground color: #ffffff, background color: #e63946, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">FINAL</span>",
"target": [
".ticker-game:nth-child(1) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">Q7</span>",
"target": [
".ticker-game:nth-child(2) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">HALF</span>",
"target": [
".ticker-game:nth-child(3) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">78'</span>",
"target": [
".ticker-game:nth-child(4) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">Q3</span>",
"target": [
".ticker-game:nth-child(5) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">TOP5</span>",
"target": [
".ticker-game:nth-child(6) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">FINAL</span>",
"target": [
".ticker-game:nth-child(7) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#f8f9fa",
"contrastRatio": 2.68,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.68 (foreground color: #ff6b35, background color: #f8f9fa, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"overline\">Top Stories</div>",
"target": [
".section:nth-child(5) > .container > .section-header > .overline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.68 (foreground color: #ff6b35, background color: #f8f9fa, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"category\">Free Agency</span>",
"target": [
".featured > .card-image > .category"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"category\">Free Agency</span>",
"target": [
".featured > .card-image > .category"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"category\">Analytics</span>",
"target": [
"article:nth-child(2) > .card-image > .category"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"category\">Analytics</span>",
"target": [
"article:nth-child(2) > .card-image > .category"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"category\">Draft</span>",
"target": [
"article:nth-child(3) > .card-image > .category"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"category\">Draft</span>",
"target": [
"article:nth-child(3) > .card-image > .category"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"category\">Injury Report</span>",
"target": [
"article:nth-child(4) > .card-image > .category"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"category\">Injury Report</span>",
"target": [
"article:nth-child(4) > .card-image > .category"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"category\">Trade Deadline</span>",
"target": [
"article:nth-child(5) > .card-image > .category"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"category\">Trade Deadline</span>",
"target": [
"article:nth-child(5) > .card-image > .category"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<td class=\"record\">54</td>",
"target": [
"tr:nth-child(1) > .record"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<td class=\"record\">51</td>",
"target": [
"tr:nth-child(2) > .record"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<td class=\"record\">48</td>",
"target": [
"tr:nth-child(3) > .record"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<td class=\"record\">45</td>",
"target": [
"tr:nth-child(4) > .record"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<td class=\"record\">42</td>",
"target": [
"tr:nth-child(5) > .record"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "9.8pt (13.12px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" style=\"display:block;text-align:center;margin-top:14px;font-size:0.82rem;color:var(--blue);font-weight:600;\">View Full Standings \u2192</a>",
"target": [
".sidebar-widget:nth-child(1) > a[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#ffffff",
"contrastRatio": 2.83,
"fontSize": "13.2pt (17.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"perf-value\">32.4</div>",
"target": [
".performer-item:nth-child(2) > .perf-value"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#ffffff",
"contrastRatio": 2.83,
"fontSize": "13.2pt (17.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"perf-value\">11.2</div>",
"target": [
".performer-item:nth-child(3) > .perf-value"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#ffffff",
"contrastRatio": 2.83,
"fontSize": "13.2pt (17.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"perf-value\">14.8</div>",
"target": [
".performer-item:nth-child(4) > .perf-value"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#ffffff",
"contrastRatio": 2.83,
"fontSize": "13.2pt (17.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-widget\">",
"target": [
".sidebar-widget:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"perf-value\">2.9</div>",
"target": [
".performer-item:nth-child(5) > .perf-value"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ff6b35, background color: #ffffff, font size: 13.2pt (17.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#e9ecef",
"contrastRatio": 2.39,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.39 (foreground color: #ff6b35, background color: #e9ecef, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"overline\">Deep Dive</div>",
"target": [
".section-gray.section:nth-child(6) > .container > .section-header > .overline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.39 (foreground color: #ff6b35, background color: #e9ecef, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#e9ecef",
"contrastRatio": 3.95,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.95 (foreground color: #6c757d, background color: #e9ecef, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>Our expert analysts break down the film, examine the advanced metrics, and provide the tactical insights that casual coverage misses.</p>",
"target": [
".section-gray.section:nth-child(6) > .container > .section-header > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.95 (foreground color: #6c757d, background color: #e9ecef, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "8.6pt (11.52px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"analysis-card\">",
"target": [
".analysis-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"tag\">Defensive Scheme</div>",
"target": [
".analysis-card:nth-child(1) > .card-body > .tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "8.6pt (11.52px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"analysis-card\">",
"target": [
".analysis-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"tag\">Offensive Strategy</div>",
"target": [
".analysis-card:nth-child(2) > .card-body > .tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#1e90ff",
"bgColor": "#ffffff",
"contrastRatio": 3.23,
"fontSize": "8.6pt (11.52px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"analysis-card\">",
"target": [
".analysis-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"tag\">Roster Construction</div>",
"target": [
".analysis-card:nth-child(3) > .card-body > .tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #1e90ff, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#eaedf0",
"contrastRatio": 2.41,
"fontSize": "30.0pt (40px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">2,847</div>\n <div class=\"stat-label\">Games Covered</div>\n </div>",
"target": [
".stat-item:nth-child(1)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-number\">2,847</div>",
"target": [
".stat-item:nth-child(1) > .stat-number"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#eaedf0",
"contrastRatio": 1.76,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">2,847</div>\n <div class=\"stat-label\">Games Covered</div>\n </div>",
"target": [
".stat-item:nth-child(1)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-label\">Games Covered</div>",
"target": [
".stat-item:nth-child(1) > .stat-label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#eaedf0",
"contrastRatio": 2.41,
"fontSize": "30.0pt (40px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">156</div>\n <div class=\"stat-label\">Expert Analysts</div>\n </div>",
"target": [
".stat-item:nth-child(2)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-number\">156</div>",
"target": [
".stat-item:nth-child(2) > .stat-number"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#eaedf0",
"contrastRatio": 1.76,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">156</div>\n <div class=\"stat-label\">Expert Analysts</div>\n </div>",
"target": [
".stat-item:nth-child(2)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-label\">Expert Analysts</div>",
"target": [
".stat-item:nth-child(2) > .stat-label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#eaedf0",
"contrastRatio": 2.41,
"fontSize": "30.0pt (40px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">4.2M</div>\n <div class=\"stat-label\">Monthly Readers</div>\n </div>",
"target": [
".stat-item:nth-child(3)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-number\">4.2M</div>",
"target": [
".stat-item:nth-child(3) > .stat-number"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#eaedf0",
"contrastRatio": 1.76,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">4.2M</div>\n <div class=\"stat-label\">Monthly Readers</div>\n </div>",
"target": [
".stat-item:nth-child(3)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-label\">Monthly Readers</div>",
"target": [
".stat-item:nth-child(3) > .stat-label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#eaedf0",
"contrastRatio": 2.41,
"fontSize": "30.0pt (40px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">98%</div>\n <div class=\"stat-label\">Fan Satisfaction</div>\n </div>",
"target": [
".stat-item:nth-child(4)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-number\">98%</div>",
"target": [
".stat-item:nth-child(4) > .stat-number"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.41 (foreground color: #ff6b35, background color: #eaedf0, font size: 30.0pt (40px), font weight: bold). Expected contrast ratio of 3:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#eaedf0",
"contrastRatio": 1.76,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"stat-item\">\n <div class=\"stat-number\">98%</div>\n <div class=\"stat-label\">Fan Satisfaction</div>\n </div>",
"target": [
".stat-item:nth-child(4)"
]
},
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"stat-label\">Fan Satisfaction</div>",
"target": [
".stat-item:nth-child(4) > .stat-label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.76 (foreground color: #adb5bd, background color: #eaedf0, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#ff6b35",
"contrastRatio": 2.83,
"fontSize": "11.4pt (15.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a href=\"#\" class=\"btn btn-primary\">Enter the Challenge \u2192</a>",
"target": [
".bracket-info > .btn-primary.btn[href=\"#\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"btn btn-primary\">Enter the Challenge \u2192</a>",
"target": [
".bracket-info > .btn-primary.btn[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.83 (foreground color: #ffffff, background color: #ff6b35, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#f8f9fa",
"contrastRatio": 2.68,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.68 (foreground color: #ff6b35, background color: #f8f9fa, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"overline\">Mark Your Calendar</div>",
"target": [
".section:nth-child(8) > .container > .section-header > .overline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.68 (foreground color: #ff6b35, background color: #f8f9fa, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#f8f9fa",
"contrastRatio": 4.44,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #6c757d, background color: #f8f9fa, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>Don't miss a moment of the action. Here's what's coming up across all major leagues and competitions.</p>",
"target": [
".section:nth-child(8) > .container > .section-header > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #6c757d, background color: #f8f9fa, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#ffffff",
"contrastRatio": 2.07,
"fontSize": "9.4pt (12.48px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event-card\">",
"target": [
".event-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>8:00 PM ET \u2022 Apex Arena</span>",
"target": [
".event-card:nth-child(1) > .event-info > .event-meta > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#ffffff",
"contrastRatio": 2.07,
"fontSize": "9.4pt (12.48px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event-card\">",
"target": [
".event-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>7:00 PM ET \u2022 National Arena</span>",
"target": [
".event-card:nth-child(2) > .event-info > .event-meta > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#ffffff",
"contrastRatio": 2.07,
"fontSize": "9.4pt (12.48px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event-card\">",
"target": [
".event-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>12:00 PM ET \u2022 Training Complex</span>",
"target": [
".event-card:nth-child(3) > .event-info > .event-meta > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#ffffff",
"contrastRatio": 2.07,
"fontSize": "9.4pt (12.48px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event-card\">",
"target": [
".event-card:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>6:00 PM ET \u2022 League-wide</span>",
"target": [
".event-card:nth-child(4) > .event-info > .event-meta > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#ffffff",
"contrastRatio": 2.07,
"fontSize": "9.4pt (12.48px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event-card\">",
"target": [
".event-card:nth-child(5)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>8:00 PM ET \u2022 Convention Center</span>",
"target": [
".event-card:nth-child(5) > .event-info > .event-meta > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#adb5bd",
"bgColor": "#ffffff",
"contrastRatio": 2.07,
"fontSize": "9.4pt (12.48px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event-card\">",
"target": [
".event-card:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Various Locations</span>",
"target": [
".event-card:nth-child(6) > .event-info > .event-meta > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.07 (foreground color: #adb5bd, background color: #ffffff, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#1e90ff",
"contrastRatio": 3.23,
"fontSize": "11.4pt (15.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a href=\"#\" class=\"btn btn-blue\">View Full Season Schedule \u2192</a>",
"target": [
".btn-blue"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.23 (foreground color: #ffffff, background color: #1e90ff, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"btn btn-blue\">View Full Season Schedule \u2192</a>",
"target": [
".btn-blue"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.23 (foreground color: #ffffff, background color: #1e90ff, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#e9ecef",
"contrastRatio": 2.39,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(9)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.39 (foreground color: #ff6b35, background color: #e9ecef, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"overline\">Fan Zone</div>",
"target": [
".section-gray.section:nth-child(9) > .container > .section-header > .overline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.39 (foreground color: #ff6b35, background color: #e9ecef, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#e9ecef",
"contrastRatio": 3.95,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section section-gray\">",
"target": [
".section-gray.section:nth-child(9)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.95 (foreground color: #6c757d, background color: #e9ecef, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>Join millions of passionate fans who trust Apex Sports Network for their daily sports fix.</p>",
"target": [
".section-gray.section:nth-child(9) > .container > .section-header > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.95 (foreground color: #6c757d, background color: #e9ecef, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ff6b35",
"bgColor": "#f8f9fa",
"contrastRatio": 2.68,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.68 (foreground color: #ff6b35, background color: #f8f9fa, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"overline\">Support</div>",
"target": [
".section:nth-child(10) > .container > .section-header > .overline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.68 (foreground color: #ff6b35, background color: #f8f9fa, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#f8f9fa",
"contrastRatio": 4.44,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #6c757d, background color: #f8f9fa, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>Everything you need to know about getting the most out of Apex Sports Network.</p>",
"target": [
".section:nth-child(10) > .container > .section-header > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #6c757d, background color: #f8f9fa, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>\u00a9 2025 Apex Sports Network. All rights reserved.</span>",
"target": [
".footer-bottom > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#6c757d",
"bgColor": "#0a1628",
"contrastRatio": 3.86,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"live-ticker\">",
"target": [
".live-ticker"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"vs\">Q7</span>",
"target": [
".ticker-game:nth-child(8) > .vs"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.86 (foreground color: #6c757d, background color: #0a1628, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 7101
},
{
"y": 576,
"height": 7101
},
{
"y": 1152,
"height": 7101
},
{
"y": 1728,
"height": 7101
},
{
"y": 2304,
"height": 7101
},
{
"y": 2880,
"height": 7101
},
{
"y": 3456,
"height": 7101
},
{
"y": 4032,
"height": 7101
},
{
"y": 4608,
"height": 7101
},
{
"y": 5184,
"height": 7101
},
{
"y": 5760,
"height": 7101
},
{
"y": 6336,
"height": 7101
},
{
"y": 6381,
"height": 7101
}
],
"scans": 14,
"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 "Sports" 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: "Sports"
- Description: Sports news, team updates, scores, events, and athletic resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Sports" 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: "Tickets", "Standings", "Teams".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Sports" category. Consider themes similar to: "Game Analysis", "Live Scores", "Historical Records".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "free agency", "roster move", "sports analytics".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Join Fan Club", "Subscribe", "Watch Game".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Sports" sector. Ideas similar but not limited to: "bracket challenge".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "top performers", "game highlights", "fan polls".
- **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.