Qwen Qwen3.7 Plus – Careers
via Alibaba · Generated
- AIMAC Debt 5.51
- Cost $0.023
- Total Violations 40
- HTML Size 71 KB
- Em Dashes 9
Screenshot
View Live Page
Accessibility Issues Found
40 Serious
-
color-contrast serious 40 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="trusted-label">Trusted by teams at</span>
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CareerVault — Unlock Your Professional Potential</title>
<style>
:root {
--navy: #1a2332;
--teal: #0d9488;
--teal-light: #14b8a6;
--teal-dark: #0f766e;
--gold: #f59e0b;
--gray-50: #f9fafb;
--gray-100: #f3f4f6;
--gray-200: #e5e7eb;
--gray-300: #d1d5db;
--gray-400: #9ca3af;
--gray-500: #6b7280;
--gray-600: #4b5563;
--gray-700: #374151;
--gray-800: #1f2937;
--gray-900: #111827;
--white: #ffffff;
--shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
--shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
--shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
--radius: 12px;
--radius-sm: 8px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
color: var(--gray-800);
line-height: 1.7;
background: var(--white);
overflow-x: hidden;
}
/* Typography */
h1, h2, h3, h4, h5, h6 {
line-height: 1.3;
font-weight: 700;
color: var(--gray-900);
}
h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); }
h2 { font-size: clamp(1.8rem, 3.5vw, 2.5rem); }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.1rem; }
p {
color: var(--gray-600);
margin-bottom: 1rem;
}
a {
text-decoration: none;
color: inherit;
transition: all 0.3s ease;
}
img {
max-width: 100%;
height: auto;
display: block;
}
/* Utility */
.container {
max-width: 1280px;
margin: 0 auto;
padding: 0 2rem;
}
.section {
padding: 5rem 0;
}
.section-label {
display: inline-block;
background: linear-gradient(135deg, var(--teal), var(--teal-light));
color: var(--white);
padding: 0.35rem 1rem;
border-radius: 50px;
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 1rem;
}
.section-title {
margin-bottom: 1rem;
}
.section-subtitle {
font-size: 1.1rem;
color: var(--gray-500);
max-width: 650px;
margin-bottom: 3rem;
}
.text-center {
text-align: center;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
}
/* Buttons */
.btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.85rem 1.8rem;
border-radius: var(--radius-sm);
font-weight: 600;
font-size: 0.95rem;
cursor: pointer;
border: none;
transition: all 0.3s ease;
}
.btn-primary {
background: linear-gradient(135deg, var(--teal), var(--teal-dark));
color: var(--white);
box-shadow: 0 4px 14px rgba(13, 148, 136, 0.4);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(13, 148, 136, 0.5);
}
.btn-secondary {
background: var(--white);
color: var(--teal-dark);
border: 2px solid var(--teal);
}
.btn-secondary:hover {
background: var(--teal);
color: var(--white);
}
.btn-gold {
background: linear-gradient(135deg, var(--gold), #d97706);
color: var(--white);
box-shadow: 0 4px 14px rgba(245, 158, 11, 0.4);
}
.btn-gold:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(245, 158, 11, 0.5);
}
.btn-outline {
background: transparent;
color: var(--white);
border: 2px solid rgba(255,255,255,0.5);
}
.btn-outline:hover {
background: var(--white);
color: var(--navy);
border-color: var(--white);
}
/* Header */
.header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(20px);
border-bottom: 1px solid var(--gray-200);
transition: all 0.3s ease;
}
.header-inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 2rem;
max-width: 1400px;
margin: 0 auto;
}
.logo-area {
display: flex;
align-items: center;
gap: 0.75rem;
}
.logo-img {
width: 44px;
height: 44px;
border-radius: var(--radius-sm);
object-fit: cover;
}
.logo-text {
display: flex;
flex-direction: column;
}
.logo-name {
font-size: 1.4rem;
font-weight: 800;
color: var(--navy);
letter-spacing: -0.5px;
}
.logo-tagline {
font-size: 0.7rem;
color: var(--teal);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
}
.nav {
display: flex;
align-items: center;
gap: 0.25rem;
}
.nav a {
padding: 0.5rem 1rem;
font-size: 0.9rem;
font-weight: 500;
color: var(--gray-600);
border-radius: var(--radius-sm);
transition: all 0.2s ease;
}
.nav a:hover {
color: var(--teal);
background: rgba(13, 148, 136, 0.05);
}
.nav a.active {
color: var(--teal);
background: rgba(13, 148, 136, 0.08);
}
.header-cta {
display: flex;
align-items: center;
gap: 1rem;
}
.header-cta .btn {
padding: 0.6rem 1.2rem;
font-size: 0.85rem;
}
.mobile-toggle {
display: none;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem;
}
.mobile-toggle span {
display: block;
width: 24px;
height: 2px;
background: var(--gray-700);
margin: 5px 0;
transition: 0.3s;
}
/* Hero */
.hero {
padding: 10rem 0 6rem;
background: linear-gradient(135deg, var(--navy) 0%, #2d3748 50%, #1a365d 100%);
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 800px;
height: 800px;
background: radial-gradient(circle, rgba(13, 148, 136, 0.15) 0%, transparent 70%);
border-radius: 50%;
}
.hero::after {
content: '';
position: absolute;
bottom: -30%;
left: -10%;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(245, 158, 11, 0.1) 0%, transparent 70%);
border-radius: 50%;
}
.hero-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
position: relative;
z-index: 1;
}
.hero-content h1 {
color: var(--white);
margin-bottom: 1.5rem;
}
.hero-content h1 span {
background: linear-gradient(135deg, var(--teal-light), var(--gold));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-content p {
color: rgba(255, 255, 255, 0.75);
font-size: 1.15rem;
margin-bottom: 2rem;
max-width: 520px;
}
.hero-buttons {
display: flex;
gap: 1rem;
flex-wrap: wrap;
margin-bottom: 3rem;
}
.hero-stats {
display: flex;
gap: 3rem;
}
.hero-stat {
text-align: left;
}
.hero-stat-number {
font-size: 2rem;
font-weight: 800;
color: var(--teal-light);
}
.hero-stat-label {
font-size: 0.85rem;
color: rgba(255, 255, 255, 0.6);
}
.hero-image {
position: relative;
}
.hero-image img {
border-radius: var(--radius);
box-shadow: var(--shadow-xl);
width: 100%;
height: 450px;
object-fit: cover;
}
.hero-badge {
position: absolute;
bottom: -20px;
left: -20px;
background: var(--white);
padding: 1rem 1.5rem;
border-radius: var(--radius-sm);
box-shadow: var(--shadow-lg);
display: flex;
align-items: center;
gap: 0.75rem;
}
.hero-badge-icon {
width: 40px;
height: 40px;
background: linear-gradient(135deg, var(--teal), var(--teal-light));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--white);
font-size: 1.2rem;
}
.hero-badge-text {
font-weight: 700;
color: var(--gray-800);
font-size: 0.9rem;
}
.hero-badge-sub {
font-size: 0.75rem;
color: var(--gray-500);
}
/* Trusted By */
.trusted {
padding: 3rem 0;
background: var(--gray-50);
border-bottom: 1px solid var(--gray-200);
}
.trusted-inner {
display: flex;
align-items: center;
justify-content: center;
gap: 3rem;
flex-wrap: wrap;
}
.trusted-label {
font-size: 0.85rem;
font-weight: 600;
color: var(--gray-400);
text-transform: uppercase;
letter-spacing: 1px;
white-space: nowrap;
}
.trusted-logos {
display: flex;
align-items: center;
gap: 2.5rem;
flex-wrap: wrap;
justify-content: center;
}
.trusted-logo {
height: 35px;
opacity: 0.5;
filter: grayscale(100%);
transition: all 0.3s ease;
}
.trusted-logo:hover {
opacity: 0.8;
filter: grayscale(0%);
}
/* Main Content Layout */
.main-layout {
display: grid;
grid-template-columns: 1fr 340px;
gap: 3rem;
align-items: start;
}
.main-content {
min-width: 0;
}
/* Featured Jobs */
.jobs-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
}
.job-card {
background: var(--white);
border: 1px solid var(--gray-200);
border-radius: var(--radius);
padding: 1.5rem;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.job-card:hover {
border-color: var(--teal);
box-shadow: var(--shadow-lg);
transform: translateY(-4px);
}
.job-card-header {
display: flex;
align-items: flex-start;
gap: 1rem;
margin-bottom: 1rem;
}
.job-company-logo {
width: 48px;
height: 48px;
border-radius: var(--radius-sm);
object-fit: cover;
flex-shrink: 0;
}
.job-info h4 {
font-size: 1rem;
margin-bottom: 0.2rem;
}
.job-company {
font-size: 0.85rem;
color: var(--teal);
font-weight: 500;
}
.job-meta {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 1rem;
}
.job-tag {
padding: 0.25rem 0.7rem;
background: var(--gray-100);
border-radius: 50px;
font-size: 0.75rem;
color: var(--gray-600);
font-weight: 500;
}
.job-tag.featured {
background: rgba(245, 158, 11, 0.1);
color: #b45309;
}
.job-salary {
font-weight: 700;
color: var(--gray-800);
font-size: 1rem;
margin-bottom: 1rem;
}
.job-footer {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 1rem;
border-top: 1px solid var(--gray-100);
}
.job-posted {
font-size: 0.8rem;
color: var(--gray-400);
}
.job-apply {
font-size: 0.85rem;
font-weight: 600;
color: var(--teal);
cursor: pointer;
}
.job-apply:hover {
color: var(--teal-dark);
}
/* Career Resources */
.resources-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 2rem;
margin-top: 2rem;
}
.resource-card {
background: var(--white);
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--gray-200);
transition: all 0.3s ease;
}
.resource-card:hover {
box-shadow: var(--shadow-lg);
transform: translateY(-4px);
}
.resource-card img {
width: 100%;
height: 180px;
object-fit: cover;
}
.resource-card-body {
padding: 1.5rem;
}
.resource-card-body h4 {
margin-bottom: 0.75rem;
}
.resource-card-body p {
font-size: 0.9rem;
margin-bottom: 1rem;
}
.resource-link {
font-size: 0.9rem;
font-weight: 600;
color: var(--teal);
display: inline-flex;
align-items: center;
gap: 0.3rem;
}
.resource-link:hover {
gap: 0.6rem;
}
/* Skills Assessment */
.assessment-section {
background: linear-gradient(135deg, #f0fdfa, #ecfdf5);
border: 2px solid rgba(13, 148, 136, 0.15);
border-radius: var(--radius);
padding: 3rem;
margin-top: 2rem;
}
.assessment-header {
display: flex;
align-items: flex-start;
gap: 1.5rem;
margin-bottom: 2rem;
}
.assessment-icon {
width: 60px;
height: 60px;
background: linear-gradient(135deg, var(--teal), var(--teal-light));
border-radius: var(--radius-sm);
display: flex;
align-items: center;
justify-content: center;
color: var(--white);
font-size: 1.5rem;
flex-shrink: 0;
}
.assessment-header h3 {
font-size: 1.5rem;
margin-bottom: 0.5rem;
}
.assessment-header p {
margin-bottom: 0;
}
.skills-container {
margin-bottom: 2rem;
}
.skill-item {
margin-bottom: 1.5rem;
}
.skill-label {
display: flex;
justify-content: space-between;
margin-bottom: 0.5rem;
}
.skill-name {
font-weight: 600;
font-size: 0.9rem;
color: var(--gray-700);
}
.skill-level {
font-size: 0.85rem;
color: var(--teal);
font-weight: 600;
}
.skill-bar {
height: 8px;
background: var(--gray-200);
border-radius: 50px;
overflow: hidden;
}
.skill-fill {
height: 100%;
background: linear-gradient(90deg, var(--teal), var(--teal-light));
border-radius: 50px;
transition: width 1.5s ease;
width: 0;
}
.assessment-categories {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 0.75rem;
margin-bottom: 2rem;
}
.assessment-cat {
padding: 0.75rem 1rem;
background: var(--white);
border: 2px solid var(--gray-200);
border-radius: var(--radius-sm);
text-align: center;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.85rem;
font-weight: 500;
}
.assessment-cat:hover,
.assessment-cat.selected {
border-color: var(--teal);
background: rgba(13, 148, 136, 0.05);
color: var(--teal-dark);
}
.assessment-cat.selected {
background: rgba(13, 148, 136, 0.1);
}
/* Testimonials */
.testimonials-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
}
.testimonial-card {
background: var(--white);
border: 1px solid var(--gray-200);
border-radius: var(--radius);
padding: 2rem;
position: relative;
}
.testimonial-card::before {
content: '"';
position: absolute;
top: 1rem;
right: 1.5rem;
font-size: 4rem;
color: var(--teal);
opacity: 0.15;
font-family: Georgia, serif;
line-height: 1;
}
.testimonial-stars {
color: var(--gold);
margin-bottom: 1rem;
font-size: 1rem;
}
.testimonial-text {
font-size: 0.95rem;
color: var(--gray-600);
font-style: italic;
margin-bottom: 1.5rem;
line-height: 1.8;
}
.testimonial-author {
display: flex;
align-items: center;
gap: 0.75rem;
}
.testimonial-avatar {
width: 44px;
height: 44px;
border-radius: 50%;
object-fit: cover;
}
.testimonial-name {
font-weight: 700;
font-size: 0.9rem;
color: var(--gray-800);
}
.testimonial-role {
font-size: 0.8rem;
color: var(--gray-400);
}
/* Sidebar */
.sidebar {
position: sticky;
top: 100px;
}
.sidebar-card {
background: var(--white);
border: 1px solid var(--gray-200);
border-radius: var(--radius);
padding: 1.5rem;
margin-bottom: 1.5rem;
}
.sidebar-card h4 {
margin-bottom: 1rem;
padding-bottom: 0.75rem;
border-bottom: 2px solid var(--gray-100);
}
.salary-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 0;
border-bottom: 1px solid var(--gray-100);
}
.salary-item:last-child {
border-bottom: none;
}
.salary-role {
font-size: 0.85rem;
font-weight: 500;
color: var(--gray-700);
}
.salary-range {
font-size: 0.85rem;
font-weight: 700;
color: var(--teal);
}
.trend-item {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.6rem 0;
}
.trend-indicator {
width: 8px;
height: 8px;
border-radius: 50%;
flex-shrink: 0;
}
.trend-up { background: #10b981; }
.trend-stable { background: var(--gold); }
.trend-hot { background: #ef4444; }
.trend-text {
font-size: 0.85rem;
color: var(--gray-600);
}
.trend-badge {
margin-left: auto;
font-size: 0.7rem;
padding: 0.2rem 0.5rem;
border-radius: 50px;
font-weight: 600;
white-space: nowrap;
}
.trend-badge.up {
background: rgba(16, 185, 129, 0.1);
color: #059669;
}
.trend-badge.hot {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.employer-list {
list-style: none;
}
.employer-list li {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.6rem 0;
border-bottom: 1px solid var(--gray-100);
font-size: 0.85rem;
color: var(--gray-700);
}
.employer-list li:last-child {
border-bottom: none;
}
.employer-rank {
width: 24px;
height: 24px;
background: var(--gray-100);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.7rem;
font-weight: 700;
color: var(--gray-500);
}
.employer-list li:nth-child(1) .employer-rank {
background: rgba(245, 158, 11, 0.15);
color: var(--gold);
}
/* FAQ */
.faq-section {
margin-top: 2rem;
}
.faq-item {
border: 1px solid var(--gray-200);
border-radius: var(--radius-sm);
margin-bottom: 0.75rem;
overflow: hidden;
}
.faq-question {
width: 100%;
padding: 1.25rem 1.5rem;
background: var(--white);
border: none;
text-align: left;
font-size: 0.95rem;
font-weight: 600;
color: var(--gray-800);
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
transition: all 0.2s ease;
}
.faq-question:hover {
background: var(--gray-50);
}
.faq-question .icon {
font-size: 1.2rem;
color: var(--teal);
transition: transform 0.3s ease;
}
.faq-item.active .faq-question .icon {
transform: rotate(45deg);
}
.faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease, padding 0.3s ease;
}
.faq-item.active .faq-answer {
max-height: 300px;
padding: 0 1.5rem 1.25rem;
}
.faq-answer p {
font-size: 0.9rem;
color: var(--gray-600);
line-height: 1.8;
}
/* CTA Section */
.cta-section {
background: linear-gradient(135deg, var(--navy), #2d3748);
padding: 5rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
.cta-section::before {
content: '';
position: absolute;
top: -50%;
left: 50%;
transform: translateX(-50%);
width: 800px;
height: 800px;
background: radial-gradient(circle, rgba(13, 148, 136, 0.12) 0%, transparent 70%);
border-radius: 50%;
}
.cta-content {
position: relative;
z-index: 1;
}
.cta-content h2 {
color: var(--white);
margin-bottom: 1rem;
}
.cta-content p {
color: rgba(255, 255, 255, 0.7);
font-size: 1.15rem;
max-width: 600px;
margin: 0 auto 2rem;
}
.cta-buttons {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
/* Footer */
.footer {
background: var(--gray-900);
padding: 4rem 0 2rem;
}
.footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 3rem;
margin-bottom: 3rem;
}
.footer-brand p {
color: rgba(255, 255, 255, 0.5);
font-size: 0.9rem;
margin-top: 1rem;
max-width: 300px;
}
.footer-heading {
color: var(--white);
font-size: 0.9rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 1.25rem;
}
.footer-links {
list-style: none;
}
.footer-links li {
margin-bottom: 0.6rem;
}
.footer-links a {
color: rgba(255, 255, 255, 0.5);
font-size: 0.9rem;
transition: color 0.2s ease;
}
.footer-links a:hover {
color: var(--teal-light);
}
.footer-social {
display: flex;
gap: 0.75rem;
margin-top: 1.5rem;
}
.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: rgba(255, 255, 255, 0.6);
font-size: 0.9rem;
transition: all 0.2s ease;
}
.footer-social a:hover {
background: var(--teal);
color: var(--white);
}
.footer-bottom {
padding-top: 2rem;
border-top: 1px solid rgba(255, 255, 255, 0.08);
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 1rem;
}
.footer-bottom p {
color: rgba(255, 255, 255, 0.4);
font-size: 0.85rem;
margin-bottom: 0;
}
.footer-bottom-links {
display: flex;
gap: 1.5rem;
}
.footer-bottom-links a {
color: rgba(255, 255, 255, 0.4);
font-size: 0.85rem;
}
.footer-bottom-links a:hover {
color: var(--teal-light);
}
/* Responsive */
@media (max-width: 1024px) {
.main-layout {
grid-template-columns: 1fr;
}
.sidebar {
position: static;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
}
.sidebar-card {
margin-bottom: 0;
}
.hero-grid {
grid-template-columns: 1fr;
gap: 3rem;
}
.hero-image {
order: -1;
}
.footer-grid {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 768px) {
.nav {
display: none;
}
.mobile-toggle {
display: block;
}
.header-cta .btn-secondary {
display: none;
}
.hero {
padding: 8rem 0 4rem;
}
.hero-stats {
gap: 2rem;
}
.hero-badge {
display: none;
}
.section {
padding: 3rem 0;
}
.assessment-section {
padding: 2rem;
}
.footer-grid {
grid-template-columns: 1fr;
gap: 2rem;
}
.sidebar {
grid-template-columns: 1fr;
}
.jobs-grid,
.resources-grid,
.testimonials-grid {
grid-template-columns: 1fr;
}
}
/* Animations */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.animate-in {
animation: fadeInUp 0.6s ease forwards;
}
/* Scroll indicator */
.scroll-top {
position: fixed;
bottom: 2rem;
right: 2rem;
width: 44px;
height: 44px;
background: var(--teal);
color: var(--white);
border: none;
border-radius: 50%;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
box-shadow: var(--shadow-lg);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
z-index: 999;
}
.scroll-top.visible {
opacity: 1;
visibility: visible;
}
.scroll-top:hover {
transform: translateY(-3px);
background: var(--teal-dark);
}
</style>
</head>
<body>
<!-- Header -->
<header class="header">
<div class="header-inner">
<div class="logo-area">
<img src="https://placehold.co/44x44/0d9488/ffffff?text=CV&font=montserrat" alt="CareerVault Logo" class="logo-img">
<div class="logo-text">
<span class="logo-name">CareerVault</span>
<span class="logo-tagline">Unlock Your Professional Potential</span>
</div>
</div>
<nav class="nav">
<a href="#" class="active">Home</a>
<a href="#jobs">Find Jobs</a>
<a href="#resume-builder">Resume Builder</a>
<a href="#resources">Resources</a>
<a href="#networking">Networking</a>
<a href="#assessment">Skills Assessment</a>
<a href="#contact">Contact</a>
</nav>
<div class="header-cta">
<a href="#" class="btn btn-secondary">Sign In</a>
<a href="#" class="btn btn-primary">Get Started</a>
</div>
<button class="mobile-toggle" aria-label="Menu">
<span></span>
<span></span>
<span></span>
</button>
</div>
</header>
<!-- Hero Section -->
<section class="hero">
<div class="container">
<div class="hero-grid">
<div class="hero-content">
<h1>Find Your <span>Dream Career</span> With Confidence</h1>
<p>CareerVault connects ambitious professionals with top employers worldwide. From crafting the perfect resume to mastering your next interview, we provide every tool you need to accelerate your career trajectory in today's competitive job market.</p>
<div class="hero-buttons">
<a href="#" class="btn btn-primary">Explore Careers →</a>
<a href="#" class="btn btn-outline">Build Your Resume</a>
</div>
<div class="hero-stats">
<div class="hero-stat">
<div class="hero-stat-number">150K+</div>
<div class="hero-stat-label">Active Job Listings</div>
</div>
<div class="hero-stat">
<div class="hero-stat-number">45K+</div>
<div class="hero-stat-label">Companies Hiring</div>
</div>
<div class="hero-stat">
<div class="hero-stat-number">92%</div>
<div class="hero-stat-label">Placement Rate</div>
</div>
</div>
</div>
<div class="hero-image">
<img src="https://picsum.photos/600/450?random=1" alt="Professional collaborating in modern office">
<div class="hero-badge">
<div class="hero-badge-icon">✓</div>
<div>
<div class="hero-badge-text">2,400+ Hired This Week</div>
<div class="hero-badge-sub">Join successful professionals</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Trusted By -->
<section class="trusted">
<div class="container">
<div class="trusted-inner">
<span class="trusted-label">Trusted by teams at</span>
<div class="trusted-logos">
<img src="https://placehold.co/120x35/e5e7eb/6b7280?text=Google&font=montserrat" alt="Google" class="trusted-logo">
<img src="https://placehold.co/120x35/e5e7eb/6b7280?text=Microsoft&font=montserrat" alt="Microsoft" class="trusted-logo">
<img src="https://placehold.co/120x35/e5e7eb/6b7280?text=Amazon&font=montserrat" alt="Amazon" class="trusted-logo">
<img src="https://placehold.co/120x35/e5e7eb/6b7280?text=Deloitte&font=montserrat" alt="Deloitte" class="trusted-logo">
<img src="https://placehold.co/120x35/e5e7eb/6b7280?text=Meta&font=montserrat" alt="Meta" class="trusted-logo">
<img src="https://placehold.co/120x35/e5e7eb/6b7280?text=Apple&font=montserrat" alt="Apple" class="trusted-logo">
</div>
</div>
</div>
</section>
<!-- Main Content Area with Sidebar -->
<section class="section" id="jobs">
<div class="container">
<div class="main-layout">
<div class="main-content">
<!-- Featured Jobs Section -->
<div>
<span class="section-label">Hot Opportunities</span>
<h2 class="section-title">Featured Job Openings</h2>
<p class="section-subtitle">Explore hand-picked opportunities from industry-leading companies. Each role has been verified by our team to ensure legitimacy and competitive compensation packages.</p>
<div class="jobs-grid">
<div class="job-card">
<div class="job-card-header">
<img src="https://placehold.co/48x48/4285f4/ffffff?text=G&font=montserrat" alt="Google" class="job-company-logo">
<div class="job-info">
<h4>Senior Product Manager</h4>
<span class="job-company">Google • Mountain View, CA</span>
</div>
</div>
<div class="job-meta">
<span class="job-tag">Full-time</span>
<span class="job-tag">Remote OK</span>
<span class="job-tag featured">★ Featured</span>
</div>
<div class="job-salary">$185,000 – $240,000/yr</div>
<div class="job-footer">
<span class="job-posted">Posted 2 days ago</span>
<a href="#" class="job-apply">Apply Now →</a>
</div>
</div>
<div class="job-card">
<div class="job-card-header">
<img src="https://placehold.co/48x48/0078d4/ffffff?text=MS&font=montserrat" alt="Microsoft" class="job-company-logo">
<div class="job-info">
<h4>UX Research Lead</h4>
<span class="job-company">Microsoft • Redmond, WA</span>
</div>
</div>
<div class="job-meta">
<span class="job-tag">Full-time</span>
<span class="job-tag">Hybrid</span>
</div>
<div class="job-salary">$155,000 – $195,000/yr</div>
<div class="job-footer">
<span class="job-posted">Posted 5 days ago</span>
<a href="#" class="job-apply">Apply Now →</a>
</div>
</div>
<div class="job-card">
<div class="job-card-header">
<img src="https://placehold.co/48x48/ff9900/ffffff?text=AZ&font=montserrat" alt="Amazon" class="job-company-logo">
<div class="job-info">
<h4>Data Science Manager</h4>
<span class="job-company">Amazon • Arlington, VA</span>
</div>
</div>
<div class="job-meta">
<span class="job-tag">Full-time</span>
<span class="job-tag">On-site</span>
<span class="job-tag featured">★ Featured</span>
</div>
<div class="job-salary">$170,000 – $220,000/yr</div>
<div class="job-footer">
<span class="job-posted">Posted 1 day ago</span>
<a href="#" class="job-apply">Apply Now →</a>
</div>
</div>
<div class="job-card">
<div class="job-card-header">
<img src="https://placehold.co/48x48/8623ef/ffffff?text=SP&font=montserrat" alt="Spotify" class="job-company-logo">
<div class="job-info">
<h4>Engineering Director</h4>
<span class="job-company">Spotify • New York, NY</span>
</div>
</div>
<div class="job-meta">
<span class="job-tag">Full-time</span>
<span class="job-tag">Remote</span>
</div>
<div class="job-salary">$200,000 – $260,000/yr</div>
<div class="job-footer">
<span class="job-posted">Posted 3 days ago</span>
<a href="#" class="job-apply">Apply Now →</a>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 2.5rem;">
<a href="#" class="btn btn-secondary">View All 150,000+ Jobs →</a>
</div>
</div>
<!-- Career Resources Section -->
<div class="section" id="resources">
<span class="section-label">Career Resources</span>
<h2 class="section-title">Master Your Job Search</h2>
<p class="section-subtitle">Whether you're a recent graduate or a seasoned executive looking for your next challenge, our expert-curated resources will help you navigate every stage of your career journey with confidence and clarity.</p>
<div class="resources-grid">
<div class="resource-card">
<img src="https://picsum.photos/400/180?random=2" alt="Resume writing guide">
<div class="resource-card-body">
<h4>The Ultimate Resume Guide for 2025</h4>
<p>Learn how to craft a compelling resume that passes ATS systems and catches the eye of hiring managers. Our guide covers modern formatting, keyword optimization, and proven strategies for showcasing your career achievements effectively in any industry.</p>
<a href="#" class="resource-link">Read the Guide →</a>
</div>
</div>
<div class="resource-card" id="resume-builder">
<img src="https://picsum.photos/400/180?random=3" alt="Cover letter tips">
<div class="resource-card-body">
<h4>Cover Letters That Get Interviews</h4>
<p>A strong cover letter can be the difference between landing an interview and being overlooked. Discover the structure, tone, and personalization techniques that top career coaches recommend for making a memorable first impression with potential employers.</p>
<a href="#" class="resource-link">Learn More →</a>
</div>
</div>
<div class="resource-card" id="networking">
<img src="https://picsum.photos/400/180?random=4" alt="Professional networking">
<div class="resource-card-body">
<h4>Professional Networking Mastery</h4>
<p>Build meaningful professional relationships that open doors to unadvertised opportunities. From LinkedIn optimization to conference strategies, learn how to expand your network authentically and leverage connections for long-term career growth and advancement.</p>
<a href="#" class="resource-link">Start Networking →</a>
</div>
</div>
</div>
</div>
<!-- Skills Assessment Interactive -->
<div class="section" id="assessment">
<span class="section-label">Interactive Tool</span>
<h2 class="section-title">Skills Assessment & Career Match</h2>
<p class="section-subtitle">Evaluate your current skill set and discover which career paths align best with your strengths. Our assessment tool analyzes your competencies across key professional dimensions.</p>
<div class="assessment-section">
<div class="assessment-header">
<div class="assessment-icon">⚡</div>
<div>
<h3>Your Professional Skills Profile</h3>
<p>Based on industry benchmarks, here's how your current skill profile compares. Select a career track below to see personalized recommendations for closing skill gaps and maximizing your marketability.</p>
</div>
</div>
<div class="assessment-categories">
<div class="assessment-cat selected" onclick="selectCategory(this)">Technology</div>
<div class="assessment-cat" onclick="selectCategory(this)">Marketing</div>
<div class="assessment-cat" onclick="selectCategory(this)">Finance</div>
<div class="assessment-cat" onclick="selectCategory(this)">Design</div>
<div class="assessment-cat" onclick="selectCategory(this)">Healthcare</div>
<div class="assessment-cat" onclick="selectCategory(this)">Education</div>
</div>
<div class="skills-container">
<div class="skill-item">
<div class="skill-label">
<span class="skill-name">Technical Proficiency</span>
<span class="skill-level">85%</span>
</div>
<div class="skill-bar">
<div class="skill-fill" data-width="85"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-label">
<span class="skill-name">Communication & Leadership</span>
<span class="skill-level">72%</span>
</div>
<div class="skill-bar">
<div class="skill-fill" data-width="72"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-label">
<span class="skill-name">Problem Solving & Analytics</span>
<span class="skill-level">90%</span>
</div>
<div class="skill-bar">
<div class="skill-fill" data-width="90"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-label">
<span class="skill-name">Project Management</span>
<span class="skill-level">68%</span>
</div>
<div class="skill-bar">
<div class="skill-fill" data-width="68"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-label">
<span class="skill-name">Industry Knowledge</span>
<span class="skill-level">78%</span>
</div>
<div class="skill-bar">
<div class="skill-fill" data-width="78"></div>
</div>
</div>
</div>
<div style="display: flex; gap: 1rem; flex-wrap: wrap;">
<a href="#" class="btn btn-primary">Take Full Assessment →</a>
<a href="#" class="btn btn-secondary">Download Report</a>
</div>
</div>
</div>
<!-- Success Stories / Testimonials -->
<div class="section">
<span class="section-label">Success Stories</span>
<h2 class="section-title">Real People, Real Career Transformations</h2>
<p class="section-subtitle">Thousands of professionals have used CareerVault to pivot their careers, negotiate better offers, and find roles that truly align with their passions and goals. Here are some of their stories.</p>
<div class="testimonials-grid">
<div class="testimonial-card">
<div class="testimonial-stars">★★★★★</div>
<p class="testimonial-text">"I was stuck in a mid-level role for three years with no clear path forward. CareerVault's resume builder completely transformed how I presented my experience. Within six weeks of using their resources and applying through the platform, I landed a senior position with a 40% salary increase. The career coaching resources were invaluable."</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/44?u=sarah_m" alt="Sarah Mitchell" class="testimonial-avatar">
<div>
<div class="testimonial-name">Sarah Mitchell</div>
<div class="testimonial-role">Senior Product Manager at Stripe</div>
</div>
</div>
</div>
<div class="testimonial-card">
<div class="testimonial-stars">★★★★★</div>
<p class="testimonial-text">"As a career changer moving from teaching to tech, I felt overwhelmed by the job market. CareerVault's skills assessment helped me identify my transferable strengths, and the networking tools connected me with mentors in the industry. I'm now a UX designer at a company I love, earning twice my previous salary."</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/44?u=james_k" alt="James Kowalski" class="testimonial-avatar">
<div>
<div class="testimonial-name">James Kowalski</div>
<div class="testimonial-role">UX Designer at Figma</div>
</div>
</div>
</div>
<div class="testimonial-card">
<div class="testimonial-stars">★★★★★</div>
<p class="testimonial-text">"The interview preparation guides and salary negotiation tools on CareerVault gave me the confidence I needed. I went from being underpaid and undervalued to leading a team of 15 people. The platform's insights into market rates were eye-opening and directly led to a compensation package that truly reflects my worth."</p>
<div class="testimonial-author">
<img src="https://i.pravatar.cc/44?u=priya_d" alt="Priya Desai" class="testimonial-avatar">
<div>
<div class="testimonial-name">Priya Desai</div>
<div class="testimonial-role">Engineering Manager at Netflix</div>
</div>
</div>
</div>
</div>
</div>
<!-- FAQ Section -->
<div class="section faq-section">
<span class="section-label">FAQ</span>
<h2 class="section-title">Frequently Asked Questions</h2>
<p class="section-subtitle">Get answers to the most common questions about using CareerVault to advance your professional journey.</p>
<div class="faq-item active">
<button class="faq-question" onclick="toggleFaq(this)">
How does CareerVault's resume builder work?
<span class="icon">+</span>
</button>
<div class="faq-answer">
<p>Our resume builder uses AI-powered analysis combined with insights from professional recruiters to help you craft a resume that stands out. It scans your experience, suggests impactful action verbs, optimizes for applicant tracking systems (ATS), and provides industry-specific templates that have been proven to increase interview callback rates by up to 60%. You can build, customize, and download your resume in multiple formats within minutes.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" onclick="toggleFaq(this)">
Is CareerVault free to use for job seekers?
<span class="icon">+</span>
</button>
<div class="faq-answer">
<p>Yes! CareerVault offers a robust free tier that includes access to our job board, basic resume builder, and career resources library. Our premium plans unlock advanced features like personalized career coaching, priority application visibility, detailed salary benchmarks, and unlimited skills assessments. Many users find significant value from our free tools alone, but premium members report 3x faster placement rates on average.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" onclick="toggleFaq(this)">
How does the professional networking feature work?
<span class="icon">+</span>
</button>
<div class="faq-answer">
<p>Our networking platform connects you with professionals in your target industry through intelligent matching based on career goals, skills, and interests. You can join industry-specific groups, attend virtual networking events, request informational interviews, and receive warm introductions through mutual connections. Many of our users have credited the networking tools with helping them discover unadvertised opportunities — often referred to as the "hidden job market."</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" onclick="toggleFaq(this)">
What makes CareerVault different from other job boards?
<span class="icon">+</span>
</button>
<div class="faq-answer">
<p>Unlike traditional job boards that simply list openings, CareerVault provides an end-to-end career development ecosystem. We combine job search with resume optimization, interview preparation, skills assessment, salary negotiation tools, and professional networking. Our platform is designed to support your entire career trajectory — not just your next job application. Additionally, every listing is verified by our team to eliminate scams and ensure quality opportunities.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-question" onclick="toggleFaq(this)">
Can I get career advice specific to my industry?
<span class="icon">+</span>
</button>
<div class="faq-answer">
<p>Absolutely. CareerVault offers industry-specific career guides, salary data, and hiring trend reports for over 50 sectors including technology, healthcare, finance, education, creative industries, and more. Premium members also get access to one-on-one sessions with certified career coaches who specialize in their target industry. These coaches provide personalized advice on career pivots, advancement strategies, and navigating industry-specific challenges.</p>
</div>
</div>
</div>
</div>
<!-- Sidebar -->
<aside class="sidebar">
<div class="sidebar-card">
<h4>💰 Industry Salary Data</h4>
<div class="salary-item">
<span class="salary-role">Software Engineer</span>
<span class="salary-range">$130K–$195K</span>
</div>
<div class="salary-item">
<span class="salary-role">Product Manager</span>
<span class="salary-range">$120K–$180K</span>
</div>
<div class="salary-item">
<span class="salary-role">Data Scientist</span>
<span class="salary-range">$125K–$175K</span>
</div>
<div class="salary-item">
<span class="salary-role">UX Designer</span>
<span class="salary-range">$95K–$145K</span>
</div>
<div class="salary-item">
<span class="salary-role">Marketing Director</span>
<span class="salary-range">$110K–$165K</span>
</div>
<div class="salary-item">
<span class="salary-role">DevOps Engineer</span>
<span class="salary-range">$135K–$185K</span>
</div>
<p style="font-size: 0.75rem; color: var(--gray-400); margin-top: 0.75rem; margin-bottom: 0;">Updated January 2025 • US Market</p>
</div>
<div class="sidebar-card">
<h4>📈 Hiring Trends</h4>
<div class="trend-item">
<div class="trend-indicator trend-hot"></div>
<span class="trend-text">AI/Machine Learning</span>
<span class="trend-badge hot">🔥 Hot</span>
</div>
<div class="trend-item">
<div class="trend-indicator trend-up"></div>
<span class="trend-text">Cloud Architecture</span>
<span class="trend-badge up">↑ +34%</span>
</div>
<div class="trend-item">
<div class="trend-indicator trend-up"></div>
<span class="trend-text">Cybersecurity</span>
<span class="trend-badge up">↑ +28%</span>
</div>
<div class="trend-item">
<div class="trend-indicator trend-hot"></div>
<span class="trend-text">Product Management</span>
<span class="trend-badge hot">🔥 Hot</span>
</div>
<div class="trend-item">
<div class="trend-indicator trend-up"></div>
<span class="trend-text">Remote-First Roles</span>
<span class="trend-badge up">↑ +41%</span>
</div>
<div class="trend-item">
<div class="trend-indicator trend-stable"></div>
<span class="trend-text">Data Engineering</span>
<span class="trend-badge up">↑ +22%</span>
</div>
</div>
<div class="sidebar-card">
<h4>🏆 Top Employers Hiring</h4>
<ul class="employer-list">
<li>
<span class="employer-rank">1</span>
Google — 2,340 open roles
</li>
<li>
<span class="employer-rank">2</span>
Amazon — 1,890 open roles
</li>
<li>
<span class="employer-rank">3</span>
Microsoft — 1,650 open roles
</li>
<li>
<span class="employer-rank">4</span>
Apple — 1,220 open roles
</li>
<li>
<span class="employer-rank">5</span>
Meta — 980 open roles
</li>
<li>
<span class="employer-rank">6</span>
Netflix — 540 open roles
</li>
</ul>
</div>
<div class="sidebar-card" style="background: linear-gradient(135deg, var(--navy), #2d3748); border: none;">
<h4 style="color: var(--white); border-bottom-color: rgba(255,255,255,0.1);">🚀 CareerBoost Premium</h4>
<p style="color: rgba(255,255,255,0.7); font-size: 0.9rem;">Get priority visibility, 1-on-1 coaching, and exclusive job alerts.</p>
<ul style="list-style: none; margin: 1rem 0;">
<li style="color: rgba(255,255,255,0.8); font-size: 0.85rem; padding: 0.3rem 0;">✓ Priority application ranking</li>
<li style="color: rgba(255,255,255,0.8); font-size: 0.85rem; padding: 0.3rem 0;">✓ Personal career coach</li>
<li style="color: rgba(255,255,255,0.8); font-size: 0.85rem; padding: 0.3rem 0;">✓ Salary negotiation support</li>
<li style="color: rgba(255,255,255,0.8); font-size: 0.85rem; padding: 0.3rem 0;">✓ Unlimited assessments</li>
</ul>
<a href="#" class="btn btn-gold" style="width: 100%; justify-content: center;">Start Application →</a>
<p style="color: rgba(255,255,255,0.4); font-size: 0.75rem; text-align: center; margin-top: 0.75rem; margin-bottom: 0;">From $19/mo • Cancel anytime</p>
</div>
</aside>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="cta-section" id="contact">
<div class="container">
<div class="cta-content">
<h2>Ready to Transform Your Career?</h2>
<p>Join over 2 million professionals who have used CareerVault to find meaningful work, negotiate better compensation, and build the careers they've always envisioned. Your next opportunity is waiting.</p>
<div class="cta-buttons">
<a href="#" class="btn btn-primary" style="padding: 1rem 2.5rem; font-size: 1.05rem;">Start Your Journey Today →</a>
<a href="#" class="btn btn-outline" style="padding: 1rem 2.5rem; font-size: 1.05rem;">Talk to a Career Advisor</a>
</div>
</div>
</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/44x44/0d9488/ffffff?text=CV&font=montserrat" alt="CareerVault Logo" class="logo-img">
<div class="logo-text">
<span class="logo-name" style="color: var(--white);">CareerVault</span>
<span class="logo-tagline">Unlock Your Professional Potential</span>
</div>
</div>
<p>CareerVault is the all-in-one career development platform helping professionals find their dream roles, build powerful networks, and accelerate their career growth since 2019.</p>
<div class="footer-social">
<a href="#" aria-label="LinkedIn">in</a>
<a href="#" aria-label="Twitter">𝕏</a>
<a href="#" aria-label="Facebook">f</a>
<a href="#" aria-label="Instagram">◻</a>
<a href="#" aria-label="YouTube">▶</a>
</div>
</div>
<div>
<h5 class="footer-heading">For Job Seekers</h5>
<ul class="footer-links">
<li><a href="#">Browse Jobs</a></li>
<li><a href="#">Resume Builder</a></li>
<li><a href="#">Career Advice</a></li>
<li><a href="#">Salary Calculator</a></li>
<li><a href="#">Skills Assessment</a></li>
<li><a href="#">Interview Prep</a></li>
</ul>
</div>
<div>
<h5 class="footer-heading">For Employers</h5>
<ul class="footer-links">
<li><a href="#">Post a Job</a></li>
<li><a href="#">Talent Search</a></li>
<li><a href="#">Employer Branding</a></li>
<li><a href="#">Recruitment Solutions</a></li>
<li><a href="#">Pricing Plans</a></li>
<li><a href="#">Enterprise</a></li>
</ul>
</div>
<div>
<h5 class="footer-heading">Contact Us</h5>
<ul class="footer-links">
<li><a href="#">📧 support@careervault.com</a></li>
<li><a href="#">📞 1-800-CAREER-1</a></li>
<li><a href="#">📍 San Francisco, CA</a></li>
<li><a href="#">💬 Live Chat Support</a></li>
<li><a href="#">📝 Help Center</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>© 2025 CareerVault, Inc. All rights reserved.</p>
<div class="footer-bottom-links">
<a href="#">Privacy Policy</a>
<a href="#">Terms of Service</a>
<a href="#">Cookie Policy</a>
<a href="#">Accessibility</a>
<a href="#">Sitemap</a>
</div>
</div>
</div>
</footer>
<!-- Scroll to Top -->
<button class="scroll-top" id="scrollTop" onclick="window.scrollTo({top:0,behavior:'smooth'})">↑</button>
<script>
// FAQ Accordion
function toggleFaq(button) {
const item = button.parentElement;
const allItems = document.querySelectorAll('.faq-item');
allItems.forEach(i => {
if (i !== item) {
i.classList.remove('active');
}
});
item.classList.toggle('active');
}
// Skills Assessment Category Selection
function selectCategory(el) {
document.querySelectorAll('.assessment-cat').forEach(cat => {
cat.classList.remove('selected');
});
el.classList.add('selected');
// Animate skill bars with new random values
const fills = document.querySelectorAll('.skill-fill');
fills.forEach(fill => {
const newWidth = Math.floor(Math.random() * 40) + 55;
fill.style.width = newWidth + '%';
fill.parentElement.previousElementSibling.querySelector('.skill-level').textContent = newWidth + '%';
});
}
// Scroll to top button visibility
window.addEventListener('scroll', () => {
const scrollBtn = document.getElementById('scrollTop');
if (window.scrollY > 500) {
scrollBtn.classList.add('visible');
} else {
scrollBtn.classList.remove('visible');
}
});
// Animate skill bars on scroll
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const fills = entry.target.querySelectorAll('.skill-fill');
fills.forEach(fill => {
const width = fill.getAttribute('data-width');
setTimeout(() => {
fill.style.width = width + '%';
}, 200);
});
}
});
}, { threshold: 0.3 });
const skillsContainer = document.querySelector('.skills-container');
if (skillsContainer) {
observer.observe(skillsContainer);
}
// Smooth scroll for nav 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', block: 'start' });
}
}
});
});
</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:42:57.935Z",
"url": "https://benchmark.aimac.invalid/b3ec32722a2e2515702806dc7e9bd69413723497786a9eb4940532262d2e74bb.html",
"toolOptions": {
"runOnly": {
"type": "tag",
"values": [
"wcag2a",
"wcag2aa",
"wcag21a",
"wcag21aa",
"wcag22a",
"wcag22aa"
]
},
"resultTypes": [
"violations"
],
"reporter": "v1"
},
"inapplicable": [
{
"id": "area-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag244",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.2.4.4",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <area> elements of image maps have alternative text",
"help": "Active <area> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
"nodes": []
},
{
"id": "aria-braille-equivalent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
"help": "aria-braille attributes must have a non-braille equivalent",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
"nodes": []
},
{
"id": "aria-command-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-deprecated-role",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
"nodes": []
},
{
"id": "aria-hidden-focus",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
"nodes": []
},
{
"id": "aria-input-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-meter-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-progressbar-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag111",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-children",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
"nodes": []
},
{
"id": "aria-required-parent",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
"nodes": []
},
{
"id": "aria-roles",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
"nodes": []
},
{
"id": "aria-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": []
},
{
"id": "form-field-multiple-labels",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag332",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.3.3.2"
],
"description": "Ensure form field does not have multiple label elements",
"help": "Form field must not have multiple label elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "label",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every form element has a label",
"help": "Form elements must have labels",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
"nodes": []
},
{
"id": "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": "td-headers-attr",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
"help": "Table cells that use the headers attribute must only refer to cells in the same table",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
"nodes": []
},
{
"id": "th-has-data-cells",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
"help": "Table headers in a data table must refer to data cells",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
"nodes": []
},
{
"id": "valid-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2aa",
"wcag312",
"TTv5",
"TT11.b",
"EN-301-549",
"EN-9.3.1.2",
"ACT"
],
"description": "Ensure lang attributes have valid values",
"help": "lang attribute must have a valid value",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
"nodes": []
},
{
"id": "video-caption",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag122",
"section508",
"section508.22.a",
"TTv5",
"TT17.a",
"EN-301-549",
"EN-9.1.2.2"
],
"description": "Ensure <video> elements have captions",
"help": "<video> elements must have captions",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
"nodes": []
},
{
"id": "no-autoplay-audio",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag142",
"TTv5",
"TT2.a",
"EN-301-549",
"EN-9.1.4.2",
"ACT"
],
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"help": "<video> or <audio> elements must not play automatically",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
"nodes": []
}
],
"passes": [
{
"id": "aria-allowed-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure an element's role supports its ARIA attributes",
"help": "Elements must only use supported ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-allowed-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attributes are used correctly for the defined role"
}
],
"none": [
{
"id": "aria-unsupported-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute is supported"
}
],
"impact": null,
"html": "<a href=\"#\" aria-label=\"LinkedIn\">in</a>",
"target": [
"a[aria-label=\"LinkedIn\"]"
]
}
]
},
{
"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=\"LinkedIn\">in</a>",
"target": [
"a[aria-label=\"LinkedIn\"]"
]
}
]
},
{
"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=\"LinkedIn\">in</a>",
"target": [
"a[aria-label=\"LinkedIn\"]"
]
}
]
},
{
"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=\"LinkedIn\">in</a>",
"target": [
"a[aria-label=\"LinkedIn\"]"
]
}
]
},
{
"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=\"LinkedIn\">in</a>",
"target": [
"a[aria-label=\"LinkedIn\"]"
]
}
]
},
{
"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 style=\"text-align: center; margin-top: 2.5rem;\">\n <a href=\"#\" class=\"btn btn-secondary\">View All 150,000+ Jobs \u2192</a>\n </div>",
"target": [
".main-content > div:nth-child(1) > div:nth-child(5)"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"faq-question\" onclick=\"toggleFaq(this)\">\n How does CareerVault's resume builder work?\n <span class=\"icon\">+</span>\n </button>",
"target": [
".active.faq-item > .faq-question[onclick=\"toggleFaq(this)\"]"
]
}
]
},
{
"id": "bypass",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1"
],
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "internal-link-present",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Valid skip link found"
},
{
"id": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1>Find Your <span>Dream Career</span> With Confidence</h1>",
"target": [
"h1"
]
},
{
"html": "<h2 class=\"section-title\">Featured Job Openings</h2>",
"target": [
"div:nth-child(1) > .section-title"
]
},
{
"html": "<h4>Senior Product Manager</h4>",
"target": [
".job-card:nth-child(1) > .job-card-header > .job-info > h4"
]
},
{
"html": "<h4>UX Research Lead</h4>",
"target": [
".job-card:nth-child(2) > .job-card-header > .job-info > h4"
]
},
{
"html": "<h4>Data Science Manager</h4>",
"target": [
".job-card:nth-child(3) > .job-card-header > .job-info > h4"
]
},
{
"html": "<h4>Engineering Director</h4>",
"target": [
".job-card:nth-child(4) > .job-card-header > .job-info > h4"
]
},
{
"html": "<h2 class=\"section-title\">Master Your Job Search</h2>",
"target": [
"#resources > .section-title"
]
},
{
"html": "<h4>The Ultimate Resume Guide for 2025</h4>",
"target": [
".resource-card:nth-child(1) > .resource-card-body > h4"
]
},
{
"html": "<h4>Cover Letters That Get Interviews</h4>",
"target": [
"#resume-builder > .resource-card-body > h4"
]
},
{
"html": "<h4>Professional Networking Mastery</h4>",
"target": [
"#networking > .resource-card-body > h4"
]
},
{
"html": "<h2 class=\"section-title\">Skills Assessment & Career Match</h2>",
"target": [
"#assessment > .section-title"
]
},
{
"html": "<h3>Your Professional Skills Profile</h3>",
"target": [
"h3"
]
},
{
"html": "<h2 class=\"section-title\">Real People, Real Career Transformations</h2>",
"target": [
".section:nth-child(4) > .section-title"
]
},
{
"html": "<h2 class=\"section-title\">Frequently Asked Questions</h2>",
"target": [
".faq-section > .section-title"
]
},
{
"html": "<h4>\ud83d\udcb0 Industry Salary Data</h4>",
"target": [
".sidebar-card:nth-child(1) > h4"
]
},
{
"html": "<h4>\ud83d\udcc8 Hiring Trends</h4>",
"target": [
".sidebar-card:nth-child(2) > h4"
]
},
{
"html": "<h4>\ud83c\udfc6 Top Employers Hiring</h4>",
"target": [
".sidebar-card:nth-child(3) > h4"
]
},
{
"html": "<h4 style=\"color: var(--white); border-bottom-color: rgba(255,255,255,0.1);\">\ud83d\ude80 CareerBoost Premium</h4>",
"target": [
".sidebar-card:nth-child(4) > h4"
]
},
{
"html": "<h2>Ready to Transform Your Career?</h2>",
"target": [
".cta-content > h2"
]
},
{
"html": "<h5 class=\"footer-heading\">For Job Seekers</h5>",
"target": [
"div:nth-child(2) > h5"
]
},
{
"html": "<h5 class=\"footer-heading\">For Employers</h5>",
"target": [
"div:nth-child(3) > h5"
]
},
{
"html": "<h5 class=\"footer-heading\">Contact Us</h5>",
"target": [
"div: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": "#0f766e",
"bgColor": "#ffffff",
"contrastRatio": 5.47,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 5.47"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"btn btn-secondary\">Sign In</a>",
"target": [
".header-cta > .btn-secondary.btn[href=\"#\"]"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "html-has-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The <html> element has a lang attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"TT7.b",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
"help": "Images must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-alt",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has an alt attribute"
}
],
"all": [],
"none": [
{
"id": "alt-space-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a valid alt attribute value"
}
],
"impact": null,
"html": "<img src=\"https://placehold.co/44x44/0d9488/ffffff?text=CV&font=montserrat\" alt=\"CareerVault Logo\" class=\"logo-img\">",
"target": [
".header-inner > .logo-area > .logo-img[alt=\"CareerVault Logo\"]"
]
}
]
},
{
"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=\"resource-card-body\">",
"target": [
".resource-card:nth-child(1) > .resource-card-body"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"resource-link\">Read the Guide \u2192</a>",
"target": [
".resource-card:nth-child(1) > .resource-card-body > .resource-link[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=\"#\" class=\"active\">Home</a>",
"target": [
".active[href=\"#\"]"
]
}
]
},
{
"id": "list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "only-listitems",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List element only has direct children that are allowed inside <li> elements"
}
],
"impact": null,
"html": "<ul class=\"employer-list\">",
"target": [
".employer-list"
]
}
]
},
{
"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>\n <span class=\"employer-rank\">1</span>\n Google \u2014 2,340 open roles\n </li>",
"target": [
".employer-list > 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/44x44/0d9488/ffffff?text=CV&font=montserrat\" alt=\"CareerVault Logo\" class=\"logo-img\">",
"target": [
".header-inner > .logo-area > .logo-img[alt=\"CareerVault 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-size",
"data": {
"minSize": 24,
"width": 72,
"height": 40.5
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (72px by 40.5px, should be at least 24px by 24px)"
},
{
"id": "target-offset",
"data": {
"closestOffset": 24,
"minOffset": 24
},
"relatedNodes": [],
"impact": "serious",
"message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"#\" class=\"active\">Home</a>",
"target": [
".active[href=\"#\"]"
]
}
]
}
],
"incomplete": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": null,
"bgColor": null,
"contrastRatio": 0,
"fontSize": "16.8pt (22.4px)",
"fontWeight": "bold",
"messageKey": "bgGradient",
"expectedContrastRatio": "3:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<header class=\"header\">",
"target": [
"header"
]
},
{
"html": "<section class=\"hero\">",
"target": [
".hero"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a background gradient"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"logo-name\">CareerVault</span>",
"target": [
".header-inner > .logo-area > .logo-text > .logo-name"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a background gradient"
}
]
}
],
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9ca3af",
"bgColor": "#f9fafb",
"contrastRatio": 2.42,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"trusted\">",
"target": [
".trusted"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.42 (foreground color: #9ca3af, background color: #f9fafb, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trusted-label\">Trusted by teams at</span>",
"target": [
".trusted-label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.42 (foreground color: #9ca3af, background color: #f9fafb, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-company\">Google \u2022 Mountain View, CA</span>",
"target": [
".job-card:nth-child(1) > .job-card-header > .job-info > .job-company"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-posted\">Posted 2 days ago</span>",
"target": [
".job-card:nth-child(1) > .job-footer > .job-posted"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"job-apply\">Apply Now \u2192</a>",
"target": [
".job-card:nth-child(1) > .job-footer > .job-apply[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-company\">Microsoft \u2022 Redmond, WA</span>",
"target": [
".job-card:nth-child(2) > .job-card-header > .job-info > .job-company"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-posted\">Posted 5 days ago</span>",
"target": [
".job-card:nth-child(2) > .job-footer > .job-posted"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"job-apply\">Apply Now \u2192</a>",
"target": [
".job-card:nth-child(2) > .job-footer > .job-apply[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-company\">Amazon \u2022 Arlington, VA</span>",
"target": [
".job-card:nth-child(3) > .job-card-header > .job-info > .job-company"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-posted\">Posted 1 day ago</span>",
"target": [
".job-card:nth-child(3) > .job-footer > .job-posted"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"job-apply\">Apply Now \u2192</a>",
"target": [
".job-card:nth-child(3) > .job-footer > .job-apply[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-company\">Spotify \u2022 New York, NY</span>",
"target": [
".job-card:nth-child(4) > .job-card-header > .job-info > .job-company"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"job-posted\">Posted 3 days ago</span>",
"target": [
".job-card:nth-child(4) > .job-footer > .job-posted"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"job-card\">",
"target": [
".job-card:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"job-apply\">Apply Now \u2192</a>",
"target": [
".job-card:nth-child(4) > .job-footer > .job-apply[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, 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": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"resource-card\">",
"target": [
".resource-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"resource-link\">Read the Guide \u2192</a>",
"target": [
".resource-card:nth-child(1) > .resource-card-body > .resource-link[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"resource-card\" id=\"resume-builder\">",
"target": [
"#resume-builder"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"resource-link\">Learn More \u2192</a>",
"target": [
"#resume-builder > .resource-card-body > .resource-link[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"resource-card\" id=\"networking\">",
"target": [
"#networking"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"resource-link\">Start Networking \u2192</a>",
"target": [
"#networking > .resource-card-body > .resource-link[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"testimonial-card\">",
"target": [
".testimonial-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"testimonial-role\">Senior Product Manager at Stripe</div>",
"target": [
".testimonial-card:nth-child(1) > .testimonial-author > div > .testimonial-role"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"testimonial-card\">",
"target": [
".testimonial-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"testimonial-role\">UX Designer at Figma</div>",
"target": [
".testimonial-card:nth-child(2) > .testimonial-author > div > .testimonial-role"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"testimonial-card\">",
"target": [
".testimonial-card:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"testimonial-role\">Engineering Manager at Netflix</div>",
"target": [
".testimonial-card:nth-child(3) > .testimonial-author > div > .testimonial-role"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"salary-range\">$130K\u2013$195K</span>",
"target": [
".salary-item:nth-child(2) > .salary-range"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"salary-range\">$120K\u2013$180K</span>",
"target": [
".salary-item:nth-child(3) > .salary-range"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"salary-range\">$125K\u2013$175K</span>",
"target": [
".salary-item:nth-child(4) > .salary-range"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"salary-range\">$95K\u2013$145K</span>",
"target": [
".salary-item:nth-child(5) > .salary-range"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"salary-range\">$110K\u2013$165K</span>",
"target": [
".salary-item:nth-child(6) > .salary-range"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"salary-range\">$135K\u2013$185K</span>",
"target": [
".salary-item:nth-child(7) > .salary-range"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 10.2pt (13.6px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9ca3af",
"bgColor": "#ffffff",
"contrastRatio": 2.53,
"fontSize": "9.0pt (12px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p style=\"font-size: 0.75rem; color: var(--gray-400); margin-top: 0.75rem; margin-bottom: 0;\">Updated January 2025 \u2022 US Market</p>",
"target": [
".sidebar-card:nth-child(1) > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#dc2626",
"bgColor": "#fdecec",
"contrastRatio": 4.22,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"trend-badge hot\">\ud83d\udd25 Hot</span>",
"target": [
".trend-item:nth-child(2) > .hot.trend-badge"
]
},
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.22 (foreground color: #dc2626, background color: #fdecec, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trend-badge hot\">\ud83d\udd25 Hot</span>",
"target": [
".trend-item:nth-child(2) > .hot.trend-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.22 (foreground color: #dc2626, background color: #fdecec, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#059669",
"bgColor": "#e7f8f2",
"contrastRatio": 3.42,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"trend-badge up\">\u2191 +34%</span>",
"target": [
".trend-item:nth-child(3) > .up.trend-badge"
]
},
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trend-badge up\">\u2191 +34%</span>",
"target": [
".trend-item:nth-child(3) > .up.trend-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#059669",
"bgColor": "#e7f8f2",
"contrastRatio": 3.42,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"trend-badge up\">\u2191 +28%</span>",
"target": [
".trend-item:nth-child(4) > .up.trend-badge"
]
},
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trend-badge up\">\u2191 +28%</span>",
"target": [
".trend-item:nth-child(4) > .up.trend-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#dc2626",
"bgColor": "#fdecec",
"contrastRatio": 4.22,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"trend-badge hot\">\ud83d\udd25 Hot</span>",
"target": [
".trend-item:nth-child(5) > .hot.trend-badge"
]
},
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.22 (foreground color: #dc2626, background color: #fdecec, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trend-badge hot\">\ud83d\udd25 Hot</span>",
"target": [
".trend-item:nth-child(5) > .hot.trend-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.22 (foreground color: #dc2626, background color: #fdecec, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#059669",
"bgColor": "#e7f8f2",
"contrastRatio": 3.42,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"trend-badge up\">\u2191 +41%</span>",
"target": [
".trend-item:nth-child(6) > .up.trend-badge"
]
},
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trend-badge up\">\u2191 +41%</span>",
"target": [
".trend-item:nth-child(6) > .up.trend-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#059669",
"bgColor": "#e7f8f2",
"contrastRatio": 3.42,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<span class=\"trend-badge up\">\u2191 +22%</span>",
"target": [
".trend-item:nth-child(7) > .up.trend-badge"
]
},
{
"html": "<div class=\"sidebar-card\">",
"target": [
".sidebar-card:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"trend-badge up\">\u2191 +22%</span>",
"target": [
".trend-item:nth-child(7) > .up.trend-badge"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.42 (foreground color: #059669, background color: #e7f8f2, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#70747d",
"bgColor": "#111827",
"contrastRatio": 3.78,
"fontSize": "10.2pt (13.6px)",
"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.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>\u00a9 2025 CareerVault, Inc. All rights reserved.</p>",
"target": [
".footer-bottom > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#70747d",
"bgColor": "#111827",
"contrastRatio": 3.78,
"fontSize": "10.2pt (13.6px)",
"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.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Privacy Policy</a>",
"target": [
".footer-bottom-links > a[href=\"#\"]:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#70747d",
"bgColor": "#111827",
"contrastRatio": 3.78,
"fontSize": "10.2pt (13.6px)",
"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.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Terms of Service</a>",
"target": [
".footer-bottom-links > a[href=\"#\"]:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#70747d",
"bgColor": "#111827",
"contrastRatio": 3.78,
"fontSize": "10.2pt (13.6px)",
"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.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Cookie Policy</a>",
"target": [
".footer-bottom-links > a[href=\"#\"]:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#70747d",
"bgColor": "#111827",
"contrastRatio": 3.78,
"fontSize": "10.2pt (13.6px)",
"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.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Accessibility</a>",
"target": [
".footer-bottom-links > a[href=\"#\"]:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#70747d",
"bgColor": "#111827",
"contrastRatio": 3.78,
"fontSize": "10.2pt (13.6px)",
"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.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\">Sitemap</a>",
"target": [
".footer-bottom-links > a[href=\"#\"]:nth-child(5)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.78 (foreground color: #70747d, background color: #111827, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ffffff",
"contrastRatio": 3.74,
"fontSize": "8.4pt (11.2px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<header class=\"header\">",
"target": [
"header"
]
},
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"logo-tagline\">Unlock Your Professional Potential</span>",
"target": [
".header-inner > .logo-area > .logo-text > .logo-tagline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.74 (foreground color: #0d9488, background color: #ffffff, font size: 8.4pt (11.2px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#0d9488",
"bgColor": "#ecf6f5",
"contrastRatio": 3.39,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a href=\"#\" class=\"active\">Home</a>",
"target": [
".active[href=\"#\"]"
]
},
{
"html": "<header class=\"header\">",
"target": [
"header"
]
},
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.39 (foreground color: #0d9488, background color: #ecf6f5, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#\" class=\"active\">Home</a>",
"target": [
".active[href=\"#\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.39 (foreground color: #0d9488, background color: #ecf6f5, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 7634
},
{
"y": 576,
"height": 7634
},
{
"y": 1152,
"height": 7634
},
{
"y": 1728,
"height": 7634
},
{
"y": 2304,
"height": 7634
},
{
"y": 2880,
"height": 7634
},
{
"y": 3456,
"height": 7634
},
{
"y": 4032,
"height": 7634
},
{
"y": 4608,
"height": 7634
},
{
"y": 5184,
"height": 7634
},
{
"y": 5760,
"height": 7634
},
{
"y": 6336,
"height": 7634
},
{
"y": 6912,
"height": 7634
},
{
"y": 6914,
"height": 7634
}
],
"scans": 15,
"max_states": 512,
"settle_ms": 5000,
"page_timeout_seconds": 150,
"layout_stability": "consecutive 100ms size samples within one CSS pixel",
"animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
"interactive_states": "not exercised",
"horizontal_scroll": "not exercised"
}
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Careers" 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: "Careers"
- Description: Job boards, career advice, resume tips, and professional resources.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Careers" 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: "Resume Builder", "Contact", "Networking".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Careers" category. Consider themes similar to: "Professional Networking", "Resume Guide", "Success Stories".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "career trajectory", "cover letter", "job market".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Start Application", "Explore Careers", "Apply Today".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Careers" sector. Ideas similar but not limited to: "skills assessment".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "industry salary data", "hiring trends", "top employers".
- **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.