DeepSeek DeepSeek V4.1 Flash 1017 – Education
via DeepInfra · Generated
- AIMAC Debt 5.49
- Cost $0.01
- Total Violations 39
- HTML Size 75 KB
- Em Dashes 17
Screenshot
View Live Page
Accessibility Issues Found
39 Serious
-
color-contrast serious 39 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<a class="btn btn--gold nav__cta" href="#apply">Apply</a>
Artifacts
View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Northvale University — Where curiosity becomes capability</title>
<meta name="description" content="Northvale University is a mid-sized research university in Vermont's Green Mountains. 94 degree programs, an 11:1 student–faculty ratio, and $38M in financial aid awarded annually.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap" rel="stylesheet">
<script>document.documentElement.classList.add('js');</script>
<style>
/* ============================================================
RESET & TOKENS
============================================================ */
*,*::before,*::after{box-sizing:border-box}
:root{
--ink:#0d2233;
--ink-2:#173a52;
--ink-3:#2c5470;
--paper:#faf7f1;
--paper-2:#f2ece1;
--card:#ffffff;
--line:#e3dbcd;
--gold:#c08433;
--gold-deep:#a3681f;
--gold-soft:#e8c894;
--teal:#1c5c56;
--muted:#5a6f7e;
--radius:12px;
--shadow:0 20px 44px -30px rgba(13,34,51,.5);
--shadow-lg:0 34px 70px -40px rgba(13,34,51,.55);
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
margin:0;
font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
font-size:16px;
line-height:1.65;
color:var(--ink);
background:var(--paper);
-webkit-font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.12;letter-spacing:-.015em;margin:0}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
[hidden]{display:none !important}
.wrap{width:min(1200px,calc(100% - 2.5rem));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{
position:absolute;left:1rem;top:-4rem;z-index:200;
background:var(--ink);color:#fff;padding:.75rem 1.25rem;border-radius:8px;
font-size:.9rem;font-weight:600;transition:top .2s ease;
}
.skip-link:focus{top:1rem}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
/* ============================================================
TYPOGRAPHY HELPERS
============================================================ */
.eyebrow{
font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
color:var(--gold);margin:0 0 .9rem;
}
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section--tight{padding:clamp(2.75rem,5vw,4rem) 0}
.section-head{max-width:780px;margin-bottom:clamp(2rem,4vw,3rem)}
.section-head h2{font-size:clamp(1.9rem,3.3vw,2.75rem);margin-bottom:1rem}
.section-head .lede{font-size:1.05rem;color:var(--muted);max-width:64ch}
.lede{font-size:1.05rem;color:var(--muted)}
/* ============================================================
BUTTONS
============================================================ */
.btn{
display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
padding:.85rem 1.55rem;border-radius:999px;
font-size:.9rem;font-weight:600;letter-spacing:.01em;
border:1px solid transparent;cursor:pointer;white-space:nowrap;
transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.btn--gold{background:var(--gold);color:#fff;box-shadow:0 10px 24px -14px rgba(192,132,51,.9)}
.btn--gold:hover{background:var(--gold-deep);transform:translateY(-2px)}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--ink-2);transform:translateY(-2px)}
.btn--ghost{border-color:rgba(13,34,51,.24);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink);background:rgba(13,34,51,.05)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--gold-soft);transform:translateY(-2px)}
.btn--outline-light{border-color:rgba(255,255,255,.42);color:#fff}
.btn--outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff}
.link-arrow{
display:inline-flex;align-items:center;gap:.45rem;
font-size:.875rem;font-weight:600;color:var(--ink);
border-bottom:1px solid transparent;transition:gap .18s ease,color .18s ease,border-color .18s ease;
}
.link-arrow::after{content:"→";transition:transform .18s ease}
.link-arrow:hover{color:var(--gold-deep);border-bottom-color:var(--gold-soft)}
.link-arrow:hover::after{transform:translateX(3px)}
/* ============================================================
UTILITY BAR
============================================================ */
.utility{background:var(--ink);color:rgba(255,255,255,.82);font-size:.8rem}
.utility__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.6rem 0;flex-wrap:wrap}
.utility__note{display:flex;align-items:center;gap:.55rem;margin:0}
.dot{width:7px;height:7px;border-radius:50%;background:var(--gold-soft);box-shadow:0 0 0 4px rgba(232,200,148,.18);flex:none}
.utility__links{display:flex;gap:1.5rem}
.utility__links a{transition:color .18s ease}
.utility__links a:hover{color:#fff}
/* ============================================================
HEADER / NAV
============================================================ */
.site-header{
position:sticky;top:0;z-index:60;
background:rgba(250,247,241,.94);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
border-bottom:1px solid var(--line);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.75rem;padding:.85rem 0}
.brand{display:flex;align-items:center;gap:.85rem;flex:none}
.brand__mark{width:44px;height:44px;border-radius:10px;flex:none}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__name{font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;font-weight:600;letter-spacing:-.01em}
.brand__tag{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-top:.18rem}
.nav{display:flex;align-items:center;gap:1.9rem}
.nav ul{display:flex;align-items:center;gap:1.5rem}
.nav ul a{
position:relative;font-size:.855rem;font-weight:500;color:var(--ink-2);
padding:.35rem 0;transition:color .18s ease;
}
.nav ul a::after{
content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;
background:var(--gold);transform:scaleX(0);transform-origin:left;
transition:transform .22s ease;
}
.nav ul a:hover{color:var(--ink)}
.nav ul a:hover::after{transform:scaleX(1)}
.nav__cta{padding:.65rem 1.35rem;font-size:.85rem}
.nav-toggle{
display:none;align-items:center;justify-content:center;
width:44px;height:44px;border-radius:10px;border:1px solid var(--line);
background:#fff;cursor:pointer;
}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{
display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;
transition:transform .2s ease,opacity .2s ease;
}
.nav-toggle__bars{position:relative}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}
.nav-toggle__bars::after{top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1040px){
.nav-toggle{display:inline-flex}
.nav{
position:absolute;top:100%;left:0;right:0;
flex-direction:column;align-items:flex-start;gap:1rem;
background:var(--paper);border-bottom:1px solid var(--line);
padding:1rem 1.25rem 1.5rem;display:none;
box-shadow:0 24px 40px -30px rgba(13,34,51,.5);
}
.nav.is-open{display:flex}
.nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
.nav ul a{display:block;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.nav ul a::after{display:none}
.nav__cta{width:100%;padding:.8rem 1.35rem}
}
/* ============================================================
HERO
============================================================ */
.hero{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}
.hero::before{
content:"";position:absolute;top:-30%;right:-18%;width:60vw;height:60vw;max-width:760px;max-height:760px;
background:radial-gradient(circle,rgba(232,200,148,.34),transparent 68%);
pointer-events:none;
}
.hero__grid{
position:relative;
display:grid;grid-template-columns:1.06fr .94fr;
gap:clamp(2rem,5vw,4.5rem);align-items:center;
}
.hero h1{font-size:clamp(2.35rem,5vw,3.9rem);line-height:1.06;letter-spacing:-.025em;margin-bottom:1.35rem}
.hero__lede{font-size:clamp(1rem,1.5vw,1.1rem);color:var(--ink-3);max-width:56ch;margin-bottom:2rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:2.25rem}
.hero__meta{
display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
font-size:.82rem;color:var(--muted);letter-spacing:.02em;
}
.hero__meta span{display:inline-flex;align-items:center;gap:.5rem}
.hero__meta span + span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--line);margin-right:.25rem}
.hero__figure{
position:relative;margin:0;border-radius:16px;
box-shadow:22px 22px 0 -3px rgba(192,132,51,.22),var(--shadow-lg);
}
.hero__figure img{
width:100%;height:100%;aspect-ratio:4/4.6;object-fit:cover;
border-radius:16px;filter:grayscale(1) contrast(1.06);
}
.hero__figure::before{
content:"";position:absolute;inset:0;border-radius:16px;
background:linear-gradient(155deg,rgba(192,132,51,.5),rgba(13,34,51,.62));
mix-blend-mode:multiply;pointer-events:none;
}
.hero__badge{
position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;
background:rgba(250,247,241,.96);backdrop-filter:blur(6px);
border-radius:10px;padding:1.05rem 1.15rem;
display:flex;flex-direction:column;gap:.2rem;
box-shadow:0 18px 36px -26px rgba(13,34,51,.7);
}
.hero__badge-label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.hero__badge-title{font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;line-height:1.25}
.hero__badge a{font-size:.82rem;font-weight:600;color:var(--ink-3);margin-top:.35rem;transition:color .18s ease}
.hero__badge a:hover{color:var(--gold-deep)}
@media (max-width:900px){
.hero__grid{grid-template-columns:1fr}
.hero__figure{order:-1;box-shadow:14px 14px 0 -3px rgba(192,132,51,.2),var(--shadow)}
.hero__figure img{aspect-ratio:16/11}
}
/* ============================================================
STATS STRIP
============================================================ */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:2rem 1.5rem;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat__num{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1;margin-bottom:.45rem;letter-spacing:-.02em}
.stat__num em{font-style:normal;color:var(--gold)}
.stat__label{font-size:.79rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);line-height:1.4}
@media (max-width:820px){
.stats__grid{grid-template-columns:repeat(2,1fr)}
.stat{padding:1.5rem 1.25rem;border-left:1px solid var(--line)}
.stat:nth-child(odd){border-left:0;padding-left:0}
.stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--line)}
}
/* ============================================================
PATHWAYS
============================================================ */
.pathways{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.pathway{
position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
padding:1.75rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;
transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.pathway::before{
content:"";position:absolute;left:1.5rem;right:1.5rem;top:0;height:3px;
background:var(--gold);border-radius:0 0 3px 3px;
transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.pathway:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d6c9b4}
.pathway:hover::before{transform:scaleX(1)}
.pathway__index{font-size:.72rem;letter-spacing:.16em;color:var(--gold-deep);font-weight:600}
.pathway h3{font-size:1.16rem;line-height:1.25}
.pathway p{font-size:.9rem;color:var(--muted);line-height:1.6;margin:0}
.pathway .link-arrow{margin-top:auto;padding-top:.65rem;font-size:.82rem}
@media (max-width:1000px){.pathways{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pathways{grid-template-columns:1fr}}
/* ============================================================
PROGRAMS
============================================================ */
.programs{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.programs__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,2.75rem)}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.program{
background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
display:flex;flex-direction:column;
transition:transform .22s ease,box-shadow .22s ease;
}
.program:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.program__media{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--ink)}
.program__media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:transform .5s ease}
.program:hover .program__media img{transform:scale(1.05)}
.program__media::after{
content:"";position:absolute;inset:0;
background:linear-gradient(160deg,rgba(192,132,51,.32),rgba(13,34,51,.42));
mix-blend-mode:multiply;
}
.program__degree{
position:absolute;left:1rem;top:1rem;z-index:2;
background:rgba(250,247,241,.95);color:var(--ink);
font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
padding:.35rem .7rem;border-radius:999px;
}
.program__body{padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.program__school{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.program__body h3{font-size:1.18rem;line-height:1.25}
.program__body p{font-size:.9rem;color:var(--muted);line-height:1.62;margin:0}
.program__facts{
display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--ink-3);
padding-top:.9rem;margin-top:auto;border-top:1px solid var(--line);
}
.program__facts span{display:inline-flex;align-items:center;gap:.35rem}
.program__facts span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold-soft)}
@media (max-width:980px){.program-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.program-grid{grid-template-columns:1fr}}
/* ============================================================
APPLICATION TRACKER
============================================================ */
.tracker{background:var(--ink);color:rgba(255,255,255,.86);position:relative;overflow:hidden}
.tracker::before{
content:"";position:absolute;inset:0;
background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
background-size:64px 64px;
mask-image:radial-gradient(ellipse at 30% 20%,#000,transparent 78%);
-webkit-mask-image:radial-gradient(ellipse at 30% 20%,#000,transparent 78%);
pointer-events:none;
}
.tracker__grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.tracker h2{color:#fff;font-size:clamp(1.9rem,3.3vw,2.65rem);margin-bottom:1rem}
.tracker .eyebrow{color:var(--gold-soft)}
.tracker__copy p{color:rgba(255,255,255,.72);font-size:1rem;margin-bottom:1.15rem}
.tracker__list{display:grid;gap:.7rem;margin-top:1.5rem}
.tracker__list li{
display:flex;gap:.75rem;align-items:flex-start;
font-size:.9rem;color:rgba(255,255,255,.78);line-height:1.55;
}
.tracker__list li::before{
content:"";flex:none;width:18px;height:18px;border-radius:50%;
background:rgba(232,200,148,.16);border:1px solid rgba(232,200,148,.5);
background-image:linear-gradient(var(--gold-soft),var(--gold-soft));
background-size:8px 1.5px;background-position:center;background-repeat:no-repeat;
margin-top:.18rem;
}
.tracker__panel{
background:rgba(255,255,255,.055);
border:1px solid rgba(255,255,255,.14);
border-radius:16px;padding:clamp(1.35rem,3vw,2rem);
backdrop-filter:blur(6px);
box-shadow:0 40px 80px -50px #000;
}
.tracker__panel h3{color:#fff;font-size:1.15rem;margin-bottom:.35rem}
.tracker__panel .hint{font-size:.82rem;color:rgba(255,255,255,.55);margin-bottom:1.35rem}
.field{display:block;margin-bottom:1rem}
.field__label{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:.5rem;font-weight:600}
.field__row{display:flex;gap:.65rem;flex-wrap:wrap}
.field input{
flex:1 1 190px;min-width:0;
background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);
border-radius:999px;padding:.85rem 1.15rem;color:#fff;font-size:.95rem;
letter-spacing:.06em;font-family:inherit;
transition:border-color .18s ease,background .18s ease;
}
.field input::placeholder{color:rgba(255,255,255,.38);letter-spacing:.06em}
.field input:focus{outline:none;border-color:var(--gold-soft);background:rgba(255,255,255,.11)}
.field input[aria-invalid="true"]{border-color:#e2836a}
.tracker__error{
display:flex;gap:.5rem;align-items:center;
font-size:.83rem;color:#f3b7a5;margin:.1rem 0 1rem;
}
.demo-line{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:1rem}
.demo-line button{
background:none;border:0;padding:0;color:var(--gold-soft);
font-weight:600;font-size:.8rem;cursor:pointer;text-decoration:underline;
text-underline-offset:3px;
}
.demo-line button:hover{color:#fff}
/* result */
.tracker__result{
margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.16);
opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s ease;
}
.tracker__result.is-in{opacity:1;transform:none}
.tracker__result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;flex-wrap:wrap}
.tracker__result-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:0 0 .2rem}
.tracker__result-id{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;color:#fff;margin:0;letter-spacing:.02em}
.badge{
display:inline-flex;align-items:center;gap:.4rem;
font-size:.72rem;font-weight:600;letter-spacing:.06em;
padding:.35rem .8rem;border-radius:999px;white-space:nowrap;
}
.badge--progress{background:rgba(232,200,148,.16);color:var(--gold-soft);border:1px solid rgba(232,200,148,.35)}
.badge--progress::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold-soft);animation:pulse 1.9s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}
.timeline{position:relative;display:grid;gap:1.1rem}
.timeline__item{position:relative;display:grid;grid-template-columns:22px 1fr;gap:.9rem}
.timeline__item::before{
content:"";position:absolute;left:10px;top:20px;bottom:-1.1rem;width:1.5px;
background:rgba(255,255,255,.16);
}
.timeline__item:last-child::before{display:none}
.timeline__dot{
width:21px;height:21px;border-radius:50%;flex:none;margin-top:2px;
border:1.5px solid rgba(255,255,255,.28);
background:transparent;position:relative;z-index:1;
}
.timeline__item.is-done .timeline__dot{
background:var(--gold-soft);border-color:var(--gold-soft);
background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));
background-size:9px 1.5px,1.5px 5px;
background-position:center,center;
background-repeat:no-repeat;
}
.timeline__item.is-current .timeline__dot{
border-color:var(--gold-soft);
box-shadow:0 0 0 4px rgba(232,200,148,.16);
background:rgba(232,200,148,.28);
}
.timeline__title{font-size:.9rem;color:#fff;font-weight:600;margin:0 0 .15rem;line-height:1.35}
.timeline__meta{font-size:.79rem;color:rgba(255,255,255,.52);margin:0}
.timeline__item.is-pending .timeline__title{color:rgba(255,255,255,.55);font-weight:500}
.tracker__note{
margin-top:1.35rem;padding:.85rem 1rem;border-radius:10px;
background:rgba(232,200,148,.1);border:1px solid rgba(232,200,148,.22);
font-size:.82rem;color:rgba(255,255,255,.76);line-height:1.55;
}
@media (max-width:900px){.tracker__grid{grid-template-columns:1fr}}
/* ============================================================
FACULTY
============================================================ */
.faculty__head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,2.75rem)}
.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.fac-card{
background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
padding:1.75rem;display:flex;flex-direction:column;gap:.85rem;
transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.fac-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d6c9b4}
.fac-card__top{display:flex;align-items:center;gap:1rem}
.fac-card__avatar{
width:66px;height:66px;border-radius:50%;object-fit:cover;flex:none;
border:2px solid var(--paper-2);box-shadow:0 0 0 3px rgba(192,132,51,.16);
}
.fac-card__name{font-family:'Playfair Display',Georgia,serif;font-size:1.08rem;line-height:1.25;margin:0 0 .18rem}
.fac-card__role{font-size:.78rem;color:var(--muted);line-height:1.45;margin:0}
.fac-card__dept{
font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
color:var(--gold-deep);font-weight:600;
}
.fac-card p{font-size:.9rem;color:var(--muted);line-height:1.62;margin:0}
.fac-card .link-arrow{margin-top:auto;padding-top:.85rem;font-size:.82rem}
@media (max-width:980px){.faculty-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.faculty-grid{grid-template-columns:1fr}}
/* ============================================================
RESEARCH
============================================================ */
.research{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.research__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.research__figure{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg)}
.research__figure img{width:100%;aspect-ratio:4/3.4;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.research__figure::after{
content:"";position:absolute;inset:0;
background:linear-gradient(200deg,rgba(28,92,86,.4),rgba(13,34,51,.55));
mix-blend-mode:multiply;
}
.research__caption{
position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;
font-size:.78rem;color:rgba(255,255,255,.9);
background:rgba(13,34,51,.62);backdrop-filter:blur(4px);
padding:.6rem .85rem;border-radius:8px;line-height:1.45;
}
.research h2{font-size:clamp(1.9rem,3.3vw,2.65rem);margin-bottom:1.15rem}
.research p{color:var(--ink-3);font-size:1rem}
.research__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.9rem 0;padding-top:1.6rem;border-top:1px solid var(--line)}
.research__stats .num{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;line-height:1;margin-bottom:.3rem}
.research__stats .lbl{font-size:.75rem;color:var(--muted);line-height:1.4}
@media (max-width:900px){
.research__grid{grid-template-columns:1fr}
.research__figure{order:-1}
}
/* ============================================================
TESTIMONIALS
============================================================ */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.quote{
position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
padding:2rem 1.75rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem;
transition:transform .22s ease,box-shadow .22s ease;
}
.quote:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.quote::before{
content:"\201C";position:absolute;top:.35rem;left:1.35rem;
font-family:'Playfair Display',Georgia,serif;font-size:3.6rem;line-height:1;
color:var(--gold-soft);opacity:.55;
}
.quote blockquote{margin:0;padding-top:1.35rem;font-size:.98rem;line-height:1.68;color:var(--ink-2)}
.quote__who{display:flex;align-items:center;gap:.85rem;margin-top:auto;padding-top:1.15rem;border-top:1px solid var(--line)}
.quote__who img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.quote__name{font-size:.86rem;font-weight:600;margin:0;line-height:1.3}
.quote__prog{font-size:.76rem;color:var(--muted);margin:0;line-height:1.4}
@media (max-width:980px){.quotes{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.quotes{grid-template-columns:1fr}}
/* ============================================================
NEWS + SIDEBAR
============================================================ */
.news{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.news__layout{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.news-list{display:grid;gap:1rem}
.news-item{
display:grid;grid-template-columns:132px 1fr;gap:1.25rem;align-items:start;
background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
padding:1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.news-item:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d6c9b4}
.news-item__thumb{width:132px;height:104px;object-fit:cover;border-radius:8px;filter:grayscale(1) contrast(1.05)}
.news-item__meta{
display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;
font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;
margin-bottom:.45rem;
}
.news-item__meta span.date{color:var(--muted);letter-spacing:.06em;font-weight:500}
.news-item__meta span.date::before{content:"·";margin-right:.65rem;color:var(--line)}
.news-item h3{font-size:1.05rem;line-height:1.35;margin-bottom:.4rem}
.news-item p{font-size:.86rem;color:var(--muted);line-height:1.6;margin:0}
@media (max-width:560px){
.news-item{grid-template-columns:1fr}
.news-item__thumb{width:100%;height:150px}
}
.sidebar{display:grid;gap:1.25rem;position:sticky;top:96px}
.panel{
background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
padding:1.5rem;
}
.panel__title{
font-family:'Playfair Display',Georgia,serif;font-size:1.08rem;
margin:0 0 1.1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line);
}
.event{display:grid;grid-template-columns:52px 1fr;gap:.9rem;padding:.75rem 0;border-bottom:1px dashed var(--line)}
.event:last-child{border-bottom:0;padding-bottom:0}
.event:first-of-type{padding-top:0}
.event__date{
background:var(--paper-2);border:1px solid var(--line);border-radius:8px;
text-align:center;padding:.4rem .2rem;line-height:1;
}
.event__month{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:.2rem}
.event__day{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;color:var(--ink)}
.event__title{font-size:.88rem;font-weight:600;margin:0 0 .15rem;line-height:1.35}
.event__meta{font-size:.76rem;color:var(--muted);margin:0;line-height:1.4}
.panel--accent{background:var(--ink);border-color:var(--ink);color:rgba(255,255,255,.8)}
.panel--accent .panel__title{color:#fff;border-bottom-color:rgba(255,255,255,.18)}
.panel--accent p{font-size:.87rem;line-height:1.6;color:rgba(255,255,255,.72)}
.panel--accent .eyebrow{color:var(--gold-soft);margin-bottom:.5rem;font-size:.68rem}
.panel--accent .btn{margin-top:1rem;width:100%}
@media (max-width:980px){
.news__layout{grid-template-columns:1fr}
.sidebar{position:static;grid-template-columns:1fr 1fr}
}
@media (max-width:680px){.sidebar{grid-template-columns:1fr}}
/* ============================================================
RESOURCES
============================================================ */
.resources{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.resource{
border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;
transition:transform .2s ease,box-shadow .2s ease;
}
.resource:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.resource__icon{
width:38px;height:38px;border-radius:10px;background:var(--paper-2);
display:flex;align-items:center;justify-content:center;
font-family:'Playfair Display',Georgia,serif;font-size:1rem;color:var(--gold-deep);
margin-bottom:.35rem;
}
.resource h3{font-size:1rem;line-height:1.3}
.resource p{font-size:.85rem;color:var(--muted);line-height:1.58;margin:0}
.resource .link-arrow{margin-top:auto;padding-top:.7rem;font-size:.79rem}
@media (max-width:980px){.resources{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.resources{grid-template-columns:1fr}}
/* ============================================================
FAQ
============================================================ */
.faq{background:var(--paper-2);border-top:1px solid var(--line)}
.faq__layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.faq__aside{position:sticky;top:100px}
.faq__aside h2{font-size:clamp(1.9rem,3.3vw,2.6rem);margin-bottom:1rem}
.faq__aside p{color:var(--muted);font-size:.98rem}
.faq__aside .btn{margin-top:1.35rem}
.faq__list{display:grid;gap:.85rem}
.faq__item{
background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;
}
.faq__item[open]{border-color:#d6c9b4;box-shadow:var(--shadow)}
.faq__item summary{
list-style:none;cursor:pointer;padding:1.15rem 3.2rem 1.15rem 1.35rem;
font-size:.98rem;font-weight:600;line-height:1.45;position:relative;
transition:color .18s ease;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--gold-deep)}
.faq__item summary::after{
content:"";position:absolute;right:1.35rem;top:50%;
width:11px;height:11px;margin-top:-6px;
border-right:1.8px solid var(--gold-deep);border-bottom:1.8px solid var(--gold-deep);
transform:rotate(45deg);transition:transform .25s ease;
}
.faq__item[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.faq__answer{padding:0 1.35rem 1.35rem;font-size:.92rem;color:var(--muted);line-height:1.7;max-width:70ch}
.faq__answer p{margin:0}
@media (max-width:900px){
.faq__layout{grid-template-columns:1fr}
.faq__aside{position:static}
}
/* ============================================================
CTA BAND
============================================================ */
.cta-band{background:var(--ink);color:#fff;position:relative;overflow:hidden;text-align:center}
.cta-band::before{
content:"";position:absolute;inset:-40% -10% auto;height:120%;
background:radial-gradient(ellipse at 50% 0%,rgba(192,132,51,.32),transparent 62%);
pointer-events:none;
}
.cta-band__inner{position:relative;max-width:820px;margin-inline:auto;padding:clamp(3rem,6vw,5rem) 0}
.cta-band h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;letter-spacing:-.02em}
.cta-band p{color:rgba(255,255,255,.72);font-size:1.02rem;margin-bottom:1.75rem}
.cta-band__actions{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}
.cta-band__fine{margin-top:1.5rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.45)}
/* ============================================================
FOOTER
============================================================ */
.site-footer{background:#0a1a27;color:rgba(255,255,255,.66);padding:clamp(3rem,6vw,4.5rem) 0 0;font-size:.9rem}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem}
.footer__brand .brand{margin-bottom:1.15rem}
.footer__brand .brand__name{color:#fff}
.footer__brand .brand__tag{color:rgba(255,255,255,.45)}
.footer__brand p{font-size:.88rem;line-height:1.7;max-width:34ch;color:rgba(255,255,255,.6)}
.footer__contact{display:grid;gap:.45rem;margin-top:1.25rem;font-size:.85rem}
.footer__contact a:hover{color:#fff}
.footer h3{
font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
color:#fff;font-weight:600;margin-bottom:1.15rem;
}
.footer__links{display:grid;gap:.65rem;font-size:.86rem}
.footer__links a{transition:color .18s ease}
.footer__links a:hover{color:#fff}
.footer__bottom{
border-top:1px solid rgba(255,255,255,.1);
padding:1.5rem 0 2rem;
display:flex;justify-content:space-between;align-items:center;gap:1.25rem;flex-wrap:wrap;
font-size:.8rem;color:rgba(255,255,255,.45);
}
.footer__legal{display:flex;gap:1.35rem;flex-wrap:wrap}
.footer__legal a:hover{color:#fff}
.socials{display:flex;gap:.6rem;margin-top:1.5rem}
.socials a{
width:36px;height:36px;border-radius:50%;
border:1px solid rgba(255,255,255,.18);
display:flex;align-items:center;justify-content:center;
font-size:.68rem;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.72);
transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__grid{grid-template-columns:1fr;gap:2rem}}
/* ============================================================
SCROLL REVEAL
============================================================ */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.js .reveal{opacity:1;transform:none;transition:none}
.badge--progress::before{animation:none}
*{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
</style>
</head>
<body>
<a class="skip-link" href="#main">Skip to main content</a>
<!-- ==================== UTILITY BAR ==================== -->
<div class="utility">
<div class="wrap utility__inner">
<p class="utility__note"><span class="dot" aria-hidden="true"></span> Fall 2026 applications are open — priority deadline January 15</p>
<ul class="utility__links">
<li><a href="#admissions">myNorthvale Portal</a></li>
<li><a href="#campus">Visit Campus</a></li>
<li><a href="#apply">Give</a></li>
</ul>
</div>
</div>
<!-- ==================== HEADER ==================== -->
<header class="site-header">
<div class="wrap header__inner">
<a class="brand" href="#top" aria-label="Northvale University — home">
<img class="brand__mark" src="https://placehold.co/88x88/0d2233/e8c894?text=NU&font=montserrat" alt="Northvale University logo" width="44" height="44">
<span class="brand__text">
<span class="brand__name">Northvale University</span>
<span class="brand__tag">Where curiosity becomes capability</span>
</span>
</a>
<button class="nav-toggle" type="button" aria-expanded="false" aria-controls="primary-nav">
<span class="nav-toggle__bars" aria-hidden="true"></span>
<span class="sr-only">Toggle navigation menu</span>
</button>
<nav id="primary-nav" class="nav" aria-label="Primary">
<ul>
<li><a href="#programs">Programs</a></li>
<li><a href="#admissions">Admissions</a></li>
<li><a href="#research">Research</a></li>
<li><a href="#faculty">Faculty</a></li>
<li><a href="#library">Library</a></li>
<li><a href="#campus">Campus Life</a></li>
<li><a href="#aid">Tuition & Aid</a></li>
</ul>
<a class="btn btn--gold nav__cta" href="#apply">Apply</a>
</nav>
</div>
</header>
<main id="main">
<!-- ==================== HERO ==================== -->
<section class="hero" id="top">
<div class="wrap hero__grid">
<div class="hero__copy">
<p class="eyebrow">Established 1892 · Northvale, Vermont</p>
<h1>An education measured by what you do with it.</h1>
<p class="hero__lede">
Northvale is a mid-sized research university in the Green Mountains, where 6,200 students
work alongside faculty on questions that matter — from watershed restoration to the design
of equitable learning systems. Ninety-four degree programs, an 11:1 student-to-faculty ratio,
and a first-year research requirement that puts you in the lab, the archive, or the field
before your second semester begins.
</p>
<div class="hero__actions">
<a class="btn btn--gold" href="#programs">Explore Programs</a>
<a class="btn btn--ghost" href="#campus">Plan a Visit</a>
</div>
<p class="hero__meta">
<span>Test-optional admission</span>
<span>Need-blind review</span>
<span>No fee for first-generation applicants</span>
</p>
</div>
<figure class="hero__figure">
<img src="https://picsum.photos/900/1100?grayscale" alt="Students collaborating around a table in a Northvale University seminar room" width="900" height="1100" fetchpriority="high">
<figcaption class="hero__badge">
<span class="hero__badge-label">Fall 2026 admission</span>
<span class="hero__badge-title">Priority deadline · January 15</span>
<a href="#apply">Start your application →</a>
</figcaption>
</figure>
</div>
</section>
<!-- ==================== STATS ==================== -->
<section class="stats" aria-label="Northvale at a glance">
<div class="wrap stats__grid">
<div class="stat">
<p class="stat__num">94</p>
<p class="stat__label">Degree programs across<br>four colleges</p>
</div>
<div class="stat">
<p class="stat__num">11<em>:</em>1</p>
<p class="stat__label">Student-to-faculty ratio,<br>all classes taught by faculty</p>
</div>
<div class="stat">
<p class="stat__num">$38<em>M</em></p>
<p class="stat__label">Institutional financial aid<br>awarded each year</p>
</div>
<div class="stat">
<p class="stat__num">92<em>%</em></p>
<p class="stat__label">Graduates employed or in<br>graduate school within 6 months</p>
</div>
</div>
</section>
<!-- ==================== PATHWAYS ==================== -->
<section class="section">
<div class="wrap">
<div class="section-head reveal">
<p class="eyebrow">Find your pathway</p>
<h2>Four ways in. One standard of rigor.</h2>
<p class="lede">
Whether you are arriving from high school, returning to finish a degree, or leading a
classroom of your own, there is a Northvale pathway built for the life you actually have.
Every route is taught by the same faculty, held to the same standard, and supported by the
same advising network.
</p>
</div>
<div class="pathways reveal">
<article class="pathway">
<p class="pathway__index">01</p>
<h3>Undergraduate</h3>
<p>Forty-one majors and more than sixty minors across Arts & Sciences, Engineering, and the Conservatory. Every first-year student joins a faculty-led research or creative team.</p>
<a class="link-arrow" href="#programs">Browse majors</a>
</article>
<article class="pathway">
<p class="pathway__index">02</p>
<h3>Graduate & Doctoral</h3>
<p>Twenty-six master's and doctoral programs, including our flagship Ph.D. in Learning Sciences. Funded assistantships, thesis support, and cross-disciplinary advising.</p>
<a class="link-arrow" href="#programs">View graduate study</a>
</article>
<article class="pathway">
<p class="pathway__index">03</p>
<h3>Online & Hybrid</h3>
<p>Seven fully online master's degrees and forty-plus hybrid courses designed for working professionals. Same faculty, same rigor — asynchronous by design.</p>
<a class="link-arrow" href="#programs">See online degrees</a>
</article>
<article class="pathway">
<p class="pathway__index">04</p>
<h3>Professional Studies</h3>
<p>Certificates, summer intensives, and micro-credentials for educators, clinicians, and career changers. Graduate credit that counts toward a future degree.</p>
<a class="link-arrow" href="#library">Explore certificates</a>
</article>
</div>
</div>
</section>
<!-- ==================== PROGRAMS ==================== -->
<section class="section programs" id="programs">
<div class="wrap">
<div class="programs__head reveal">
<div class="section-head" style="margin-bottom:0">
<p class="eyebrow">Degree programs</p>
<h2>Programs built around a question, not a checklist.</h2>
<p class="lede">
Our curriculum is organized so that methods travel. A data scientist learns ecology;
a literature student learns statistical reasoning. Below are three of the ninety-four
programs our students choose most often.
</p>
</div>
<a class="btn btn--ghost" href="#apply">Download Catalog</a>
</div>
<div class="program-grid reveal">
<article class="program">
<div class="program__media">
<span class="program__degree">B.S.</span>
<img src="https://picsum.photos/600/380?grayscale" alt="Field researchers collecting water samples at a forested watershed site" width="600" height="380" loading="lazy" decoding="async">
</div>
<div class="program__body">
<p class="program__school">College of Arts & Sciences</p>
<h3>Environmental Data Science</h3>
<p>Combine field ecology, remote sensing, and statistical modeling to address watershed health and climate adaptation across the Northeast. Seniors complete a two-semester capstone with a community or agency partner.</p>
<div class="program__facts">
<span>4 years</span>
<span>On campus</span>
<span>Capstone required</span>
</div>
</div>
</article>
<article class="program">
<div class="program__media">
<span class="program__degree">M.S.</span>
<img src="https://picsum.photos/620/390?grayscale" alt="Educator facilitating a discussion with secondary school students" width="620" height="390" loading="lazy" decoding="async">
</div>
<div class="program__body">
<p class="program__school">Graduate School of Education</p>
<h3>Learning Sciences & Design</h3>
<p>A thirty-credit online degree for instructional designers, curriculum leads, and classroom teachers building evidence-based learning environments. Fully asynchronous, with an optional summer residency on campus.</p>
<div class="program__facts">
<span>18 months</span>
<span>100% online</span>
<span>Thesis or design project</span>
</div>
</div>
</article>
<article class="program">
<div class="program__media">
<span class="program__degree">B.A.</span>
<img src="https://picsum.photos/640/400?grayscale" alt="Student reading in the Northvale rare books and manuscripts room" width="640" height="400" loading="lazy" decoding="async">
</div>
<div class="program__body">
<p class="program__school">School of Humanities</p>
<h3>Comparative Literature & Translation</h3>
<p>Read across four languages and graduate with a published translation thesis, supported by our literary translation residency and a semester of study abroad in Reykjavík, Lisbon, or Kyoto.</p>
<div class="program__facts">
<span>4 years</span>
<span>Study abroad</span>
<span>Published thesis</span>
</div>
</div>
</article>
</div>
<p style="margin-top:2rem"><a class="link-arrow" href="#programs">Browse all 94 programs and certificates</a></p>
</div>
</section>
<!-- ==================== APPLICATION TRACKER ==================== -->
<section class="section tracker" id="admissions">
<div class="wrap tracker__grid">
<div class="tracker__copy reveal">
<p class="eyebrow">Admissions</p>
<h2>Track your application in real time.</h2>
<p>
Every applicant receives a Northvale ID within twenty-four hours of submitting. Use it to
confirm that transcripts and recommendations have arrived, follow your file through faculty
review, and read your decision the moment it is released — no portal password required.
</p>
<p>
Our admissions counselors review files in the order they are completed, not the order they
were started. If something is outstanding, the tracker tells you exactly what it is and who
to contact.
</p>
<ul class="tracker__list">
<li>Document checklist updates within one business day of receipt</li>
<li>Direct messaging with the counselor assigned to your region</li>
<li>Decision letters posted here before they are emailed</li>
</ul>
</div>
<div class="tracker__panel reveal">
<h3>Application status</h3>
<p class="hint">Enter the Northvale ID from your confirmation email.</p>
<form id="tracker-form" novalidate>
<label class="field" for="app-id">
<span class="field__label">Northvale ID</span>
<span class="field__row">
<input id="app-id" name="app-id" type="text" placeholder="NU-26-10427" autocomplete="off" spellcheck="false" aria-describedby="tracker-error">
<button class="btn btn--gold" type="submit">Track Application</button>
</span>
</label>
<p class="tracker__error" id="tracker-error" role="alert" hidden>
That ID doesn't match our format. IDs look like NU-26-10427 — check your confirmation email.
</p>
</form>
<p class="demo-line">Reviewing the page? <button type="button" id="demo-fill">Use a demo ID</button></p>
<div class="tracker__result" id="tracker-result" aria-live="polite" hidden>
<div class="tracker__result-head">
<div>
<p class="tracker__result-label">Application</p>
<p class="tracker__result-id" id="result-id">NU-26-10427</p>
</div>
<span class="badge badge--progress">Under faculty review</span>
</div>
<ol class="timeline">
<li class="timeline__item is-done">
<span class="timeline__dot" aria-hidden="true"></span>
<div>
<p class="timeline__title">Application received</p>
<p class="timeline__meta">Complete · January 9, 2026</p>
</div>
</li>
<li class="timeline__item is-done">
<span class="timeline__dot" aria-hidden="true"></span>
<div>
<p class="timeline__title">Transcripts & credentials verified</p>
<p class="timeline__meta">Complete · January 14, 2026</p>
</div>
</li>
<li class="timeline__item is-current">
<span class="timeline__dot" aria-hidden="true"></span>
<div>
<p class="timeline__title">Faculty committee review</p>
<p class="timeline__meta">In progress · Estimated completion February 6</p>
</div>
</li>
<li class="timeline__item is-pending">
<span class="timeline__dot" aria-hidden="true"></span>
<div>
<p class="timeline__title">Decision released</p>
<p class="timeline__meta">Pending</p>
</div>
</li>
</ol>
<p class="tracker__note">
<strong>One item outstanding:</strong> a second letter of recommendation. You can resend
the request from your applicant portal, or write to admissions@northvale.edu and we will
follow up on your behalf.
</p>
</div>
</div>
</div>
</section>
<!-- ==================== FACULTY ==================== -->
<section class="section" id="faculty">
<div class="wrap">
<div class="faculty__head reveal">
<div class="section-head" style="margin-bottom:0">
<p class="eyebrow">Faculty spotlight</p>
<h2>The people who will know your name.</h2>
<p class="lede">
Ninety-four percent of our tenure-line faculty teach first-year courses. That is not a
recruiting line — it is a scheduling decision we make every year, and it is the reason
students describe their advisors as colleagues rather than gatekeepers.
</p>
</div>
<a class="btn btn--ghost" href="#faculty">Meet Faculty</a>
</div>
<div class="faculty-grid reveal">
<article class="fac-card">
<div class="fac-card__top">
<img class="fac-card__avatar" src="https://i.pravatar.cc/160?u=northvale-osei" alt="Portrait of Dr. Amara Osei" width="66" height="66" loading="lazy" decoding="async">
<div>
<h3 class="fac-card__name">Dr. Amara Osei</h3>
<p class="fac-card__role">Professor of Environmental Science<br>Director, Center for Watershed Resilience</p>
</div>
</div>
<p class="fac-card__dept">College of Arts & Sciences</p>
<p>Osei studies watershed biogeochemistry and community-led restoration in the Lake Champlain basin. Her lab's monitoring network supplies the data behind Vermont's clean-water policy, and undergraduates run roughly half of the sampling.</p>
<a class="link-arrow" href="#faculty">View profile</a>
</article>
<article class="fac-card">
<div class="fac-card__top">
<img class="fac-card__avatar" src="https://i.pravatar.cc/160?u=northvale-reyes" alt="Portrait of Dr. Julian Reyes" width="66" height="66" loading="lazy" decoding="async">
<div>
<h3 class="fac-card__name">Dr. Julian Reyes</h3>
<p class="fac-card__role">Associate Professor, Learning Sciences<br>Faculty Director, Learning Systems Lab</p>
</div>
</div>
<p class="fac-card__dept">Graduate School of Education</p>
<p>Reyes researches how collaborative discourse shapes conceptual change in secondary mathematics classrooms. He co-designs curriculum with forty rural school districts and teaches the doctoral seminar in design-based research methods.</p>
<a class="link-arrow" href="#faculty">View profile</a>
</article>
<article class="fac-card">
<div class="fac-card__top">
<img class="fac-card__avatar" src="https://i.pravatar.cc/160?u=northvale-lindqvist" alt="Portrait of Dr. Hana Lindqvist" width="66" height="66" loading="lazy" decoding="async">
<div>
<h3 class="fac-card__name">Dr. Hana Lindqvist</h3>
<p class="fac-card__role">Professor of Comparative Literature<br>Editor, Northvale Review of Translation</p>
</div>
</div>
<p class="fac-card__dept">School of Humanities</p>
<p>Lindqvist writes on translation theory, Nordic modernism, and the ethics of rendering minor literatures into English. She supervises the translation thesis sequence and hosts the annual literary translation residency each June.</p>
<a class="link-arrow" href="#faculty">View profile</a>
</article>
</div>
</div>
</section>
<!-- ==================== RESEARCH ==================== -->
<section class="section research" id="research">
<div class="wrap research__grid">
<figure class="research__figure reveal">
<img src="https://picsum.photos/900/760?grayscale" alt="Researchers reviewing data in a Northvale University laboratory" width="900" height="760" loading="lazy" decoding="async">
<figcaption class="research__caption">Learning Systems Lab · Spring cohort reviewing classroom discourse data with partner districts.</figcaption>
</figure>
<div class="reveal">
<p class="eyebrow">Research excellence</p>
<h2>Research that leaves the campus and goes to work.</h2>
<p>
Northvale's twelve research centers generate $24 million in sponsored research each year,
but the number we watch most closely is different: 340 undergraduate students listed as
co-authors on peer-reviewed publications since 2019. Undergraduates are not observers here.
They run instruments, code datasets, and defend findings at the spring symposium.
</p>
<p>
From the Center for Watershed Resilience, whose monitoring network informs state clean-water
policy, to the Learning Systems Lab, which partners with forty rural districts on
instructional design, our work is judged by whether it changes conditions on the ground —
in classrooms, in watersheds, and in the public record.
</p>
<div class="research__stats">
<div>
<p class="num">12</p>
<p class="lbl">Research centers and institutes</p>
</div>
<div>
<p class="num">$24M</p>
<p class="lbl">Sponsored research, FY2025</p>
</div>
<div>
<p class="num">340</p>
<p class="lbl">Undergraduate co-authors since 2019</p>
</div>
</div>
<a class="btn btn--ink" href="#research">Explore Research</a>
</div>
</div>
</section>
<!-- ==================== TESTIMONIALS ==================== -->
<section class="section" id="campus">
<div class="wrap">
<div class="section-head reveal">
<p class="eyebrow">Student voices</p>
<h2>What it actually feels like to study here.</h2>
<p class="lede">
Three students, three pathways, one recurring theme: the work is demanding, and nobody
expects you to do it alone.
</p>
</div>
<div class="quotes reveal">
<article class="quote">
<blockquote>
I arrived planning to be a chemistry major. A first-year research placement in the
Learning Systems Lab changed that entirely — I'm now finishing a thesis on how students
reason with data. My advisor has read every draft, twice, including the one I sent at
midnight before spring break.
</blockquote>
<div class="quote__who">
<img src="https://i.pravatar.cc/120?u=northvale-priya" alt="Portrait of Priya Raghunathan" width="44" height="44" loading="lazy" decoding="async">
<div>
<p class="quote__name">Priya Raghunathan</p>
<p class="quote__prog">B.A. Cognitive Science '25 · Sibley Scholarship</p>
</div>
</div>
</article>
<article class="quote">
<blockquote>
The online M.S. let me keep teaching full-time while redesigning my district's literacy
curriculum. My cohort was eighteen working educators, and the feedback was ferociously
useful. I finished with a portfolio I could actually hand to my superintendent.
</blockquote>
<div class="quote__who">
<img src="https://i.pravatar.cc/120?u=northvale-marcus" alt="Portrait of Marcus Ellery" width="44" height="44" loading="lazy" decoding="async">
<div>
<p class="quote__name">Marcus Ellery</p>
<p class="quote__prog">M.S. Learning Sciences & Design '24 · Online</p>
</div>
</div>
</article>
<article class="quote">
<blockquote>
Financial aid made the difference between commuting and living on campus. The scholarship
office walked my family through every form — twice, in two languages — without a hint of
impatience. That is the part nobody puts in the brochure.
</blockquote>
<div class="quote__who">
<img src="https://i.pravatar.cc/120?u=northvale-daniela" alt="Portrait of Daniela Ferraro" width="44" height="44" loading="lazy" decoding="async">
<div>
<p class="quote__name">Daniela Ferraro</p>
<p class="quote__prog">B.S. Environmental Data Science '26 · Pell & Northvale Grant</p>
</div>
</div>
</article>
</div>
</div>
</section>
<!-- ==================== NEWS + SIDEBAR ==================== -->
<section class="section news" id="library">
<div class="wrap">
<div class="section-head reveal">
<p class="eyebrow">Campus news & events</p>
<h2>What's happening on the quad.</h2>
<p class="lede">
Research grants, library openings, and the deadlines that matter — updated weekly by the
Office of Communications.
</p>
</div>
<div class="news__layout">
<div class="news-list reveal">
<article class="news-item">
<img class="news-item__thumb" src="https://picsum.photos/300/240?grayscale" alt="Teacher and students working in a rural classroom" width="132" height="104" loading="lazy" decoding="async">
<div>
<p class="news-item__meta">Research <span class="date">March 4, 2026</span></p>
<h3>Northvale receives $6.2M NSF grant for rural STEM teacher pipeline</h3>
<p>The five-year award will fund paid teaching residencies for forty graduates annually across twelve Vermont and New Hampshire districts, with the Learning Systems Lab providing curriculum support.</p>
</div>
</article>
<article class="news-item">
<img class="news-item__thumb" src="https://picsum.photos/310/250?grayscale" alt="Interior of a modern university library study space" width="132" height="104" loading="lazy" decoding="async">
<div>
<p class="news-item__meta">Campus <span class="date">February 26, 2026</span></p>
<h3>Library opens new digital scholarship studio on level three</h3>
<p>The studio adds eleven workstations for text mining, GIS, and data visualization, plus a dedicated consultations desk staffed by subject librarians four afternoons a week.</p>
</div>
</article>
<article class="news-item">
<img class="news-item__thumb" src="https://picsum.photos/320/260?grayscale" alt="Musicians rehearsing in a conservatory performance hall" width="132" height="104" loading="lazy" decoding="async">
<div>
<p class="news-item__meta">Arts <span class="date">February 18, 2026</span></p>
<h3>Conservatory announces 2026–27 season, free to students</h3>
<p>Thirty-one performances, including a commissioned song cycle by composer-in-residence Ilse Vermeer. Student tickets are free with a Northvale ID; general admission opens April 1.</p>
</div>
</article>
<p style="margin-top:.5rem"><a class="link-arrow" href="#campus">Read all campus news</a></p>
</div>
<aside class="sidebar reveal" aria-label="Events and deadlines">
<div class="panel">
<h3 class="panel__title">Upcoming events</h3>
<div class="event">
<div class="event__date"><span class="event__month">Mar</span><span class="event__day">12</span></div>
<div>
<p class="event__title">Graduate Open House</p>
<p class="event__meta">6:00 p.m. ET · Online, registration required</p>
</div>
</div>
<div class="event">
<div class="event__date"><span class="event__month">Mar</span><span class="event__day">19</span></div>
<div>
<p class="event__title">Financial Aid Night: FAFSA Walkthrough</p>
<p class="event__meta">7:00 p.m. ET · Kestrel Hall & livestream</p>
</div>
</div>
<div class="event">
<div class="event__date"><span class="event__month">Apr</span><span class="event__day">02</span></div>
<div>
<p class="event__title">Spring Research Symposium</p>
<p class="event__meta">All day · Science Commons, open to the public</p>
</div>
</div>
</div>
<div class="panel panel--accent">
<p class="eyebrow">Deadline</p>
<h3 class="panel__title" style="border-bottom:0;padding-bottom:0;margin-bottom:.6rem">Scholarship applications close April 15</h3>
<p>Northvale Merit and Need Scholarships require a completed FAFSA by March 1 for priority consideration. Our aid counselors are available for one-to-one appointments through the end of April.</p>
<a class="btn btn--gold" href="#aid">View aid options</a>
</div>
</aside>
</div>
</div>
</section>
<!-- ==================== RESOURCES ==================== -->
<section class="section section--tight">
<div class="wrap">
<div class="section-head reveal">
<p class="eyebrow">Student resources</p>
<h2>Support that's open when you need it.</h2>
</div>
<div class="resources reveal">
<article class="resource">
<div class="resource__icon" aria-hidden="true">L</div>
<h3>The Northvale Library</h3>
<p>1.4 million volumes, 240 databases, and a digital scholarship studio. Subject librarians hold drop-in hours five days a week, and course reserves are free to borrow.</p>
<a class="link-arrow" href="#library">Hours & collections</a>
</article>
<article class="resource">
<div class="resource__icon" aria-hidden="true">W</div>
<h3>Writing & Tutoring Center</h3>
<p>One-to-one consultations for essays, lab reports, theses, and presentations — at any stage, from outlining to final proofread. Appointments run until 10 p.m. during term.</p>
<a class="link-arrow" href="#library">Book a session</a>
</article>
<article class="resource">
<div class="resource__icon" aria-hidden="true">C</div>
<h3>Career & Internship Office</h3>
<p>Résumé reviews, alumni mentoring, and a funded summer internship program that places 180 students each year with nonprofits, agencies, and labs across the region.</p>
<a class="link-arrow" href="#library">Find an internship</a>
</article>
<article class="resource">
<div class="resource__icon" aria-hidden="true">H</div>
<h3>Health & Counseling</h3>
<p>Same-day counseling appointments, a 24-hour crisis line, and student health services included with tuition. Telehealth is available to online students nationwide.</p>
<a class="link-arrow" href="#library">Access services</a>
</article>
</div>
</div>
</section>
<!-- ==================== FAQ ==================== -->
<section class="section faq" id="aid">
<div class="wrap faq__layout">
<div class="faq__aside reveal">
<p class="eyebrow">Tuition & aid</p>
<h2>Questions we answer every week.</h2>
<p>
Admissions and financial aid are complicated by design. Here are the six questions our
counselors field most often — answered in full, without the brochure language.
</p>
<a class="btn btn--ink" href="#apply">Talk to a Counselor</a>
</div>
<div class="faq__list reveal">
<details class="faq__item" open>
<summary>What are the application deadlines?</summary>
<div class="faq__answer">
<p>First-year priority admission is January 15 for fall entry, with rolling review through May 1 as space allows. Transfer applicants should apply by March 1 for fall and October 15 for spring. Graduate deadlines vary by program and are listed on each program page; most close between December 15 and February 1. Applications submitted after a deadline are reviewed if the incoming class has room.</p>
</div>
</details>
<details class="faq__item">
<summary>Do I need to submit standardized test scores?</summary>
<div class="faq__answer">
<p>No. Northvale is test-optional through the 2028 admission cycle. Students who submit SAT or ACT scores are considered in context; students who do not are reviewed on transcripts, essays, and recommendations alone. There is no penalty either way. International applicants whose first language is not English still submit proof of proficiency through TOEFL, IELTS, or Duolingo.</p>
</div>
</details>
<details class="faq__item">
<summary>How is financial aid determined?</summary>
<div class="faq__answer">
<p>We award $38 million annually in institutional need-based aid and meet 92% of demonstrated need for admitted first-year students. File the FAFSA by March 1 for priority consideration; the CSS Profile is required for institutional grants. Merit scholarships are awarded automatically at the point of admission — there is no separate application, and no essay beyond the ones you have already written.</p>
</div>
</details>
<details class="faq__item">
<summary>Can I transfer credits from another institution?</summary>
<div class="faq__answer">
<p>Yes. We accept up to 60 semester credits from regionally accredited institutions, evaluated course by course by the registrar. A grade of C or better is required. Courses intended to satisfy major requirements may also need departmental review, which typically takes two weeks. Transfer students are assigned an advisor before orientation so the evaluation is finished before registration opens.</p>
</div>
</details>
<details class="faq__item">
<summary>What support exists for first-generation students?</summary>
<div class="faq__answer">
<p>The First-Gen Commons provides a dedicated advisor, a textbook lending library, and a peer mentoring program pairing incoming students with upperclassmen from similar backgrounds. Roughly 22% of each entering class is first-generation, and the Commons runs a pre-orientation program each August. Application fees are waived automatically for first-generation applicants.</p>
</div>
</details>
<details class="faq__item">
<summary>How do I visit campus?</summary>
<div class="faq__answer">
<p>Student-led tours run Monday through Saturday during the academic year, with three open houses each fall and spring. Virtual information sessions are held weekly and include a live Q&A with an admissions counselor. Overnight visits are available for admitted students in April. Book a visit through the admissions portal or by calling (802) 555-0142.</p>
</div>
</details>
</div>
</div>
</section>
<!-- ==================== CTA BAND ==================== -->
<section class="cta-band" id="apply">
<div class="wrap cta-band__inner">
<p class="eyebrow" style="color:var(--gold-soft)">Fall 2026</p>
<h2>Your application starts here.</h2>
<p>
Priority deadline January 15. Test-optional review, no application fee for first-generation
applicants, and a decision in your hands by early March. If you are still deciding, download
the catalog and read the program pages — then come see the campus for yourself.
</p>
<div class="cta-band__actions">
<a class="btn btn--gold" href="#admissions">Apply Now</a>
<a class="btn btn--outline-light" href="#programs">Download Catalog</a>
</div>
<p class="cta-band__fine">Need help? admissions@northvale.edu · (802) 555-0142</p>
</div>
</section>
</main>
<!-- ==================== FOOTER ==================== -->
<footer class="site-footer">
<div class="wrap">
<div class="footer__grid">
<div class="footer__brand">
<a class="brand" href="#top">
<img class="brand__mark" src="https://placehold.co/88x88/e8c894/0d2233?text=NU&font=montserrat" alt="Northvale University logo" width="44" height="44" loading="lazy">
<span class="brand__text">
<span class="brand__name">Northvale University</span>
<span class="brand__tag">Where curiosity becomes capability</span>
</span>
</a>
<p>1180 Kestrel Ridge Road<br>Northvale, Vermont 05468</p>
<div class="footer__contact">
<a href="tel:+18025550142">+1 (802) 555-0142</a>
<a href="mailto:admissions@northvale.edu">admissions@northvale.edu</a>
<a href="mailto:library@northvale.edu">library@northvale.edu</a>
</div>
<div class="socials">
<a href="#top" aria-label="Northvale on LinkedIn">in</a>
<a href="#top" aria-label="Northvale on Instagram">ig</a>
<a href="#top" aria-label="Northvale on YouTube">yt</a>
<a href="#top" aria-label="Northvale on X">x</a>
</div>
</div>
<div>
<h3>Academics</h3>
<ul class="footer__links">
<li><a href="#programs">Degree Programs</a></li>
<li><a href="#programs">Undergraduate Majors</a></li>
<li><a href="#programs">Graduate Programs</a></li>
<li><a href="#programs">Online Degrees</a></li>
<li><a href="#library">Library</a></li>
<li><a href="#research">Research Centers</a></li>
</ul>
</div>
<div>
<h3>Admissions</h3>
<ul class="footer__links">
<li><a href="#apply">Apply Now</a></li>
<li><a href="#admissions">Application Tracker</a></li>
<li><a href="#aid">Tuition & Financial Aid</a></li>
<li><a href="#aid">Scholarships</a></li>
<li><a href="#campus">Visit Campus</a></li>
<li><a href="#faculty">Meet Faculty</a></li>
</ul>
</div>
<div>
<h3>Campus</h3>
<ul class="footer__links">
<li><a href="#campus">News & Events</a></li>
<li><a href="#library">Student Resources</a></li>
<li><a href="#library">Health & Counseling</a></li>
<li><a href="#library">Career Services</a></li>
<li><a href="#campus">Athletics</a></li>
<li><a href="#apply">Give to Northvale</a></li>
</ul>
</div>
</div>
<div class="footer__bottom">
<p>© <span id="year">2025</span> Northvale University. All rights reserved.</p>
<nav class="footer__legal" aria-label="Legal">
<a href="#top">Privacy Policy</a>
<a href="#top">Terms of Use</a>
<a href="#top">Accessibility</a>
<a href="#top">Non-discrimination</a>
<a href="#top">Title IX</a>
</nav>
</div>
</div>
</footer>
<script>
(function () {
'use strict';
/* ---------- Current year ---------- */
var yearEl = document.getElementById('year');
if (yearEl) yearEl.textContent = new Date().getFullYear();
/* ---------- Mobile navigation ---------- */
var toggle = document.querySelector('.nav-toggle');
var nav = document.getElementById('primary-nav');
if (toggle && nav) {
toggle.addEventListener('click', function () {
var open = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', String(!open));
nav.classList.toggle('is-open', !open);
});
nav.addEventListener('click', function (e) {
if (e.target.tagName === 'A' && window.innerWidth <= 1040) {
toggle.setAttribute('aria-expanded', 'false');
nav.classList.remove('is-open');
}
});
}
/* ---------- Application tracker ---------- */
var form = document.getElementById('tracker-form');
var input = document.getElementById('app-id');
var result = document.getElementById('tracker-result');
var resultId = document.getElementById('result-id');
var error = document.getElementById('tracker-error');
var demo = document.getElementById('demo-fill');
var idPattern = /^NU-\d{2}-\d{5}$/;
function clearError() {
if (!error) return;
error.hidden = true;
input.removeAttribute('aria-invalid');
}
function showResult(id) {
resultId.textContent = id;
result.hidden = false;
result.classList.remove('is-in');
/* force reflow so the transition replays on repeat searches */
void result.offsetWidth;
result.classList.add('is-in');
if (result.scrollIntoView) {
result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}
}
if (form && input && result) {
form.addEventListener('submit', function (e) {
e.preventDefault();
var value = input.value.trim().toUpperCase();
if (!idPattern.test(value)) {
error.hidden = false;
input.setAttribute('aria-invalid', 'true');
result.hidden = true;
input.focus();
return;
}
clearError();
showResult(value);
});
input.addEventListener('input', function () {
if (input.getAttribute('aria-invalid') === 'true') clearError();
});
if (demo) {
demo.addEventListener('click', function () {
input.value = 'NU-26-10427';
if (typeof form.requestSubmit === 'function') {
form.requestSubmit();
} else {
form.dispatchEvent(new Event('submit', { cancelable: true }));
}
});
}
}
/* ---------- Scroll reveal ---------- */
var revealEls = document.querySelectorAll('.reveal');
var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
if (reduceMotion || !('IntersectionObserver' in window)) {
revealEls.forEach(function (el) { el.classList.add('in'); });
} else {
var observer = new IntersectionObserver(function (entries) {
entries.forEach(function (entry) {
if (entry.isIntersecting) {
entry.target.classList.add('in');
observer.unobserve(entry.target);
}
});
}, { threshold: 0.12, rootMargin: '0px 0px -60px 0px' });
revealEls.forEach(function (el) { observer.observe(el); });
}
/* ---------- Accordion: keep one open at a time ---------- */
var faqItems = document.querySelectorAll('.faq__item');
faqItems.forEach(function (item) {
item.addEventListener('toggle', function () {
if (item.open) {
faqItems.forEach(function (other) {
if (other !== item) other.open = false;
});
}
});
});
})();
</script>
</body>
</html>
View Axe Report (JSON)
{
"testEngine": {
"name": "axe-core",
"version": "4.10.2"
},
"testRunner": {
"name": "axe"
},
"testEnvironment": {
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
"windowWidth": 1280,
"windowHeight": 720,
"orientationAngle": 0,
"orientationType": "landscape-primary"
},
"timestamp": "2026-11-12T10:08:30.772Z",
"url": "https://benchmark.aimac.invalid/53cb441c939c4d700ab68394aa80753e01613a1fc470235e5ac1a0f99270728e.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-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": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "svg-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "td-headers-attr",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
"help": "Table cells that use the headers attribute must only refer to cells in the same table",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
"nodes": []
},
{
"id": "th-has-data-cells",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
"help": "Table headers in a data table must refer to data cells",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
"nodes": []
},
{
"id": "valid-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2aa",
"wcag312",
"TTv5",
"TT11.b",
"EN-301-549",
"EN-9.3.1.2",
"ACT"
],
"description": "Ensure lang attributes have valid values",
"help": "lang attribute must have a valid value",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
"nodes": []
},
{
"id": "video-caption",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag122",
"section508",
"section508.22.a",
"TTv5",
"TT17.a",
"EN-301-549",
"EN-9.1.2.2"
],
"description": "Ensure <video> elements have captions",
"help": "<video> elements must have captions",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
"nodes": []
},
{
"id": "no-autoplay-audio",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag142",
"TTv5",
"TT2.a",
"EN-301-549",
"EN-9.1.4.2",
"ACT"
],
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"help": "<video> or <audio> elements must not play automatically",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
"nodes": []
}
],
"passes": [
{
"id": "aria-allowed-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure an element's role supports its ARIA attributes",
"help": "Elements must only use supported ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-allowed-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attributes are used correctly for the defined role"
}
],
"none": [
{
"id": "aria-unsupported-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute is supported"
}
],
"impact": null,
"html": "<a class=\"brand\" href=\"#top\" aria-label=\"Northvale University \u2014 home\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"]"
]
}
]
},
{
"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 class=\"brand\" href=\"#top\" aria-label=\"Northvale University \u2014 home\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"]"
]
}
]
},
{
"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-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": [
{
"any": [],
"all": [
{
"id": "focusable-modal-open",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements while a modal is open"
},
{
"id": "focusable-disabled",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements contained within element"
},
{
"id": "focusable-not-tabbable",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "No focusable elements contained within element"
}
],
"none": [],
"impact": null,
"html": "<span class=\"dot\" aria-hidden=\"true\"></span>",
"target": [
".dot"
]
}
]
},
{
"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 class=\"brand\" href=\"#top\" aria-label=\"Northvale University \u2014 home\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"]"
]
}
]
},
{
"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 class=\"brand\" href=\"#top\" aria-label=\"Northvale University \u2014 home\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"]"
]
}
]
},
{
"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 class=\"brand\" href=\"#top\" aria-label=\"Northvale University \u2014 home\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"]"
]
}
]
},
{
"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": [
{
"any": [],
"all": [
{
"id": "autocomplete-valid",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "the autocomplete attribute is correctly formatted"
}
],
"none": [],
"impact": null,
"html": "<input id=\"app-id\" name=\"app-id\" type=\"text\" placeholder=\"NU-26-10427\" autocomplete=\"off\" spellcheck=\"false\" aria-describedby=\"tracker-error\">",
"target": [
"#app-id"
]
}
]
},
{
"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": "<p style=\"margin-top:2rem\"><a class=\"link-arrow\" href=\"#programs\">Browse all 94 programs and certificates</a></p>",
"target": [
"#programs > .wrap > p"
]
}
]
},
{
"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"
},
{
"id": "implicit-label",
"data": {
"implicitLabel": "Northvale ID NU-26-10427 Track Application"
},
"relatedNodes": [
{
"html": "<label class=\"field\" for=\"app-id\">",
"target": [
"label"
]
}
],
"impact": "critical",
"message": "Element has an implicit (wrapped) <label>"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button class=\"btn btn--gold\" type=\"submit\">Track Application</button>",
"target": [
"button[type=\"submit\"]"
]
}
]
},
{
"id": "bypass",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1"
],
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "internal-link-present",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Valid skip link found"
},
{
"id": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1>An education measured by what you do with it.</h1>",
"target": [
"h1"
]
},
{
"html": "<h2>Four ways in. One standard of rigor.</h2>",
"target": [
".section:nth-child(3) > .wrap > .section-head.reveal > h2"
]
},
{
"html": "<h3>Undergraduate</h3>",
"target": [
".pathway:nth-child(1) > h3"
]
},
{
"html": "<h3>Graduate & Doctoral</h3>",
"target": [
".pathway:nth-child(2) > h3"
]
},
{
"html": "<h3>Online & Hybrid</h3>",
"target": [
".pathway:nth-child(3) > h3"
]
},
{
"html": "<h3>Professional Studies</h3>",
"target": [
".pathway:nth-child(4) > h3"
]
},
{
"html": "<h2>Programs built around a question, not a checklist.</h2>",
"target": [
".programs__head > .section-head > h2"
]
},
{
"html": "<h3>Environmental Data Science</h3>",
"target": [
".program:nth-child(1) > .program__body > h3"
]
},
{
"html": "<h3>Learning Sciences & Design</h3>",
"target": [
".program:nth-child(2) > .program__body > h3"
]
},
{
"html": "<h3>Comparative Literature & Translation</h3>",
"target": [
".program:nth-child(3) > .program__body > h3"
]
},
{
"html": "<h2>Track your application in real time.</h2>",
"target": [
".tracker__copy > h2"
]
},
{
"html": "<h3>Application status</h3>",
"target": [
".tracker__panel > h3"
]
},
{
"html": "<h2>The people who will know your name.</h2>",
"target": [
".faculty__head > .section-head > h2"
]
},
{
"html": "<h3 class=\"fac-card__name\">Dr. Amara Osei</h3>",
"target": [
".fac-card:nth-child(1) > .fac-card__top > div > .fac-card__name"
]
},
{
"html": "<h3 class=\"fac-card__name\">Dr. Julian Reyes</h3>",
"target": [
".fac-card:nth-child(2) > .fac-card__top > div > .fac-card__name"
]
},
{
"html": "<h3 class=\"fac-card__name\">Dr. Hana Lindqvist</h3>",
"target": [
".fac-card:nth-child(3) > .fac-card__top > div > .fac-card__name"
]
},
{
"html": "<h2>Research that leaves the campus and goes to work.</h2>",
"target": [
".reveal:nth-child(2) > h2"
]
},
{
"html": "<h2>What it actually feels like to study here.</h2>",
"target": [
"#campus > .wrap > .section-head.reveal > h2"
]
},
{
"html": "<h2>What's happening on the quad.</h2>",
"target": [
"#library > .wrap > .section-head.reveal > h2"
]
},
{
"html": "<h3>Northvale receives $6.2M NSF grant for rural STEM teacher pipeline</h3>",
"target": [
".news-item:nth-child(1) > div > h3"
]
},
{
"html": "<h3>Library opens new digital scholarship studio on level three</h3>",
"target": [
".news-item:nth-child(2) > div > h3"
]
},
{
"html": "<h3>Conservatory announces 2026\u201327 season, free to students</h3>",
"target": [
".news-item:nth-child(3) > div > h3"
]
},
{
"html": "<h3 class=\"panel__title\">Upcoming events</h3>",
"target": [
".panel:nth-child(1) > .panel__title"
]
},
{
"html": "<h3 class=\"panel__title\" style=\"border-bottom:0;padding-bottom:0;margin-bottom:.6rem\">Scholarship applications close April 15</h3>",
"target": [
".panel--accent > .panel__title"
]
},
{
"html": "<h2>Support that's open when you need it.</h2>",
"target": [
".section--tight > .wrap > .section-head.reveal > h2"
]
},
{
"html": "<h3>The Northvale Library</h3>",
"target": [
".resource:nth-child(1) > h3"
]
},
{
"html": "<h3>Writing & Tutoring Center</h3>",
"target": [
".resource:nth-child(2) > h3"
]
},
{
"html": "<h3>Career & Internship Office</h3>",
"target": [
".resource:nth-child(3) > h3"
]
},
{
"html": "<h3>Health & Counseling</h3>",
"target": [
".resource:nth-child(4) > h3"
]
},
{
"html": "<h2>Questions we answer every week.</h2>",
"target": [
".faq__aside > h2"
]
},
{
"html": "<h2>Your application starts here.</h2>",
"target": [
".cta-band__inner > h2"
]
},
{
"html": "<h3>Academics</h3>",
"target": [
".footer__grid > div:nth-child(2) > h3"
]
},
{
"html": "<h3>Admissions</h3>",
"target": [
"div:nth-child(3) > h3"
]
},
{
"html": "<h3>Campus</h3>",
"target": [
"div:nth-child(4) > h3"
]
}
],
"impact": "serious",
"message": "Page has a heading"
},
{
"id": "landmark",
"data": null,
"relatedNodes": [
{
"html": "<main id=\"main\">",
"target": [
"#main"
]
}
],
"impact": "serious",
"message": "Page has a landmark region"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\" class=\"js\">",
"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": "#d3d7da",
"bgColor": "#0d2233",
"contrastRatio": 11.2,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 11.2"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<p class=\"utility__note\"><span class=\"dot\" aria-hidden=\"true\"></span> Fall 2026 applications are open \u2014 priority deadline January 15</p>",
"target": [
".utility__note"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\" class=\"js\">",
"target": [
"html"
]
}
]
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "primary-nav",
"relatedNodes": [],
"impact": "critical",
"message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<nav id=\"primary-nav\" class=\"nav\" aria-label=\"Primary\">",
"target": [
"#primary-nav"
]
}
]
},
{
"id": "form-field-multiple-labels",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag332",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.3.3.2"
],
"description": "Ensure form field does not have multiple label elements",
"help": "Form field must not have multiple label elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "multiple-label",
"data": null,
"relatedNodes": [
{
"html": "<label class=\"field\" for=\"app-id\">",
"target": [
"label"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input id=\"app-id\" name=\"app-id\" type=\"text\" placeholder=\"NU-26-10427\" autocomplete=\"off\" spellcheck=\"false\" aria-describedby=\"tracker-error\">",
"target": [
"#app-id"
]
}
]
},
{
"id": "html-has-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The <html> element has a lang attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\" class=\"js\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\" class=\"js\">",
"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 class=\"brand__mark\" src=\"https://placehold.co/88x88/0d2233/e8c894?text=NU&font=montserrat\" alt=\"Northvale University logo\" width=\"44\" height=\"44\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"] > .brand__mark[alt=\"Northvale University logo\"][width=\"44\"]"
]
}
]
},
{
"id": "label",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every form element has a label",
"help": "Form elements must have labels",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "implicit-label",
"data": {
"implicitLabel": "Northvale ID NU-26-10427 Track Application"
},
"relatedNodes": [
{
"html": "<label class=\"field\" for=\"app-id\">",
"target": [
"label"
]
}
],
"impact": "critical",
"message": "Element has an implicit (wrapped) <label>"
},
{
"id": "explicit-label",
"data": null,
"relatedNodes": [
{
"html": "<label class=\"field\" for=\"app-id\">",
"target": [
"label"
]
}
],
"impact": "critical",
"message": "Element has an explicit <label>"
},
{
"id": "non-empty-placeholder",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a placeholder attribute"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input id=\"app-id\" name=\"app-id\" type=\"text\" placeholder=\"NU-26-10427\" autocomplete=\"off\" spellcheck=\"false\" aria-describedby=\"tracker-error\">",
"target": [
"#app-id"
]
}
]
},
{
"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 class=\"skip-link\" href=\"#main\">Skip to main content</a>",
"target": [
".skip-link"
]
}
]
},
{
"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=\"utility__links\">\n <li><a href=\"#admissions\">myNorthvale Portal</a></li>\n <li><a href=\"#campus\">Visit Campus</a></li>\n <li><a href=\"#apply\">Give</a></li>\n </ul>",
"target": [
".utility__links"
]
}
]
},
{
"id": "listitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <li> elements are used semantically",
"help": "<li> elements must be contained in a <ul> or <ol>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "listitem",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "List item has a <ul>, <ol> or role=\"list\" parent element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<li><a href=\"#admissions\">myNorthvale Portal</a></li>",
"target": [
".utility__links > 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\">",
"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 class=\"brand__mark\" src=\"https://placehold.co/88x88/0d2233/e8c894?text=NU&font=montserrat\" alt=\"Northvale University logo\" width=\"44\" height=\"44\">",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"] > .brand__mark[alt=\"Northvale University logo\"][width=\"44\"]"
]
}
]
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Element has text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<summary>What are the application deadlines?</summary>",
"target": [
"details[open=\"\"] > summary"
]
}
]
},
{
"id": "target-size",
"impact": null,
"tags": [
"cat.sensory-and-visual-cues",
"wcag22aa",
"wcag258"
],
"description": "Ensure touch targets have sufficient size and space",
"help": "All touch targets must be 24px large, or leave sufficient space",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "target-size",
"data": {
"minSize": 24,
"width": 182,
"height": 47.8
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (182px by 47.8px, 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 class=\"skip-link\" href=\"#main\">Skip to main content</a>",
"target": [
".skip-link"
]
}
]
}
],
"incomplete": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": "pseudoContent",
"expectedContrastRatio": "4.5:1"
},
"relatedNodes": [
{
"html": "<section class=\"hero\" id=\"top\">",
"target": [
"#top"
]
}
],
"impact": "serious",
"message": "Element's background color could not be determined due to a pseudo element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Established 1892 \u00b7 Northvale, Vermont</p>",
"target": [
".hero__copy > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element's background color could not be determined due to a pseudo element"
}
]
}
],
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#c08433",
"contrastRatio": 3.18,
"fontSize": "10.2pt (13.6px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a class=\"btn btn--gold nav__cta\" href=\"#apply\">Apply</a>",
"target": [
".nav__cta"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.18 (foreground color: #ffffff, background color: #c08433, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a class=\"btn btn--gold nav__cta\" href=\"#apply\">Apply</a>",
"target": [
".nav__cta"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.18 (foreground color: #ffffff, background color: #c08433, font size: 10.2pt (13.6px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.5pt (12.64px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"stats\" aria-label=\"Northvale at a glance\">",
"target": [
".stats"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"stat__label\">Degree programs across<br>four colleges</p>",
"target": [
".stat:nth-child(1) > .stat__label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.5pt (12.64px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"stats\" aria-label=\"Northvale at a glance\">",
"target": [
".stats"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"stat__label\">Student-to-faculty ratio,<br>all classes taught by faculty</p>",
"target": [
".stat:nth-child(2) > .stat__label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.5pt (12.64px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"stats\" aria-label=\"Northvale at a glance\">",
"target": [
".stats"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"stat__label\">Institutional financial aid<br>awarded each year</p>",
"target": [
".stat:nth-child(3) > .stat__label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.5pt (12.64px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"stats\" aria-label=\"Northvale at a glance\">",
"target": [
".stats"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"stat__label\">Graduates employed or in<br>graduate school within 6 months</p>",
"target": [
".stat:nth-child(4) > .stat__label"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.5pt (12.64px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "8.2pt (10.88px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"brand__tag\">Where curiosity becomes capability</span>",
"target": [
".footer__brand > .brand[href$=\"#top\"] > .brand__text > .brand__tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>\u00a9 <span id=\"year\">2026</span> Northvale University. All rights reserved.</p>",
"target": [
".footer__bottom > p"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span id=\"year\">2026</span>",
"target": [
"#year"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#top\">Privacy Policy</a>",
"target": [
".footer__legal > a[href$=\"#top\"]:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#top\">Terms of Use</a>",
"target": [
".footer__legal > a[href$=\"#top\"]:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#top\">Accessibility</a>",
"target": [
".footer__legal > a[href$=\"#top\"]:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#top\">Non-discrimination</a>",
"target": [
".footer__legal > a[href$=\"#top\"]:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#788188",
"bgColor": "#0a1a27",
"contrastRatio": 4.44,
"fontSize": "9.6pt (12.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site-footer\">",
"target": [
"footer"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"#top\">Title IX</a>",
"target": [
"a[href$=\"#top\"]:nth-child(5)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.44 (foreground color: #788188, background color: #0a1a27, font size: 9.6pt (12.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Find your pathway</p>",
"target": [
".in > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Find your pathway</p>",
"target": [
".in.section-head.reveal > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#f2ece1",
"contrastRatio": 2.71,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section programs\" id=\"programs\">",
"target": [
"#programs"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.71 (foreground color: #c08433, background color: #f2ece1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Degree programs</p>",
"target": [
".programs__head > .section-head > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.71 (foreground color: #c08433, background color: #f2ece1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section programs\" id=\"programs\">",
"target": [
"#programs"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"lede\">\n Our curriculum is organized so that methods travel. A data scientist learns ecology;\n a literature student learns statistical reasoning. Below are three of the ninety-four\n programs our students choose most often.\n </p>",
"target": [
".programs__head > .section-head > .lede"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#eceae6",
"contrastRatio": 4.35,
"fontSize": "8.2pt (10.88px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<header class=\"site-header\">",
"target": [
"header"
]
},
{
"html": "<section class=\"section tracker\" id=\"admissions\">",
"target": [
"#admissions"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.35 (foreground color: #5a6f7e, background color: #eceae6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"brand__tag\">Where curiosity becomes capability</span>",
"target": [
"a[aria-label=\"Northvale University \u2014 home\"] > .brand__text > .brand__tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.35 (foreground color: #5a6f7e, background color: #eceae6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Find your pathway</p>",
"target": [
".section-head.in.reveal > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Faculty spotlight</p>",
"target": [
".faculty__head > .section-head > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.0pt (12px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section research\" id=\"research\">",
"target": [
"#research"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"lbl\">Research centers and institutes</p>",
"target": [
"div:nth-child(1) > .lbl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.0pt (12px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section research\" id=\"research\">",
"target": [
"#research"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"lbl\">Sponsored research, FY2025</p>",
"target": [
"div:nth-child(2) > .lbl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "9.0pt (12px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section research\" id=\"research\">",
"target": [
"#research"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"lbl\">Undergraduate co-authors since 2019</p>",
"target": [
"div:nth-child(3) > .lbl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Find your pathway</p>",
"target": [
".section:nth-child(3) > .wrap > .section-head.in.reveal > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Student voices</p>",
"target": [
"#campus > .wrap > .section-head.in.reveal > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#f2ece1",
"contrastRatio": 2.71,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section news\" id=\"library\">",
"target": [
"#library"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.71 (foreground color: #c08433, background color: #f2ece1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Campus news & events</p>",
"target": [
"#library > .wrap > .section-head.in.reveal > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.71 (foreground color: #c08433, background color: #f2ece1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section news\" id=\"library\">",
"target": [
"#library"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"lede\">\n Research grants, library openings, and the deadlines that matter \u2014 updated weekly by the\n Office of Communications.\n </p>",
"target": [
"#library > .wrap > .section-head.in.reveal > .lede"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#a3681f",
"bgColor": "#f2ece1",
"contrastRatio": 3.91,
"fontSize": "7.4pt (9.92px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event__date\"><span class=\"event__month\">Mar</span><span class=\"event__day\">12</span></div>",
"target": [
".event:nth-child(2) > .event__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.91 (foreground color: #a3681f, background color: #f2ece1, font size: 7.4pt (9.92px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"event__month\">Mar</span>",
"target": [
".event:nth-child(2) > .event__date > .event__month"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.91 (foreground color: #a3681f, background color: #f2ece1, font size: 7.4pt (9.92px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#a3681f",
"bgColor": "#f2ece1",
"contrastRatio": 3.91,
"fontSize": "7.4pt (9.92px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event__date\"><span class=\"event__month\">Mar</span><span class=\"event__day\">19</span></div>",
"target": [
".event:nth-child(3) > .event__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.91 (foreground color: #a3681f, background color: #f2ece1, font size: 7.4pt (9.92px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"event__month\">Mar</span>",
"target": [
".event:nth-child(3) > .event__date > .event__month"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.91 (foreground color: #a3681f, background color: #f2ece1, font size: 7.4pt (9.92px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#a3681f",
"bgColor": "#f2ece1",
"contrastRatio": 3.91,
"fontSize": "7.4pt (9.92px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"event__date\"><span class=\"event__month\">Apr</span><span class=\"event__day\">02</span></div>",
"target": [
".event:nth-child(4) > .event__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.91 (foreground color: #a3681f, background color: #f2ece1, font size: 7.4pt (9.92px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"event__month\">Apr</span>",
"target": [
".event:nth-child(4) > .event__date > .event__month"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.91 (foreground color: #a3681f, background color: #f2ece1, font size: 7.4pt (9.92px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#ffffff",
"bgColor": "#c08433",
"contrastRatio": 3.18,
"fontSize": "10.8pt (14.4px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a class=\"btn btn--gold\" href=\"#aid\">View aid options</a>",
"target": [
".btn--gold.btn[href$=\"#aid\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.18 (foreground color: #ffffff, background color: #c08433, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a class=\"btn btn--gold\" href=\"#aid\">View aid options</a>",
"target": [
".btn--gold.btn[href$=\"#aid\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.18 (foreground color: #ffffff, background color: #c08433, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Student resources</p>",
"target": [
".section--tight > .wrap > .section-head.in.reveal > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Find your pathway</p>",
"target": [
".section:nth-child(3) > .wrap > .section-head.reveal.in > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Student voices</p>",
"target": [
"#campus > .wrap > .section-head.reveal.in > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#f2ece1",
"contrastRatio": 2.71,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section news\" id=\"library\">",
"target": [
"#library"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.71 (foreground color: #c08433, background color: #f2ece1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Campus news & events</p>",
"target": [
"#library > .wrap > .section-head.reveal.in > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.71 (foreground color: #c08433, background color: #f2ece1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "12.6pt (16.8px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section news\" id=\"library\">",
"target": [
"#library"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"lede\">\n Research grants, library openings, and the deadlines that matter \u2014 updated weekly by the\n Office of Communications.\n </p>",
"target": [
"#library > .wrap > .section-head.reveal.in > .lede"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#c08433",
"bgColor": "#faf7f1",
"contrastRatio": 2.98,
"fontSize": "8.9pt (11.84px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Student resources</p>",
"target": [
".section--tight > .wrap > .section-head.reveal.in > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 2.98 (foreground color: #c08433, background color: #faf7f1, font size: 8.9pt (11.84px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "11.8pt (15.68px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section faq\" id=\"aid\">",
"target": [
"#aid"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 11.8pt (15.68px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"eyebrow\">Tuition & aid</p>",
"target": [
".faq__aside > .eyebrow"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 11.8pt (15.68px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#5a6f7e",
"bgColor": "#f2ece1",
"contrastRatio": 4.45,
"fontSize": "11.8pt (15.68px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"section faq\" id=\"aid\">",
"target": [
"#aid"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 11.8pt (15.68px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p>\n Admissions and financial aid are complicated by design. Here are the six questions our\n counselors field most often \u2014 answered in full, without the brochure language.\n </p>",
"target": [
".faq__aside > p:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.45 (foreground color: #5a6f7e, background color: #f2ece1, font size: 11.8pt (15.68px), font weight: normal). Expected contrast ratio of 4.5:1"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 9281
},
{
"y": 576,
"height": 9281
},
{
"y": 1152,
"height": 9281
},
{
"y": 1728,
"height": 9281
},
{
"y": 2304,
"height": 9281
},
{
"y": 2880,
"height": 9281
},
{
"y": 3456,
"height": 9281
},
{
"y": 4032,
"height": 9281
},
{
"y": 4608,
"height": 9281
},
{
"y": 5184,
"height": 9281
},
{
"y": 5760,
"height": 9281
},
{
"y": 6336,
"height": 9281
},
{
"y": 6912,
"height": 9281
},
{
"y": 7488,
"height": 9281
},
{
"y": 8064,
"height": 9281
},
{
"y": 8561,
"height": 9281
}
],
"scans": 17,
"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 "Education" 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: "Education"
- Description: Educational resources, school and university information, and online learning platforms.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Education" 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: "Programs", "Apply", "Library".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Education" category. Consider themes similar to: "Faculty Spotlight", "Research Excellence", "Degree Programs".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "thesis", "scholarship", "financial aid".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Meet Faculty", "Register Now", "Download Catalog".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Education" sector. Ideas similar but not limited to: "application tracker".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "campus news", "events calendar", "research updates".
- **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.