Qwen Qwen3.8 Omni Flash – Society
via Alibaba · Generated
- AIMAC Debt 11.19
- Cost $0.023
- Total Violations 234
- HTML Size 124 KB
- Em Dashes 52
Screenshot
View Live Page
Accessibility Issues Found
234 Serious
-
color-contrast serious 232 instances
Elements must meet minimum color contrast ratio thresholds
Example HTML
<span class="brand-tag">Organized by neighbors · accountable to the block</span> -
list serious 1 instance
<ul> and <ol> must only directly contain <li>, <script> or <template> elements
Example HTML
<ul class="camp__meta"> <li>Decision: <b>County Administrator’s office</b></li> <li>Lead: <b>Multilingual Organizing Committee</b><... -
listitem serious 1 instance
<li> elements must be contained in a <ul> or <ol>
Example HTML
<li>Next action: <b>Translator training, Feb 9</b></li>
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>Common Front — A neighbor-powered advocacy collective | Harborview</title>
<meta name="description" content="Common Front is a member-led advocacy collective building neighborhood power across the Harborview metro — winning tenant protections, fair transit, and a seat at the table for every family.">
<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=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;0,9..144,900;1,9..144,400&family=Public+Sans:ital,wght@0,300..800;1,400&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet">
<style>
/* ============================================================
COMMON FRONT — design system
Palette: newsprint paper, iron ink, rust, moss, signal gold
============================================================ */
:root{
--paper:#f3ece0;
--paper-2:#eae0cf;
--card:#fbf7ef;
--ink:#191b1f;
--ink-2:#3a3f47;
--ink-70:rgba(25,27,31,.72);
--ink-45:rgba(25,27,31,.5);
--rule:rgba(25,27,31,.16);
--rule-strong:rgba(25,27,31,.34);
--rust:#bd3f21;
--rust-d:#96301a;
--moss:#2c5344;
--gold:#e3a72c;
--blue:#2a4a78;
--display:"Fraunces",Georgia,"Times New Roman",serif;
--sans:"Public Sans",system-ui,-apple-system,Segoe UI,sans-serif;
--mono:"Space Mono",ui-monospace,Menlo,monospace;
--wrap:1300px;
--pad:clamp(18px,4vw,56px);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:132px;-webkit-text-size-adjust:100%}
body{
margin:0;background:var(--paper);color:var(--ink);
font-family:var(--sans);font-size:17px;line-height:1.62;font-weight:400;
overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--display);font-weight:900;line-height:.98;letter-spacing:-.02em;font-variation-settings:"SOFT" 0,"WONK" 1}
p{margin:0 0 1.05em}
:focus-visible{outline:2px dashed var(--rust);outline-offset:3px}
::selection{background:var(--gold);color:var(--ink)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.mono{font-family:var(--mono)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:12px 18px;z-index:999}
.skip:focus{left:8px;top:8px}
/* grain */
.grain{position:fixed;inset:0;pointer-events:none;z-index:900;opacity:.19;mix-blend-mode:multiply;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
/* scroll progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--rust);z-index:1000}
/* ---------- HEADER ---------- */
.util{background:var(--ink);color:#e9e2d5;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.util .wrap{display:flex;gap:18px;align-items:center;justify-content:space-between;min-height:38px;flex-wrap:wrap}
.util a{text-decoration:none;opacity:.82}
.util a:hover{opacity:1;color:var(--gold)}
.langs{display:flex;gap:2px;align-items:center}
.langs button{background:none;border:1px solid rgba(255,255,255,.22);padding:2px 7px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;cursor:pointer;color:inherit;opacity:.7}
.langs button[aria-pressed="true"]{background:var(--gold);color:var(--ink);border-color:var(--gold);opacity:1}
.util .dot{width:6px;height:6px;background:var(--rust);border-radius:50%;display:inline-block;margin-right:6px;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.masthead-bar{position:sticky;top:0;z-index:800;background:var(--paper);border-bottom:1.5px solid var(--ink);transition:box-shadow .3s,padding .3s}
.masthead-bar.stuck{box-shadow:0 10px 26px -18px rgba(25,27,31,.7)}
.masthead-bar .wrap{display:flex;align-items:center;gap:26px;padding-block:16px;transition:padding-block .3s}
.masthead-bar.stuck .wrap{padding-block:9px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;flex:0 0 auto}
.brand img{width:52px;height:52px;border-radius:3px;transition:width .3s,height .3s}
.masthead-bar.stuck .brand img{width:42px;height:42px}
.brand-name{font-family:var(--display);font-weight:900;font-size:25px;letter-spacing:-.03em;line-height:.92;display:block}
.brand-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--ink-45);display:block;margin-top:4px;transition:opacity .25s}
.masthead-bar.stuck .brand-tag{opacity:0;height:0;margin:0}
nav.primary{margin-left:auto;display:flex;align-items:center;gap:2px}
nav.primary a{
text-decoration:none;font-size:13.5px;font-weight:600;letter-spacing:.02em;padding:9px 12px;position:relative;color:var(--ink-2);
}
nav.primary a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
nav.primary a:hover{color:var(--ink)}
nav.primary a:hover::after,nav.primary a[aria-current="true"]::after{transform:scaleX(1)}
nav.primary a[aria-current="true"]{color:var(--ink)}
.nav-cta{margin-left:10px}
.burger{display:none;margin-left:auto;background:var(--ink);color:var(--paper);border:0;padding:11px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;cursor:pointer}
.mobile-nav{display:none;border-top:1px solid var(--rule);background:var(--card)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:14px var(--pad);border-bottom:1px solid var(--rule);text-decoration:none;font-weight:600;font-size:15px}
.mobile-nav a:hover{background:var(--paper-2)}
/* ticker */
.ticker{background:var(--ink);color:var(--paper);border-bottom:3px solid var(--gold);overflow:hidden;position:relative}
.ticker__track{display:flex;width:max-content;animation:slide 46s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__group{display:flex;align-items:center;gap:0;padding:9px 0;flex:0 0 auto}
.ticker span.item{font-family:var(--mono);font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;padding:0 26px;white-space:nowrap;display:inline-flex;align-items:center;gap:10px}
.ticker span.item b{color:var(--gold);font-weight:700}
.ticker span.item::before{content:"◆";color:var(--rust);font-size:8px}
@keyframes slide{to{transform:translateX(-50%)}}
/* ---------- FRONT PAGE ---------- */
.frontpage{padding-top:34px;padding-bottom:10px;position:relative}
.fp-rule{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-45);border-bottom:1px solid var(--rule);padding-bottom:9px;margin-bottom:26px;flex-wrap:wrap;gap:10px}
.fp-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(26px,4vw,58px);align-items:start}
.kicker{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;background:var(--rust);color:#fdf6ec;padding:6px 11px;margin-bottom:18px}
h1.headline{font-size:clamp(46px,7.4vw,104px);line-height:.9;letter-spacing:-.035em;margin-bottom:20px}
.lm{display:block;overflow:hidden}
.lm>span{display:block;transform:translateY(105%);transition:transform 1s cubic-bezier(.16,.9,.24,1)}
.is-in .lm>span,.lm.is-in>span{transform:none}
.lm:nth-child(2)>span{transition-delay:.09s}
.lm:nth-child(3)>span{transition-delay:.18s}
.mark{position:relative;display:inline-block;z-index:1}
.mark::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.07em;height:.32em;background:var(--gold);z-index:-1;transform:skewX(-9deg) scaleX(0);transform-origin:left;transition:transform .8s .5s cubic-bezier(.2,.8,.2,1)}
.is-in .mark::after{transform:skewX(-9deg) scaleX(1)}
.deck{font-family:var(--display);font-weight:400;font-style:italic;font-size:clamp(19px,2.1vw,25px);line-height:1.36;color:var(--ink-2);max-width:36ch;margin-bottom:22px}
.byline{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin-bottom:20px}
.fp-body{columns:2;column-gap:36px;column-rule:1px solid var(--rule);font-size:16px;color:var(--ink-70);max-width:74ch}
.fp-body p:last-child{margin-bottom:0}
.fp-body .dropcap::first-letter{float:left;font-family:var(--display);font-weight:900;font-size:62px;line-height:.78;padding:5px 9px 0 0;color:var(--rust)}
.fp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.statrow{display:flex;gap:0;flex-wrap:wrap;margin-top:30px;border-top:1.5px solid var(--ink)}
.statrow div{flex:1 1 140px;padding:14px 18px 4px 0;border-right:1px solid var(--rule)}
.statrow div:last-child{border-right:0}
.statrow .n{font-family:var(--display);font-weight:900;font-size:clamp(26px,3vw,38px);line-height:1}
.statrow .l{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-45);margin-top:5px}
.fp-side{position:relative}
.figure{position:relative;border:1.5px solid var(--ink);overflow:hidden;background:var(--ink)}
.figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.figure::after{content:"";position:absolute;inset:0;background:var(--rust);mix-blend-mode:multiply;opacity:.32;pointer-events:none}
.figure.kb img{animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.04) translate(0,0)}to{transform:scale(1.16) translate(-2%,-1.5%)}}
.figcap{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45);padding-top:9px;display:flex;gap:9px;align-items:flex-start}
.figcap::before{content:"";flex:0 0 22px;height:1.5px;background:var(--rust);margin-top:8px}
.action-card{position:relative;margin-top:-58px;margin-left:auto;width:min(100%,330px);background:var(--ink);color:var(--paper);padding:20px 20px 22px;border:1.5px solid var(--ink);box-shadow:9px 9px 0 var(--gold);z-index:3}
.action-card h4{font-size:19px;color:#fff;letter-spacing:-.01em;margin-bottom:4px}
.action-card .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.countdown{display:flex;gap:8px;margin:14px 0 16px}
.countdown div{flex:1;text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:8px 2px}
.countdown .v{font-family:var(--mono);font-weight:700;font-size:22px;line-height:1}
.countdown .u{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;color:rgba(243,236,224,.55);text-transform:uppercase;margin-top:4px}
.action-card p{font-size:13.5px;color:rgba(243,236,224,.72);line-height:1.5}
.briefs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1.5px solid var(--ink);margin-top:46px}
.brief{padding:22px 26px 26px;border-right:1px solid var(--rule)}
.brief:last-child{border-right:0}
.brief .t{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:9px}
.brief h3{font-size:22px;line-height:1.06;margin-bottom:9px}
.brief p{font-size:14.5px;color:var(--ink-70);margin-bottom:12px}
.brief a.more{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid var(--ink);padding-bottom:2px}
.brief a.more:hover{color:var(--rust);border-color:var(--rust)}
/* ---------- SECTION CHROME ---------- */
section.band{padding-block:clamp(56px,7vw,96px);position:relative}
.sec-head{display:flex;align-items:baseline;gap:18px;border-bottom:1.5px solid var(--ink);padding-bottom:14px;margin-bottom:14px;flex-wrap:wrap}
.sec-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--rust)}
.sec-title{font-size:clamp(30px,4.4vw,58px);letter-spacing:-.03em}
.sec-kicker{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45);max-width:34ch;text-align:right}
.sec-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);margin-bottom:34px}
.sec-intro p{color:var(--ink-70);font-size:16.5px}
.sec-intro p:first-child{font-family:var(--display);font-weight:400;font-size:clamp(19px,2vw,23px);line-height:1.4;color:var(--ink)}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.11em;text-transform:uppercase;padding:14px 20px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;text-decoration:none;transition:transform .16s,box-shadow .16s,background .2s,color .2s;line-height:1}
.btn:hover{transform:translate(-3px,-3px);box-shadow:4px 4px 0 var(--ink)}
.btn .arw{transition:transform .25s}
.btn:hover .arw{transform:translateX(4px)}
.btn--rust{background:var(--rust);border-color:var(--rust);color:#fff8ef}
.btn--rust:hover{box-shadow:4px 4px 0 var(--ink)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--gold);box-shadow:4px 4px 0 var(--ink)}
.btn--sm{padding:10px 14px;font-size:10.5px}
.btn--light{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn--light:hover{box-shadow:4px 4px 0 var(--gold)}
/* ---------- CAMPAIGNS ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;align-items:center}
.filters .fl-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45);margin-right:6px}
.chip{background:transparent;border:1px solid var(--rule-strong);padding:8px 14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.chip:hover{border-color:var(--ink);background:var(--paper-2)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.camp{background:var(--card);border:1.5px solid var(--ink);padding:24px 22px 22px;display:flex;flex-direction:column;position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,opacity .3s}
.camp:hover{transform:translateY(-6px);box-shadow:0 24px 34px -26px rgba(25,27,31,.65),7px 7px 0 var(--paper-2)}
.camp.hide{display:none}
.camp__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.pill{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--ink);white-space:nowrap}
.pill--live{background:var(--moss);color:#f2f7f4;border-color:var(--moss)}
.pill--vote{background:var(--blue);color:#eef3fa;border-color:var(--blue)}
.pill--draft{background:var(--paper-2);color:var(--ink-2)}
.pill--urgent{background:var(--rust);color:#fff;border-color:var(--rust)}
.camp__code{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--ink-45)}
.camp h3{font-size:26px;line-height:1.02;margin-bottom:10px;letter-spacing:-.025em}
.camp p{font-size:14.6px;color:var(--ink-70);margin-bottom:16px}
.camp__meta{list-style:none;padding:0;margin:0 0 16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-45);text-transform:uppercase;display:grid;gap:5px;border-top:1px solid var(--rule);padding-top:12px}
.camp__meta b{color:var(--ink);font-weight:700}
.meter{margin-top:auto}
.meter__bar{height:8px;background:var(--paper-2);border:1px solid var(--rule);position:relative;overflow:hidden}
.meter__fill{position:absolute;inset:0 auto 0 0;width:0;background:repeating-linear-gradient(-45deg,var(--rust) 0 6px,var(--rust-d) 6px 12px);transition:width 1.3s cubic-bezier(.2,.8,.2,1)}
.meter__row{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-45);margin-top:8px}
.meter__row b{color:var(--ink)}
.camp__cta{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}
/* ---------- IMPACT (dark band) ---------- */
.dark{background:var(--ink);color:var(--paper)}
.dark .sec-head{border-color:rgba(243,236,224,.3)}
.dark .sec-num{color:var(--gold)}
.dark .sec-kicker,.dark .sec-intro p{color:rgba(243,236,224,.62)}
.dark .sec-intro p:first-child{color:var(--paper)}
.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border-top:1px solid rgba(243,236,224,.22);margin-top:12px}
.ledger div{padding:26px 22px 24px;border-right:1px solid rgba(243,236,224,.16)}
.ledger div:last-child{border-right:0}
.ledger .n{font-family:var(--display);font-weight:900;font-size:clamp(38px,5vw,62px);line-height:.9;color:var(--gold);letter-spacing:-.04em}
.ledger .n small{font-size:.42em;color:var(--paper);letter-spacing:0}
.ledger .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,236,224,.62);margin-top:12px}
.ledger .d{font-size:13.5px;color:rgba(243,236,224,.55);margin-top:8px;line-height:1.5}
.impact-strip{margin-top:40px;display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:stretch}
.impact-strip .figure{border-color:rgba(243,236,224,.35)}
.impact-strip .figure::after{mix-blend-mode:screen;opacity:.2;background:var(--blue)}
.pullquote{border:1.5px solid rgba(243,236,224,.3);padding:26px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.03)}
.pullquote q{font-family:var(--display);font-style:italic;font-size:clamp(20px,2.2vw,27px);line-height:1.25;quotes:"“" "”"}
.pullquote footer{font-family:var(--mono);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-top:18px}
/* ---------- ABOUT ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(26px,4vw,64px);align-items:start}
.principles{list-style:none;padding:0;margin:24px 0 0;counter-reset:p}
.principles li{counter-increment:p;display:grid;grid-template-columns:52px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--rule);align-items:start;transition:background .25s,padding-left .25s}
.principles li:hover{background:var(--card);padding-left:8px}
.principles li::before{content:"0" counter(p);font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--rust);padding-top:4px}
.principles h4{font-family:var(--display);font-size:19px;font-weight:700;margin-bottom:4px;letter-spacing:-.01em}
.principles p{font-size:14.4px;color:var(--ink-70);margin:0}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin-top:26px}
.team figure{margin:0}
.team img{width:100%;aspect-ratio:1;object-fit:cover;border:1.5px solid var(--ink);filter:grayscale(1) contrast(1.05);transition:filter .35s,transform .35s}
.team figure:hover img{filter:none;transform:translateY(-4px)}
.team figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;margin-top:9px;line-height:1.5}
.team figcaption span{display:block;color:var(--ink-45)}
/* ---------- RESOURCES ---------- */
.res-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);gap:clamp(24px,4vw,54px);align-items:start}
.res-search{display:flex;align-items:center;gap:10px;border:1.5px solid var(--ink);background:var(--card);padding:0 14px;margin-bottom:20px}
.res-search input{flex:1;border:0;background:none;padding:14px 0;font-family:var(--sans);font-size:15px;outline:none}
.res-search span{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-45)}
.res-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.res-item{display:grid;grid-template-columns:66px 1fr auto;gap:18px;padding:20px 12px 20px 4px;border-bottom:1px solid var(--rule);align-items:center;transition:background .25s,transform .25s}
.res-item:hover{background:var(--card);transform:translateX(4px)}
.res-item.hide{display:none}
.doctype{width:66px;height:80px;border:1.5px solid var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;background:var(--paper-2)}
.doctype b{font-size:12px;font-weight:700;color:var(--rust)}
.res-item h4{font-family:var(--display);font-weight:700;font-size:19.5px;letter-spacing:-.01em;margin-bottom:5px}
.res-item p{font-size:14px;color:var(--ink-70);margin:0 0 8px}
.tags{display:flex;gap:6px;flex-wrap:wrap}
.tag{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule-strong);padding:3px 7px;color:var(--ink-45)}
.res-dl{white-space:nowrap}
.sidebar{position:sticky;top:126px;display:grid;gap:20px}
.side-card{border:1.5px solid var(--ink);background:var(--card);padding:20px}
.side-card--ink{background:var(--ink);color:var(--paper);box-shadow:7px 7px 0 var(--gold)}
.side-card h4{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:14px;font-weight:700}
.side-card--ink h4{color:var(--gold)}
.news{list-style:none;margin:0;padding:0}
.news li{padding:12px 0;border-top:1px solid var(--rule);display:grid;gap:4px}
.side-card--ink .news li{border-color:rgba(243,236,224,.18)}
.news li:first-child{border-top:0;padding-top:0}
.news time{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.side-card--ink .news time{color:rgba(243,236,224,.5)}
.news a{text-decoration:none;font-weight:600;font-size:14.5px;line-height:1.35;display:block}
.news a:hover{color:var(--rust)}
.side-card--ink .news a:hover{color:var(--gold)}
.story img{width:100%;height:150px;object-fit:cover;border:1.5px solid var(--ink);filter:grayscale(1);margin-bottom:12px}
.story blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.35}
.story cite{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--ink-45);margin-top:10px}
.snapshot{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.snapshot div b{display:block;font-family:var(--display);font-weight:900;font-size:28px;line-height:1;color:var(--moss)}
.side-card--ink .snapshot div b{color:var(--gold)}
.snapshot div span{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-45);display:block;margin-top:6px}
.side-card--ink .snapshot div span{color:rgba(243,236,224,.55)}
/* ---------- MATCHER ---------- */
.matcher-shell{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(24px,4vw,52px);align-items:start}
.matcher{border:1.5px solid var(--ink);background:var(--card);box-shadow:10px 10px 0 var(--paper-2)}
.matcher__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1.5px solid var(--ink);background:var(--ink);color:var(--paper);flex-wrap:wrap}
.matcher__head .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.dots{display:flex;gap:6px}
.dots i{width:26px;height:5px;background:rgba(243,236,224,.25);display:block;transition:background .3s}
.dots i.on{background:var(--gold)}
.matcher__body{padding:24px 22px}
.qnum{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--rust);margin-bottom:8px}
.qtext{font-family:var(--display);font-weight:900;font-size:clamp(23px,2.6vw,31px);line-height:1.05;letter-spacing:-.025em;margin-bottom:20px}
.opts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.opt{display:flex;gap:12px;align-items:center;text-align:left;border:1.5px solid var(--rule-strong);background:var(--paper);padding:14px 15px;cursor:pointer;transition:all .2s}
.opt:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:3px 3px 0 var(--paper-2)}
.opt .k{flex:0 0 26px;height:26px;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--card)}
.opt .lab{font-weight:700;font-size:15px;line-height:1.2;display:block}
.opt .sub{font-size:12.4px;color:var(--ink-45);line-height:1.35;display:block;margin-top:2px}
.opt[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.opt[aria-pressed="true"] .k{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.opt[aria-pressed="true"] .sub{color:rgba(243,236,224,.6)}
.matcher__foot{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1.5px solid var(--rule);flex-wrap:wrap}
.results{display:grid;gap:14px}
.result{border:1.5px solid var(--ink);background:var(--paper);padding:18px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;animation:pop .5s cubic-bezier(.2,.9,.25,1) both}
.result:nth-child(2){animation-delay:.09s}
.result:nth-child(3){animation-delay:.18s}
@keyframes pop{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.result h4{font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em;margin-bottom:5px}
.result .team-l{font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--rust)}
.result p{font-size:14px;color:var(--ink-70);margin:9px 0 11px}
.score{text-align:center;flex:0 0 84px}
.score .ring{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:16px;background:conic-gradient(var(--moss) calc(var(--p)*1%),var(--paper-2) 0);margin:0 auto 6px;position:relative}
.score .ring::after{content:"";position:absolute;inset:6px;background:var(--card);border-radius:50%}
.score .ring b{position:relative;z-index:1}
.score small{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.matcher-aside p{color:var(--ink-70);font-size:16px}
.coordinator{display:flex;gap:14px;align-items:center;border:1.5px solid var(--ink);padding:16px;background:var(--card);margin-top:22px}
.coordinator img{width:62px;height:62px;border-radius:50%;object-fit:cover;border:1.5px solid var(--ink)}
.coordinator .nm{font-family:var(--display);font-weight:700;font-size:18px}
.coordinator .rl{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.other-ways{list-style:none;padding:0;margin:22px 0 0}
.other-ways li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--rule)}
.other-ways .ic{width:34px;height:34px;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700}
.other-ways b{display:block;font-family:var(--display);font-size:17px;font-weight:700}
.other-ways span{font-size:13.6px;color:var(--ink-70)}
/* ---------- EVENTS ---------- */
.ev-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:clamp(24px,4vw,50px);align-items:start}
.ev-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.ev{display:grid;grid-template-columns:78px 1fr auto;gap:20px;padding:22px 6px;border-bottom:1px solid var(--rule);align-items:start;transition:background .25s}
.ev:hover{background:var(--card)}
.ev__date{border:1.5px solid var(--ink);text-align:center;padding:8px 0;background:var(--paper);transition:background .25s,color .25s}
.ev:hover .ev__date{background:var(--rust);color:#fff;border-color:var(--rust)}
.ev__date .m{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase}
.ev__date .d{font-family:var(--display);font-weight:900;font-size:30px;line-height:1}
.ev__date .w{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}
.ev:hover .ev__date .w{color:rgba(255,255,255,.75)}
.ev h4{font-family:var(--display);font-weight:900;font-size:23px;letter-spacing:-.02em;margin-bottom:6px}
.ev .where{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);margin-bottom:9px}
.ev p{font-size:14.2px;color:var(--ink-70);margin-bottom:11px}
.ev__access{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.seats{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45);margin-top:9px}
.seats .bar{height:5px;background:var(--paper-2);border:1px solid var(--rule);margin-top:5px;position:relative;overflow:hidden}
.seats .bar i{position:absolute;inset:0 auto 0 0;background:var(--moss);width:0;transition:width .8s}
.ev__side{display:flex;flex-direction:column;gap:9px;align-items:flex-end}
.rsvp[data-on="true"]{background:var(--moss);border-color:var(--moss);color:#fff}
.map-card{border:1.5px solid var(--ink);background:var(--card);padding:0;overflow:hidden}
.map-card img{width:100%;height:190px;object-fit:cover}
.map-card .in{padding:18px}
.map-card h4{font-family:var(--display);font-size:20px;font-weight:900;margin-bottom:6px}
.map-card p{font-size:13.8px;color:var(--ink-70)}
.calendar-links{list-style:none;padding:0;margin:20px 0 0;border-top:1px solid var(--rule)}
.calendar-links li{padding:11px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.calendar-links a{text-decoration:none;color:var(--rust);font-weight:700}
.calendar-links a:hover{text-decoration:underline}
/* ---------- POSTCARDS ---------- */
.postcards{display:flex;flex-wrap:wrap;gap:clamp(16px,2.6vw,34px);justify-content:center;padding-top:14px}
.pc{width:clamp(220px,25vw,290px);background:var(--card);border:1.5px solid var(--ink);padding:11px 11px 15px;box-shadow:0 16px 24px -20px rgba(25,27,31,.7);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;cursor:pointer}
.pc:nth-child(1){transform:rotate(-3.2deg)}
.pc:nth-child(2){transform:rotate(2.4deg) translateY(16px)}
.pc:nth-child(3){transform:rotate(-1.4deg)}
.pc:nth-child(4){transform:rotate(3.4deg) translateY(10px)}
.pc:nth-child(5){transform:rotate(-2.6deg) translateY(22px)}
.pc:hover{transform:rotate(0) translateY(-10px) scale(1.03);box-shadow:0 30px 40px -24px rgba(25,27,31,.8),8px 8px 0 var(--gold);z-index:5}
.pc img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) sepia(.14) contrast(1.06)}
.pc .cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;line-height:1.5;margin-top:11px;color:var(--ink-2)}
.pc .stamp{display:flex;justify-content:space-between;font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45);border-top:1px dashed var(--rule-strong);padding-top:8px;margin-top:9px}
/* ---------- TESTIMONIALS ---------- */
.voices{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.voice{border:1.5px solid var(--ink);background:var(--card);padding:26px 22px;display:flex;flex-direction:column;gap:14px;position:relative;transition:transform .3s,box-shadow .3s,background .3s}
.voice:nth-child(even){background:var(--paper-2)}
.voice:hover{transform:translateY(-6px);box-shadow:7px 7px 0 var(--rust)}
.voice .qm{font-family:var(--display);font-weight:900;font-size:58px;line-height:.5;color:var(--rust);height:26px}
.voice blockquote{margin:0;font-family:var(--display);font-size:18.5px;line-height:1.34;font-weight:400}
.voice figcaption{display:flex;gap:12px;align-items:center;margin-top:auto;border-top:1px solid var(--rule);padding-top:14px}
.voice img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1.5px solid var(--ink)}
.voice .nm{font-weight:700;font-size:15px;line-height:1.2}
.voice .rl{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-45)}
.verified{margin-left:auto;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--moss);color:var(--moss);padding:3px 6px}
/* ---------- FAQ ---------- */
.faq{border-top:1.5px solid var(--ink);max-width:1000px}
.faq__item{border-bottom:1px solid var(--rule)}
.faq__q{width:100%;background:none;border:0;text-align:left;display:flex;gap:18px;align-items:flex-start;padding:22px 6px;cursor:pointer;font-family:var(--display);font-weight:700;font-size:clamp(18px,2.1vw,23px);letter-spacing:-.015em;line-height:1.2;transition:color .2s}
.faq__q:hover{color:var(--rust)}
.faq__q .sign{margin-left:auto;flex:0 0 26px;height:26px;border:1.5px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:15px;font-weight:700;transition:transform .35s,background .25s,color .25s}
.faq__q[aria-expanded="true"] .sign{transform:rotate(45deg);background:var(--rust);color:#fff;border-color:var(--rust)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.3,.8,.3,1)}
.faq__q[aria-expanded="true"]+.faq__a{grid-template-rows:1fr}
.faq__a>div{overflow:hidden}
.faq__a p{max-width:74ch;padding:0 44px 22px 6px;color:var(--ink-70);font-size:15.6px;margin:0}
.faq__n{font-family:var(--mono);font-size:11px;color:var(--rust);padding-top:6px;letter-spacing:.1em}
/* ---------- CTA BAND ---------- */
.cta-band{background:var(--rust);color:#fff5eb;border-block:1.5px solid var(--ink);position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px);pointer-events:none}
.cta-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,60px);align-items:center;padding-block:clamp(48px,6vw,78px);position:relative}
.cta-band h2{font-size:clamp(34px,5vw,64px);line-height:.95;letter-spacing:-.035em;margin-bottom:16px}
.cta-band p{color:rgba(255,245,235,.85);max-width:52ch;font-size:16.5px}
.sigbox{background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);padding:26px;box-shadow:10px 10px 0 rgba(25,27,31,.35)}
.sigbox .cnt{font-family:var(--display);font-weight:900;font-size:clamp(38px,5vw,58px);line-height:1;color:var(--gold);letter-spacing:-.03em}
.sigbox .cl{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,236,224,.6);margin-top:8px}
.form{display:flex;gap:9px;margin-top:20px;flex-wrap:wrap}
.form input{flex:1 1 190px;border:1px solid rgba(243,236,224,.3);background:rgba(255,255,255,.06);color:var(--paper);padding:13px 14px;font-family:var(--sans);font-size:14.5px;outline:none}
.form input::placeholder{color:rgba(243,236,224,.45)}
.form input:focus{border-color:var(--gold)}
.form-note{font-size:11.5px;color:rgba(243,236,224,.5);margin-top:12px;font-family:var(--mono);letter-spacing:.05em;line-height:1.6}
.flash{color:var(--gold);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-top:12px;min-height:18px}
/* ---------- FOOTER ---------- */
footer.site{background:var(--ink);color:rgba(243,236,224,.78);padding-top:64px;border-top:3px solid var(--gold)}
.f-top{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:34px;padding-bottom:44px;border-bottom:1px solid rgba(243,236,224,.18)}
.f-brand .brand-name{color:var(--paper);font-size:30px}
.f-brand .brand-tag{color:rgba(243,236,224,.45)}
.f-brand img{border-radius:3px}
.f-brand p{font-size:14px;line-height:1.6;margin-top:18px;max-width:38ch;color:rgba(243,236,224,.6)}
.f-col h5{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;font-weight:700}
.f-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.f-col a{text-decoration:none;font-size:14.4px;color:rgba(243,236,224,.72);transition:color .2s,padding-left .2s}
.f-col a:hover{color:var(--paper);padding-left:5px}
.f-col address{font-style:normal;font-size:14.2px;line-height:1.75;color:rgba(243,236,224,.72)}
.f-col address a{color:var(--gold);text-decoration:none}
.socials{display:flex;gap:9px;margin-top:20px}
.socials a{width:38px;height:38px;border:1px solid rgba(243,236,224,.28);display:grid;place-items:center;transition:all .22s}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);transform:translateY(-3px)}
.socials svg{width:17px;height:17px;fill:currentColor}
.f-bot{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:22px 0 30px;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:rgba(243,236,224,.5)}
.f-bot a{text-decoration:none;color:rgba(243,236,224,.62)}
.f-bot a:hover{color:var(--gold)}
.f-legal{display:flex;gap:16px;flex-wrap:wrap}
.f-note{border-top:1px solid rgba(243,236,224,.18);padding:16px 0;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,236,224,.4);text-align:center}
/* reveal */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-in{opacity:1;transform:none}
/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
.fp-grid,.about-grid,.res-layout,.matcher-shell,.ev-layout,.cta-inner{grid-template-columns:1fr}
.sidebar{position:static}
.briefs{grid-template-columns:1fr 1fr}
.brief:nth-child(3){grid-column:1/-1;border-top:1px solid var(--rule)}
.impact-strip{grid-template-columns:1fr}
.f-top{grid-template-columns:1fr 1fr 1fr}
.f-brand{grid-column:1/-1}
.action-card{margin:20px 0 0;box-shadow:7px 7px 0 var(--gold)}
}
@media (max-width:860px){
nav.primary{display:none}
.burger{display:block}
.fp-body{columns:1}
.sec-kicker{margin-left:0;text-align:left;max-width:none}
.ev{grid-template-columns:64px 1fr}
.ev__side{grid-column:2/-1;align-items:stretch;flex-direction:row;justify-content:flex-start}
.res-item{grid-template-columns:52px 1fr;}
.res-dl{grid-column:2/-1}
.doctype{width:52px;height:64px}
}
@media (max-width:620px){
body{font-size:16px}
.briefs{grid-template-columns:1fr}
.brief{border-right:0}
.brief:nth-child(3){border-top:1px solid var(--rule)}
.ledger div{border-right:0;border-bottom:1px solid rgba(243,236,224,.16)}
.f-top{grid-template-columns:1fr}
.statrow div{border-right:0}
.result{grid-template-columns:1fr}
.score{justify-self:start;display:flex;gap:12px;align-items:center}
.score .ring{margin:0}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
[data-reveal]{opacity:1;transform:none}
.lm>span{transform:none}
.mark::after{transform:skewX(-9deg) scaleX(1)}
.pc{transform:none!important}
.ticker__track{animation:none}
}
</style>
</head>
<body>
<a class="skip" href="#main">Skip to main content</a>
<div class="grain" aria-hidden="true"></div>
<div class="progress" id="progress" aria-hidden="true"></div>
<!-- ============================ HEADER ============================ -->
<header id="top">
<div class="util">
<div class="wrap">
<div><span class="dot" aria-hidden="true"></span>Member-owned since 2011 · Harborview metro, Wards 4–11</div>
<div class="langs" role="group" aria-label="Site language">
<button aria-pressed="true">EN</button><button aria-pressed="false">ES</button><button aria-pressed="false">VI</button><button aria-pressed="false">HT</button>
</div>
<div><a href="#resources">Members’ docket</a> · <a href="#donate">Dues & donations</a> · <a href="tel:+15550142880">555-0142-880</a></div>
</div>
</div>
<div class="masthead-bar" id="mastheadBar">
<div class="wrap">
<a class="brand" href="#top">
<img src="https://placehold.co/104x104/191b1f/e3a72c?text=CF&font=montserrat" alt="Common Front logo mark" width="52" height="52">
<span>
<span class="brand-name">Common Front</span>
<span class="brand-tag">Organized by neighbors · accountable to the block</span>
</span>
</a>
<nav class="primary" aria-label="Primary">
<a href="#about">About</a>
<a href="#campaigns">Campaigns</a>
<a href="#impact">Impact</a>
<a href="#resources">Resources</a>
<a href="#events">Events</a>
<a href="#involved">Get Involved</a>
<a href="#voices">Voices</a>
<a class="btn btn--rust btn--sm nav-cta" href="#donate">Donate <span class="arw">→</span></a>
</nav>
<button class="burger" id="burger" aria-expanded="false" aria-controls="mobileNav">MENU</button>
</div>
<div class="mobile-nav" id="mobileNav">
<a href="#about">About</a>
<a href="#campaigns">Campaigns</a>
<a href="#impact">Impact</a>
<a href="#resources">Resources</a>
<a href="#events">Events</a>
<a href="#involved">Get Involved</a>
<a href="#voices">Voices</a>
<a href="#donate" style="color:var(--rust)">Donate →</a>
</div>
</div>
<div class="ticker" aria-label="Live actions board">
<div class="ticker__track" id="tickerTrack">
<div class="ticker__group">
<span class="item"><b>Housing Stability Act §402</b> — public comment closes in 6 days</span>
<span class="item"><b>Route 12</b> — transit board votes Thursday, 9:00 a.m.</span>
<span class="item">Ward 6 participatory budget — <b>1,904 votes</b> counted, 3 days left</span>
<span class="item">Fair Shift ordinance — <b>listening session</b> added in Delano Hall</span>
<span class="item">New win: <b>93 families</b> kept in place at Marcy Courts</span>
<span class="item">Language access — <b>translators needed</b> for VI & HT nights</span>
</div>
</div>
</div>
</header>
<main id="main">
<!-- ============================ FRONT PAGE / MASTHEAD ============================ -->
<section class="frontpage wrap" data-reveal>
<div class="fp-rule">
<span data-scramble>Vol. 14 · No. 9 · The Organizing Board</span>
<span>Published by members of the Common Front Collective</span>
<span id="todayLine">Harborview edition</span>
</div>
<div class="fp-grid">
<div class="fp-lead">
<span class="kicker">This week’s lead</span>
<h1 class="headline" id="headline">
<span class="lm"><span>Power is not</span></span>
<span class="lm"><span>given. It is</span></span>
<span class="lm"><span><em class="mark" style="font-style:normal">organized</em>.</span></span>
</h1>
<p class="deck">Common Front is a member-led advocacy collective building neighborhood power across the Harborview metro — winning tenant protections, decent transit, and a permanent seat at the table for every family on the block.</p>
<div class="byline">Statement of the Steering Committee · Ratified by 412 members · Revised October 2025</div>
<div class="fp-body">
<p class="dropcap">Twelve years ago, forty-one neighbors met in a church basement on Foundry Street because the same four blocks kept losing the same four fights: rent spikes nobody answered, a bus line cut on a Tuesday, a lead pipe nobody would replace. We started with a rule we still keep — the people closest to the problem hold the pen on the solution. Everything since has been built outward from that table: thirty-eight block associations, a member dues base that answers to no foundation calendar, and a record of ordinances drafted with residents rather than handed down to them.</p>
<p>Advocacy, in our practice, is not a press release. It is relational work: one-on-ones that surface a shared self-interest, house meetings that turn private grief into public demand, testimony written in the voice of the person who will read it aloud at 7 p.m. before a council that would rather be anywhere else. Inclusion is not a checkbox in our logistics either — every action we call is interpreted, wheelchair-accessible, catered, and covered with childcare, because a meeting a mother cannot attend is not an inclusive meeting.</p>
<p>This session we are running on three fronts: the Housing Stability Act, which would cap renewal increases and fund a right-to-counsel program; the Route 12 restoration campaign, backed by 6,200 rider signatures and a data pack our own volunteers compiled; and a participatory budget in Ward 6 that puts $1.8M of public money directly under neighborhood control. Each has a deadline, a map, and a role you can fill this week.</p>
</div>
<div class="fp-actions">
<a class="btn btn--rust" href="#involved">Find your role <span class="arw">→</span></a>
<a class="btn btn--ghost" href="#resources">Read the 2026 platform</a>
<a class="btn btn--ghost" href="#campaigns">See active campaigns</a>
</div>
<div class="statrow">
<div><div class="n" data-count="14200" data-suffix="">0</div><div class="l">Dues-paying members</div></div>
<div><div class="n" data-count="38">0</div><div class="l">Block associations</div></div>
<div><div class="n" data-count="9">0</div><div class="l">Ordinances advanced</div></div>
<div><div class="n" data-count="1140">0</div><div class="l">One-on-ones logged</div></div>
</div>
</div>
<aside class="fp-side">
<figure class="figure kb" style="aspect-ratio:4/5;margin:0">
<img src="https://picsum.photos/900/1125" alt="Neighbors packed into a district hall meeting, listening to tenant testimony" loading="eager">
</figure>
<div class="figcap">Ward 7 tenant assembly, Marcy Courts — 186 households represented, September 2025. Photograph by the Common Front field team.</div>
<div class="action-card">
<div class="lbl">Deadline watch</div>
<h4>Housing Stability Act §402</h4>
<div class="countdown" id="countdown" role="timer" aria-live="off">
<div><div class="v" id="cd-d">00</div><div class="u">days</div></div>
<div><div class="v" id="cd-h">00</div><div class="u">hrs</div></div>
<div><div class="v" id="cd-m">00</div><div class="u">min</div></div>
<div><div class="v" id="cd-s">00</div><div class="u">sec</div></div>
</div>
<p>The committee’s public comment window closes Friday at 5 p.m. We have 400 testimony slots reserved for members. Script template included in the Resource Center.</p>
<div style="display:flex;gap:8px;margin-top:16px;flex-wrap:wrap">
<a class="btn btn--rust btn--sm" href="#campaigns">Submit testimony</a>
<a class="btn btn--sm" style="background:transparent;border-color:rgba(243,236,224,.4);color:var(--paper)" href="#resources">Get the script</a>
</div>
</div>
</aside>
</div>
<div class="briefs">
<article class="brief" data-reveal>
<div class="t">Lead story · Housing</div>
<h3>At Marcy Courts, a renewal notice became a union card</h3>
<p>When the managing agent posted 31% renewal increases on 118 units, block association leads ran a four-week house-meeting cycle instead of a hotline. Ninety-three households signed the tenant association charter, and the county housing authority opened a compliance review.</p>
<a class="more" href="#campaigns">Follow the campaign</a>
</article>
<article class="brief" data-reveal>
<div class="t">By the numbers · Transit</div>
<h3>Route 12 riders lose 41,000 hours a week</h3>
<p>Our volunteer data stewards logged 2,300 head-counts across six stops over three weeks. Since the service cut, average one-way trip time for the route’s 4,600 daily riders rose by 19 minutes — and 62% of those riders travel for work outside 9-to-6 windows.</p>
<a class="more" href="#resources">Download the data pack</a>
</article>
<article class="brief" data-reveal>
<div class="t">From the field · Care</div>
<h3>The shift-scheduling listening tour hits Delano Hall</h3>
<p>Forty-two home-care workers described unpredictable assignments that make childcare, second jobs, and doctor’s appointments impossible to plan around. Their testimony is being compiled into a community draft ordinance with the Workers’ Justice Clinic — the first version written entirely by the people it governs.</p>
<a class="more" href="#events">Join a session</a>
</article>
</div>
</section>
<!-- ============================ CAMPAIGNS ============================ -->
<section class="band wrap" id="campaigns">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 01</span>
<h2 class="sec-title">Where we’re organizing now</h2>
<p class="sec-kicker">Six live campaigns · each with a decision-maker, a deadline, and a defined ask</p>
</div>
<div class="sec-intro" data-reveal>
<p>Campaigns are chosen by the membership at our annual assembly, not by staff. Each one names the person with the power to decide, the leverage we hold, and the specific ask we are putting on them — and every member can see the numbers behind it.</p>
<p>If a campaign loses its majority support at a quarterly review, we retire it. That discipline is why our win rate sits above seventy percent across the last three sessions. Filter by issue area below, then take the action at the bottom of the card: sign, call, testify, or bring a neighbor.</p>
</div>
<div class="filters" role="group" aria-label="Filter campaigns by issue area">
<span class="fl-lbl">Filter</span>
<button class="chip" data-filter="all" aria-pressed="true">All fronts (6)</button>
<button class="chip" data-filter="housing" aria-pressed="false">Housing</button>
<button class="chip" data-filter="transit" aria-pressed="false">Transit & streets</button>
<button class="chip" data-filter="care" aria-pressed="false">Care & labor</button>
<button class="chip" data-filter="democracy" aria-pressed="false">Democracy</button>
<button class="chip" data-filter="environment" aria-pressed="false">Environment</button>
</div>
<div class="camp-grid" id="campGrid">
<article class="camp" data-tags="housing" data-reveal>
<div class="camp__top"><span class="pill pill--urgent">Comment closes soon</span><span class="camp__code">CF-2026-H01</span></div>
<h3>Housing Stability Act §402</h3>
<p>A county-wide cap on renewal increases, a right to counsel for any tenant facing eviction, and a public acquisition fund for small landlords retiring. We wrote the tenant-protection chapter across nine house meetings.</p>
<ul class="camp__meta">
<li>Decision: <b>County Housing Committee</b></li>
<li>Lead: <b>Tenant Power Assembly, Wards 5–7</b></li>
<li>Next action: <b>Testimony day, Fri 7 p.m.</b></li>
</ul>
<div class="meter">
<div class="meter__bar"><i class="meter__fill" data-value="84"></i></div>
<div class="meter__row"><span><b id="sigCount">8,412</b> of 10,000 signatures</span><b>84%</b></div>
</div>
<div class="camp__cta">
<button class="btn btn--rust btn--sm js-sign">Sign petition <span class="arw">→</span></button>
<a class="btn btn--ghost btn--sm" href="#resources">Testimony script</a>
</div>
</article>
<article class="camp" data-tags="transit" data-reveal>
<div class="camp__top"><span class="pill pill--vote">Board vote Thursday</span><span class="camp__code">CF-2026-T04</span></div>
<h3>Restore Route 12</h3>
<p>Sixteen thousand riders lost a twelve-minute headway to a budget shortcut nobody attended. We have the head-count data, 6,200 rider signatures, and three council co-sponsors asking for a restored schedule with evening frequency held.</p>
<ul class="camp__meta">
<li>Decision: <b>Metro Transit Board</b></li>
<li>Lead: <b>Riders’ Union & Delano block groups</b></li>
<li>Next action: <b>Ride & rally, Sat 9 a.m.</b></li>
</ul>
<div class="meter">
<div class="meter__bar"><i class="meter__fill" data-value="62"></i></div>
<div class="meter__row"><span><b>6,214</b> of 10,000 rider pledges</span><b>62%</b></div>
</div>
<div class="camp__cta">
<a class="btn btn--rust btn--sm" href="#involved">Contact rep <span class="arw">→</span></a>
<a class="btn btn--ghost btn--sm" href="#events">Join the rally</a>
</div>
</article>
<article class="camp" data-tags="care" data-reveal>
<div class="camp__top"><span class="pill pill--draft">Community draft</span><span class="camp__code">CF-2026-C02</span></div>
<h3>Fair Shift Scheduling Ordinance</h3>
<p>Home-care and retail workers are losing bodies and childcare to schedules posted the night before. The draft requires fourteen days’ notice, premium pay for on-call changes, and a written estimate of hours at hire.</p>
<ul class="camp__meta">
<li>Decision: <b>Council Labor & Health Committee</b></li>
<li>Lead: <b>Care Workers Caucus (212 members)</b></li>
<li>Next action: <b>Listening session, Wed 6:30 p.m.</b></li>
</ul>
<div class="meter">
<div class="meter__bar"><i class="meter__fill" data-value="41"></i></div>
<div class="meter__row"><span><b>2,050</b> of 5,000 worker signatures</span><b>41%</b></div>
</div>
<div class="camp__cta">
<a class="btn btn--rust btn--sm" href="#events">Join listening session</a>
<a class="btn btn--ghost btn--sm" href="#resources">Read the draft</a>
</div>
</article>
<article class="camp" data-tags="democracy" data-reveal>
<div class="camp__top"><span class="pill pill--live">Voting open</span><span class="camp__code">CF-2026-D01</span></div>
<h3>Participatory Budget: Ward 6</h3>
<p>$1.8M of Ward 6 capital dollars decided by residents who live there. Twelve delegate slates drafted forty-one projects this fall — cool roofs, crossing daylighting, a bilingual youth center, and a mobile food pantry route.</p>
<ul class="camp__meta">
<li>Decision: <b>Ward 6 PB Assembly</b></li>
<li>Lead: <b>38 block associations, joint</b></li>
<li>Next action: <b>Project fair, Sun 1 p.m.</b></li>
</ul>
<div class="meter">
<div class="meter__bar"><i class="meter__fill" data-value="74"></i></div>
<div class="meter__row"><span><b>1,904</b> of 2,600 eligible votes cast</span><b>74%</b></div>
</div>
<div class="camp__cta">
<button class="btn btn--rust btn--sm js-sign">Vote on projects <span class="arw">→</span></button>
<a class="btn btn--ghost btn--sm" href="#events">Ballot locations</a>
</div>
</article>
<article class="camp" data-tags="environment transit" data-reveal>
<div class="camp__top"><span class="pill pill--draft">Rulemaking</span><span class="camp__code">CF-2026-E03</span></div>
<h3>Cool Streets Fund</h3>
<p>Tree canopy in the industrial wards is one-third of the north side’s. Our ask: a dedicated heat-mitigation line funded by parcel impact fees, allocated by a neighborhood heat-vulnerability index our data team co-built with the university.</p>
<ul class="camp__meta">
<li>Decision: <b>Office of Environment & Resilience</b></li>
<li>Lead: <b>Heat Justice Working Group</b></li>
<li>Next action: <b>Address collection, ongoing</b></li>
</ul>
<div class="meter">
<div class="meter__bar"><i class="meter__fill" data-value="55"></i></div>
<div class="meter__row"><span><b>2,760</b> addresses logged for shade audit</span><b>55%</b></div>
</div>
<div class="camp__cta">
<a class="btn btn--rust btn--sm" href="#involved">Add your block</a>
<a class="btn btn--ghost btn--sm" href="#impact">See the heat map</a>
</div>
</article>
<article class="camp" data-tags="democracy care" data-reveal>
<div class="camp__top"><span class="pill pill--live">Coalition build</span><span class="camp__code">CF-2026-L05</span></div>
<h3>Language Access Now</h3>
<p>Eleven county services operate without translated notices in Vietnamese or Haitian Creole — a barrier that quietly voids a family’s right to appeal. We are pushing a binding access plan with deadlines, staffing lines, and community audit power.</p>
<ul class="camp__meta">
<li>Decision: <b>County Administrator’s office</b></li>
<li>Lead: <b>Multilingual Organizing Committee</li>
<li>Next action: <b>Translator training, Feb 9</b></li>
</ul>
<div class="meter">
<div class="meter__bar"><i class="meter__fill" data-value="33"></i></div>
<div class="meter__row"><span><b>660</b> of 2,000 affected-resident accounts</span><b>33%</b></div>
</div>
<div class="camp__cta">
<a class="btn btn--rust btn--sm" href="#involved">Volunteer to translate</a>
<a class="btn btn--ghost btn--sm" href="#faq">How audits work</a>
</div>
</article>
</div>
</section>
<!-- ============================ IMPACT ============================ -->
<section class="band dark" id="impact">
<div class="wrap">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 02</span>
<h2 class="sec-title">The impact ledger</h2>
<p class="sec-kicker">Audited annually · published in full at every member assembly</p>
</div>
<div class="sec-intro" data-reveal>
<p>We measure power, not activity. Attendance numbers are meaningless unless a decision changed, a dollar moved, or a family stayed in their home — so every figure below is tied to a policy outcome, a budget line, or a verified household.</p>
<p>The ledger is maintained by two member volunteers and one staff analyst, reconciled quarterly against council records, and open for challenge at any assembly. Disputed entries stay on the board marked “under review” until resolved. Transparency here is not a courtesy; it is the mechanism that keeps member trust compounding.</p>
</div>
<div class="ledger">
<div data-reveal><div class="n">$<span data-count="12.4" data-decimals="1">0</span><small>M</small></div><div class="l">Public dollars redirected</div><div class="d">Capital and service budget moved into Wards 5–9 across three sessions.</div></div>
<div data-reveal><div class="n"><span data-count="1847">0</span></div><div class="l">Households kept housed</div><div class="d">Through representation, emergency rental funds, and counsel referrals.</div></div>
<div data-reveal><div class="n"><span data-count="9">0</span></div><div class="l">Ordinances advanced</div><div class="d">Six enacted, three in committee with majority sponsors committed.</div></div>
<div data-reveal><div class="n"><span data-count="26">0</span></div><div class="l">New local leaders</div><div class="d">Graduates of the Neighborhood Leadership Institute now holding elected or board seats.</div></div>
<div data-reveal><div class="n"><span data-count="94">0</span><small>%</small></div><div class="l">Dues-retention rate</div><div class="d">Members renewing year over year — our only real scoreboard.</div></div>
</div>
<div class="impact-strip">
<figure class="figure" style="margin:0;aspect-ratio:16/7">
<img src="https://picsum.photos/1600/700" alt="Volunteers canvassing a residential block on a summer evening" loading="lazy">
</figure>
<blockquote class="pullquote" data-reveal>
<q>Before the assembly I thought the rent increase was weather. Something that happened to me. Then I knocked on forty doors on the same street and heard the same sentence in forty voices — that is when it stopped being my problem and became a fact about the county.</q>
<footer>— Rosalía Ibáñez, tenant organizer, Ward 7 block association</footer>
</blockquote>
</div>
</div>
</section>
<!-- ============================ ABOUT ============================ -->
<section class="band wrap" id="about">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 03</span>
<h2 class="sec-title">Who we are</h2>
<p class="sec-kicker">A member collective, not a service provider · Harborview, est. 2011</p>
</div>
<div class="about-grid">
<div data-reveal>
<figure class="figure" style="margin:0 0 18px;aspect-ratio:5/4">
<img src="https://picsum.photos/1000/800" alt="Community members gathered around a long table reviewing a printed map" loading="lazy">
</figure>
<div class="figcap">The Foundry Street table, where the collective meets every other Sunday. Membership is open to any resident of Wards 4–11.</div>
<p style="margin-top:20px;font-size:15.5px;color:var(--ink-70)">Common Front is incorporated as a 501(c)(4) civic organization governed by a member-elected steering committee of thirteen, seven of whom must be residents of the wards where we are currently campaigning. Staff execute; members decide. No candidate, party, or funder holds a seat at that table.</p>
</div>
<div data-reveal>
<p style="font-family:var(--display);font-size:clamp(20px,2.2vw,25px);line-height:1.35;color:var(--ink)">We were founded on a stubborn premise: that the people who live with a problem every day already hold the analysis, and what they lack is not ideas but power — the organized capacity to make a decision-maker pay attention.</p>
<p>Twelve years on, that premise has become infrastructure. Thirty-eight block associations send delegates to a monthly assembly. Our leadership institute has graduated twenty-six organizers who now sit on school boards, housing authorities, and transit committees. Our research unit publishes the data the county would rather not compile, and releases it under an open license so any neighbor can reprint it at a kitchen table.</p>
<p>We take no corporate money, no party appropriations, and no contracts that condition our advocacy. Roughly sixty-two percent of operations are covered by member dues averaging $14 a month; the remainder comes from individual gifts and two progressive foundations restricted to capacity-building, never to campaign positions.</p>
<ol class="principles">
<li><div><h4>Members set the agenda</h4><p>Campaign priorities are ratified by majority vote at the annual assembly. Staff may propose; only members may commit.</p></div></li>
<li><div><h4>Power before projects</h4><p>We will decline a win that leaves the neighborhood less organized than it found it. Relationship-building outranks deliverables every time.</p></div></li>
<li><div><h4>Leadership develops everywhere</h4><p>Every action carries a apprenticeship. If a resident isn’t learning to run the room, we’ve extracted rather than built.</p></div></li>
<li><div><h4>Data belongs to the neighborhood</h4><p>Everything we collect about your block is yours, published openly, and never sold, shared with law enforcement, or used for fundraising targeting.</p></div></li>
<li><div><h4>Access is not an afterthought</h4><p>Interpretation, ASL, step-free routes, childcare, hot meals, and meetings at 6 p.m. or later are budgeted line items — the difference between outreach and an empty room.</p></div></li>
</ol>
<h3 style="font-size:20px;margin-top:34px">Organizing committee</h3>
<div class="team">
<figure><img src="https://i.pravatar.cc/240?u=ibanez-commonfront" alt="Portrait of Rosalía Ibáñez" loading="lazy"><figcaption>Rosalía Ibáñez<span>Tenant Power · Ward 7</span></figcaption></figure>
<figure><img src="https://i.pravatar.cc/240?u=daniel-osei-commonfront" alt="Portrait of Daniel Osei" loading="lazy"><figcaption>Daniel Osei<span>Transit & Streets</span></figcaption></figure>
<figure><img src="https://i.pravatar.cc/240?u=marta-nguyen-commonfront" alt="Portrait of Marta Nguyễn" loading="lazy"><figcaption>Marta Nguyễn<span>Language Access</span></figcaption></figure>
<figure><img src="https://i.pravatar.cc/240?u=devon-reyes-commonfront" alt="Portrait of Devon Reyes" loading="lazy"><figcaption>Devon Reyes<span>Research & Data</span></figcaption></figure>
<figure><img src="https://i.pravatar.cc/240?u=analucia-ferrer-commonfront" alt="Portrait of Ana Lúcia Ferrer" loading="lazy"><figcaption>Ana Lúcia Ferrer<span>Care Workers Caucus</span></figcaption></figure>
</div>
</div>
</div>
</section>
<!-- ============================ RESOURCES ============================ -->
<section class="band wrap" id="resources" style="background:var(--paper-2);border-block:1.5px solid var(--ink)">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 04</span>
<h2 class="sec-title">Resource center</h2>
<p class="sec-kicker">Free to any neighbor · no email wall · reprint with attribution</p>
</div>
<div class="sec-intro" data-reveal>
<p>Everything here was written by a member, a volunteer attorney, or an organizer who needed it at 9 p.m. and could not find it. We keep the library open-access because knowledge that requires a signup form is not a resource — it’s a lead list.</p>
<p>Documents are maintained on a rolling review cycle and available in English, Spanish, Vietnamese, and Haitian Creole. Need a large-print or audio version? Ask the library steward and we’ll produce it within five working days.</p>
</div>
<div class="res-layout">
<div>
<label class="res-search" data-reveal>
<span>Search</span>
<input type="search" id="resSearch" placeholder="Try “eviction”, “facilitation”, “budget”…" aria-label="Search the resource library">
<span class="mono" id="resCount" style="color:var(--rust)">7 items</span>
</label>
<ul class="res-list" id="resList">
<li class="res-item" data-keywords="tenant organizing handbook eviction rent union house meeting" data-reveal>
<div class="doctype"><b>PDF</b><span>84 pp</span></div>
<div>
<h4>Tenant Organizing Handbook, 3rd edition</h4>
<p>The full cycle: mapping a building, running a first house meeting, drafting demands, surviving retaliation, and negotiating a written agreement. Includes seventeen sample documents used in real campaigns.</p>
<div class="tags"><span class="tag">Housing</span><span class="tag">EN · ES · VI · HT</span><span class="tag">Updated Nov 2025</span><span class="tag">12,430 downloads</span></div>
</div>
<div class="res-dl"><a class="btn btn--sm" href="#donate">Download <span class="arw">↓</span></a></div>
</li>
<li class="res-item" data-keywords="public comment script template council testimony meeting" data-reveal>
<div class="doctype"><b>DOCX</b><span>4 pp</span></div>
<div>
<h4>Public comment script template</h4>
<p>A three-minute structure tested in eleven hearings: who you represent, the fact you hold, the ask, and the consequence. Written for readers, not speakers — formatted at 18 pt for dais lighting.</p>
<div class="tags"><span class="tag">Democracy</span><span class="tag">Fill-in-the-blank</span><span class="tag">Updated Sep 2025</span></div>
</div>
<div class="res-dl"><a class="btn btn--ghost btn--sm" href="#donate">Download <span class="arw">↓</span></a></div>
</li>
<li class="res-item" data-keywords="know your rights rent increase notice lease renewal legal" data-reveal>
<div class="doctype"><b>PDF</b><span>6 pp</span></div>
<div>
<h4>Know your rights: rent increase & renewal notices</h4>
<p>Plain-language guide to what a landlord must prove, what deadlines actually bind you, and the three notices that are routinely illegal in this county. Reviewed by the Tenants’ Legal Collective.</p>
<div class="tags"><span class="tag">Housing</span><span class="tag">Legal</span><span class="tag">EN · ES · HT</span></div>
</div>
<div class="res-dl"><a class="btn btn--ghost btn--sm" href="#donate">Download <span class="arw">↓</span></a></div>
</li>
<li class="res-item" data-keywords="block association starter kit toolkit flyer signup canvas" data-reveal>
<div class="doctype"><b>ZIP</b><span>kit</span></div>
<div>
<h4>Block association starter kit</h4>
<p>Everything a new group needs to convene: roster templates, a 90-day launching plan, door-hanger and flyer artwork in four languages, and the dues structure we recommend for financial independence.</p>
<div class="tags"><span class="tag">Organizing</span><span class="tag">Editable files</span><span class="tag">28 mb</span></div>
</div>
<div class="res-dl"><a class="btn btn--ghost btn--sm" href="#donate">Download <span class="arw">↓</span></a></div>
</li>
<li class="res-item" data-keywords="transit equity data pack csv ridership head count maps" data-reveal>
<div class="doctype"><b>CSV</b><span>+ maps</span></div>
<div>
<h4>Transit equity data pack (Wards 4–11)</h4>
<p>Head-counts, trip-time sampling, and service-gap geometry compiled by volunteer data stewards, with methodology notes and QGIS layers. Built so a resident can reproduce every figure independently.</p>
<div class="tags"><span class="tag">Transit</span><span class="tag">Open license CC-BY</span><span class="tag">Updated Oct 2025</span></div>
</div>
<div class="res-dl"><a class="btn btn--ghost btn--sm" href="#impact">Explore <span class="arw">→</span></a></div>
</li>
<li class="res-item" data-keywords="facilitator guide inclusive meetings childcare interpretation accessibility" data-reveal>
<div class="doctype"><b>PDF</b><span>32 pp</span></div>
<div>
<h4>Facilitator’s guide to inclusive meetings</h4>
<p>Agenda design for rooms where people disagree at high stakes: round-robin protocols, managing expertise imbalance, deciding by consensus vs. supermajority, and the access checklist we run before any space is booked.</p>
<div class="tags"><span class="tag">Leadership</span><span class="tag">EN · VI</span><span class="tag">Training companion</span></div>
</div>
<div class="res-dl"><a class="btn btn--ghost btn--sm" href="#donate">Download <span class="arw">↓</span></a></div>
</li>
<li class="res-item" data-keywords="mutual aid legal primer liability food pantry donation tax" data-reveal>
<div class="doctype"><b>PDF</b><span>19 pp</span></div>
<div>
<h4>Mutual aid legal primer</h4>
<p>Six questions neighbors ask before starting a pantry, fridge, or ride pool — liability, food handling, solicitation permits, insurance, donated-goods receipts, and when it is smarter to affiliate than incorporate.</p>
<div class="tags"><span class="tag">Care</span><span class="tag">Legal</span><span class="tag">EN · ES</span></div>
</div>
<div class="res-dl"><a class="btn btn--ghost btn--sm" href="#donate">Download <span class="arw">↓</span></a></div>
</li>
</ul>
<p style="margin-top:22px;font-size:14.5px;color:var(--ink-70)">Can’t find it? The library stewards answer within a day — <a href="mailto:library@commonfront.org" style="color:var(--rust);font-weight:600">library@commonfront.org</a>. Requests for translation are prioritized by the number of households waiting, not by the requester’s status.</p>
</div>
<!-- SIDEBAR -->
<aside class="sidebar" aria-label="Field updates and impact">
<div class="side-card side-card--ink" data-reveal>
<h4>Breaking from the field</h4>
<ul class="news">
<li><time>Today · 8:14 a.m.</time><a href="#campaigns">Transit board posts revised Route 12 plan — evening frequency still cut after 8 p.m.</a></li>
<li><time>Yesterday</time><a href="#campaigns">Marcy Courts tenant association elects nine stewards, first paid negotiation slot secured</a></li>
<li><time>3 days ago</time><a href="#impact">Ward 6 PB assembly certifies 41 projects for the February ballot</a></li>
<li><time>Last week</time><a href="#events">County adds Spanish-language hotline after our language-access filing</a></li>
</ul>
</div>
<div class="side-card story" data-reveal>
<h4>Success story</h4>
<img src="https://picsum.photos/600/420" alt="A family standing outside their apartment building" loading="lazy">
<blockquote>“They sent me the notice in April. By June I had eleven neighbors on a phone tree and a lawyer on speed dial. I renewed at four percent.”</blockquote>
<cite>— K. Doucet, Ward 5 · kept housed, 6 years</cite>
<a class="btn btn--ghost btn--sm" style="margin-top:14px" href="#voices">More member stories</a>
</div>
<div class="side-card" data-reveal>
<h4>This quarter at a glance</h4>
<div class="snapshot">
<div><b>1,140</b><span>One-on-ones held</span></div>
<div><b>96</b><span>House meetings</span></div>
<div><b>2,481</b><span>Doors knocked</span></div>
<div><b>318</b><span>New members</span></div>
</div>
<div class="meter" style="margin-top:18px">
<div class="meter__bar"><i class="meter__fill" data-value="68"></i></div>
<div class="meter__row"><span>Dues coverage of operating budget</span><b>68%</b></div>
</div>
</div>
<div class="side-card" data-reveal style="background:var(--moss);color:#f2f7f4;border-color:var(--moss)">
<h4 style="color:var(--gold)">Bring us to your block</h4>
<p style="font-size:14.2px;margin-bottom:16px">We run free two-hour workshops on tenant rights, public comment, meeting facilitation, and data collection — anywhere ten neighbors can gather. Childcare and interpretation included on request.</p>
<a class="btn btn--light btn--sm" href="#involved">Request a workshop <span class="arw">→</span></a>
</div>
</aside>
</div>
</section>
<!-- ============================ VOLUNTEET MATCHER ============================ -->
<section class="band wrap" id="involved">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 05</span>
<h2 class="sec-title">Volunteer matcher</h2>
<p class="sec-kicker">Three questions · three real placements · no signup wall</p>
</div>
<div class="matcher-shell">
<div class="matcher-aside" data-reveal>
<p style="font-family:var(--display);font-size:clamp(19px,2.1vw,24px);line-height:1.35;color:var(--ink)">Most people who want to help quit in the first month because nobody told them what the work actually looks like. So we publish the shifts, the hours, and the supervisor — then let you choose.</p>
<p>Answer three questions and we’ll match you to placements open right now, ranked by fit. You can start with two hours a month and move up; several of our strongest door captains began as phone-tree volunteers who never knocked once for a year.</p>
<p>Every placement includes a paid orientation, a named point of contact, and the option to decline any task that conflicts with your own interests. You are a member, not a resource.</p>
<div class="coordinator">
<img src="https://i.pravatar.cc/160?u=nadia-bell-commonfront" alt="Portrait of Nadia Bell">
<div>
<div class="nm">Nadia Bell</div>
<div class="rl">Volunteer coordinator · Mon–Thu, 10–6</div>
<a class="btn btn--ghost btn--sm" style="margin-top:9px" href="mailto:nbell@commonfront.org">Email Nadia</a>
</div>
</div>
<ul class="other-ways">
<li><span class="ic">$</span><div><b>Pay your dues</b><span>$14/month keeps us unbuyable. Sliding scale down to $1 — nobody is turned away for lack of funds.</span></div></li>
<li><span class="ic">◈</span><div><b>Join a block association</b><span>Thirty-eight of them, meeting on a two-week cycle. Find yours by address.</span></div></li>
<li><span class="ic">✎</span><div><b>Lend a profession</b><span>Lawyers, translators, designers, accountants, mechanics, and printers — we have specific asks for each.</span></div></li>
<li><span class="ic">⌂</span><div><b>Host a meeting</b><span>Living room, church hall, barbershop, laundromat. We bring the food and the facilitator.</span></div></li>
</ul>
</div>
<div class="matcher" data-reveal>
<div class="matcher__head">
<span class="t">Placement finder</span>
<div class="dots" id="dots" aria-hidden="true"><i class="on"></i><i></i><i></i></div>
<span class="t" id="stepLabel">Step 1 of 3</span>
</div>
<div class="matcher__body">
<!-- Step 1 -->
<div class="mstep" data-step="0">
<div class="qnum">Question one</div>
<div class="qtext">How much time can you honestly give right now?</div>
<div class="opts">
<button class="opt" data-q="time" data-v="monthly" aria-pressed="false"><span class="k">A</span><span><span class="lab">A few hours a month</span><span class="sub">Evenings or a slow Sunday</span></span></button>
<button class="opt" data-q="time" data-v="weekly" aria-pressed="false"><span class="k">B</span><span><span class="lab">One shift a week</span><span class="sub">A regular, protected slot</span></span></button>
<button class="opt" data-q="time" data-v="surge" aria-pressed="false"><span class="k">C</span><span><span class="lab">Flexible — call me on action nights</span><span class="sub">I show up when it’s urgent</span></span></button>
<button class="opt" data-q="time" data-v="skills" aria-pressed="false"><span class="k">D</span><span><span class="lab">I have a specific skill to lend</span><span class="sub">Pro bono hours, project-based</span></span></button>
</div>
</div>
<!-- Step 2 -->
<div class="mstep" data-step="1" hidden>
<div class="qnum">Question two</div>
<div class="qtext">Which fight pulls you in first?</div>
<div class="opts">
<button class="opt" data-q="cause" data-v="housing" aria-pressed="false"><span class="k">A</span><span><span class="lab">Housing & tenants</span><span class="sub">Rent, eviction, building conditions</span></span></button>
<button class="opt" data-q="cause" data-v="transit" aria-pressed="false"><span class="k">B</span><span><span class="lab">Transit & streets</span><span class="sub">Buses, crossings, safe routes to school</span></span></button>
<button class="opt" data-q="cause" data-v="care" aria-pressed="false"><span class="k">C</span><span><span class="lab">Care & elders</span><span class="sub">Home care, mutual aid, heat response</span></span></button>
<button class="opt" data-q="cause" data-v="youth" aria-pressed="false"><span class="k">D</span><span><span class="lab">Youth & schools</span><span class="sub">Bilingual programs, budgets, discipline</span></span></button>
<button class="opt" data-q="cause" data-v="language" aria-pressed="false"><span class="k">E</span><span><span class="lab">Language access</span><span class="sub">Translation and interpretation</span></span></button>
<button class="opt" data-q="cause" data-v="data" aria-pressed="false"><span class="k">F</span><span><span class="lab">Research & data</span><span class="sub">Maps, records requests, spreadsheets</span></span></button>
</div>
</div>
<!-- Step 3 -->
<div class="mstep" data-step="2" hidden>
<div class="qnum">Question three</div>
<div class="qtext">Where do you do your best work?</div>
<div class="opts">
<button class="opt" data-q="mode" data-v="doors" aria-pressed="false"><span class="k">A</span><span><span class="lab">Door to door</span><span class="sub">Canvasses, petitions, sidewalk tables</span></span></button>
<button class="opt" data-q="mode" data-v="calls" aria-pressed="false"><span class="k">B</span><span><span class="lab">On a phone tree</span><span class="sub">Warming up a list, checking in on people</span></span></button>
<button class="opt" data-q="mode" data-v="rooms" aria-pressed="false"><span class="k">C</span><span><span class="lab">In a room with neighbors</span><span class="sub">House meetings, assemblies, trainings</span></span></button>
<button class="opt" data-q="mode" data-v="screen" aria-pressed="false"><span class="k">D</span><span><span class="lab">Behind a screen</span><span class="sub">Writing, translating, analyzing, designing</span></span></button>
<button class="opt" data-q="mode" data-v="leading" aria-pressed="false"><span class="k">E</span><span><span class="lab">Leading a group</span><span class="sub">Facilitating, recruiting, supervising shifts</span></span></button>
</div>
</div>
<!-- Results -->
<div class="mresult" id="mResult" hidden>
<div class="qnum">Your matches</div>
<div class="qtext" style="font-size:clamp(21px,2.3vw,27px)">Three placements open right now</div>
<div class="results" id="results"></div>
</div>
</div>
<div class="matcher__foot">
<button class="btn btn--ghost btn--sm" id="mBack" disabled>← Back</button>
<div style="display:flex;gap:9px">
<button class="btn btn--ghost btn--sm" id="mReset" hidden>Start over</button>
<button class="btn btn--rust btn--sm" id="mNext" disabled>Next question →</button>
</div>
</div>
</div>
</div>
</section>
<!-- ============================ EVENTS ============================ -->
<section class="band wrap" id="events" style="border-top:1.5px solid var(--ink)">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 06</span>
<h2 class="sec-title">The calendar</h2>
<p class="sec-kicker">Every event lists access details · childcare on request · walk-ins welcome</p>
</div>
<div class="sec-intro" data-reveal>
<p>We publish six weeks ahead because working people plan six weeks ahead. Anything marked <strong>action</strong> has a decision-maker waiting on the other side of it; anything marked <strong>training</strong> is a prerequisite for leadership roles.</p>
<p>RSVP below and the spot counter moves in real time. If a session fills, we open a second rather than a waitlist — and we will never ask you to justify a no-show.</p>
</div>
<div class="ev-layout">
<ul class="ev-list">
<li class="ev" data-reveal>
<div class="ev__date"><div class="m">Jan</div><div class="d">10</div><div class="w">Sat</div></div>
<div>
<h4>Tenant rights clinic & intake</h4>
<div class="where">10:00 a.m.–2:00 p.m. · Ninth Ward Branch Library, Room B</div>
<p>Volunteer attorneys and bilingual stewards review renewal notices, inspection letters, and pending filings, one household at a time. Bring your lease and any written notice. No appointment needed after 11 a.m.</p>
<div class="ev__access"><span class="tag">Step-free</span><span class="tag">ES · VI interpretation</span><span class="tag">Childcare</span><span class="tag">Walk-ins</span></div>
<div class="seats"><span class="js-seats-txt">23 of 60 seats taken</span><div class="bar"><i class="js-bar" style="--p:38"></i></div></div>
</div>
<div class="ev__side"><button class="btn btn--sm js-rsvp">RSVP</button><a class="btn btn--ghost btn--sm" href="#resources">What to bring</a></div>
</li>
<li class="ev" data-reveal>
<div class="ev__date"><div class="m">Jan</div><div class="d">15</div><div class="w">Thu</div></div>
<div>
<h4>Block association assembly</h4>
<div class="where">6:30–9:00 p.m. · Common Front Hall, 419 Foundry St.</div>
<p>Delegates from thirty-eight associations set February’s action calendar, ratify the Route 12 ask, and vote on two new charter applications. Dinner at 6:00, public comment opens at 7:15 — members and neighbors both have the floor.</p>
<div class="ev__access"><span class="tag">ASL</span><span class="tag">Hot meal</span><span class="tag">Childcare (12 spots)</span><span class="tag">Live transcript</span></div>
<div class="seats"><span class="js-seats-txt">104 of 140 seats taken</span><div class="bar"><i class="js-bar" style="--p:74"></i></div></div>
</div>
<div class="ev__side"><button class="btn btn--rust btn--sm js-rsvp">RSVP</button><a class="btn btn--ghost btn--sm" href="#resources">Read the agenda</a></div>
</li>
<li class="ev" data-reveal>
<div class="ev__date"><div class="m">Jan</div><div class="d">20</div><div class="w">Tue</div></div>
<div>
<h4>Public comment workshop</h4>
<div class="where">7:00–8:30 p.m. · Hybrid — Delano Annex & online</div>
<p>Three hours that turn a nervous first-timer into a competent witness: structuring testimony under a clock, reading a staff report, naming the decision-maker on the record, and what to do when you’re cut off. Scripts reviewed live.</p>
<div class="ev__access"><span class="tag">Recording provided</span><span class="tag">Captioned</span><span class="tag">EN · ES</span></div>
<div class="seats"><span class="js-seats-txt">41 of 45 seats taken</span><div class="bar"><i class="js-bar" style="--p:91"></i></div></div>
</div>
<div class="ev__side"><button class="btn btn--sm js-rsvp">RSVP</button><a class="btn btn--ghost btn--sm" href="#campaigns">§402 docket</a></div>
</li>
<li class="ev" data-reveal>
<div class="ev__date"><div class="m">Jan</div><div class="d">24</div><div class="w">Sat</div></div>
<div>
<h4>Route 12 ride & rally</h4>
<div class="where">9:00 a.m. · Depot Plaza, north entrance</div>
<p>Riders, organizers, and three co-sponsor councilmembers board the route together at peak load, then deliver 6,214 pledge cards to the transit board before Thursday’s vote. Meet at the plaza; the first bus is free for everyone in the group.</p>
<div class="ev__access"><span class="tag">Outdoor</span><span class="tag">Step-free boarding</span><span class="tag">Bilingual marshals</span></div>
<div class="seats"><span class="js-seats-txt">188 of 250 signed up</span><div class="bar"><i class="js-bar" style="--p:75"></i></div></div>
</div>
<div class="ev__side"><button class="btn btn--rust btn--sm js-rsvp">Count me in</button><a class="btn btn--ghost btn--sm" href="#campaigns">Campaign page</a></div>
</li>
<li class="ev" data-reveal>
<div class="ev__date"><div class="m">Feb</div><div class="d">01</div><div class="w">Sun</div></div>
<div>
<h4>Ward 6 participatory budget project fair</h4>
<div class="where">1:00–5:00 p.m. · Mercer Rec Center, gymnasium</div>
<p>All forty-one certified projects displayed with delegates on hand to answer. Vote in person if you haven’t yet, or bring a neighbor who lives in the ward and is eighteen or older. Kids’ shade-design table runs all afternoon.</p>
<div class="ev__access"><span class="tag">Voting accessible</span><span class="tag">ES · VI · HT ballots</span><span class="tag">Stroller parking</span></div>
<div class="seats"><span class="js-seats-txt">Open house · no capacity</span><div class="bar"><i class="js-bar" style="--p:12"></i></div></div>
</div>
<div class="ev__side"><button class="btn btn--sm js-rsvp">Remind me</button><a class="btn btn--ghost btn--sm" href="#campaigns">See the projects</a></div>
</li>
<li class="ev" data-reveal>
<div class="ev__date"><div class="m">Feb</div><div class="d">04</div><div class="w">Tue</div></div>
<div>
<h4>Volunteer onboarding 101</h4>
<div class="where">6:00–7:30 p.m. · Online</div>
<p>Required before any door-knocking or phone shift. Covers our decision-making structure, the member code of conduct, data handling, safety protocol for hostile encounters, and how to escalate a conflict of interest without leaving the room awkward.</p>
<div class="ev__access"><span class="tag">Online</span><span class="tag">Captioned</span><span class="tag">Make-up session offered</span></div>
<div class="seats"><span class="js-seats-txt">17 of 80 seats taken</span><div class="bar"><i class="js-bar" style="--p:21"></i></div></div>
</div>
<div class="ev__side"><button class="btn btn--sm js-rsvp">Reserve seat</button><a class="btn btn--ghost btn--sm" href="#faq">Pre-read the FAQ</a></div>
</li>
</ul>
<aside aria-label="Event tools">
<div class="map-card" data-reveal>
<img src="https://placehold.co/720x420/2c5344/f3ece0?text=Ward+Map+%C2%B7+38+Associations&font=montserrat" alt="Map of Harborview wards showing block association boundaries" loading="lazy">
<div class="in">
<h4>Find your association</h4>
<p>Enter an address in Wards 4–11 and we’ll tell you which block association covers it, who their delegate is, and when they next meet. Printed maps available at any event.</p>
<div class="form" style="margin-top:14px">
<input type="text" placeholder="1200 Foundry St" aria-label="Street address" style="border-color:var(--rule-strong);background:var(--paper);color:var(--ink)">
<button class="btn btn--sm" type="button">Locate</button>
</div>
</div>
</div>
<div class="side-card" data-reveal style="margin-top:20px">
<h4>Recurring meets</h4>
<ul class="calendar-links">
<li><span>Steering committee · 2nd & 4th Mon</span><a href="#involved">Subscribe</a></li>
<li><span>Tenant power call · Wed 7 p.m.</span><a href="#involved">Subscribe</a></li>
<li><span>Care workers caucus · Thu 6:30 p.m.</span><a href="#involved">Subscribe</a></li>
<li><span>Data stewards · 1st Sat 10 a.m.</span><a href="#involved">Subscribe</a></li>
<li><span>Language access clinic · Sun 2 p.m.</span><a href="#involved">Subscribe</a></li>
</ul>
<p style="font-size:13.4px;color:var(--ink-70);margin:16px 0 0">All recurring meetings publish agendas 48 hours ahead and minutes within five days. Missing one? The steward will call you, not the other way around.</p>
</div>
</aside>
</div>
</section>
<!-- ============================ FIELD NOTES / POSTCARDS ============================ -->
<section class="band wrap" style="background:var(--paper-2);border-block:1.5px solid var(--ink)">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 07</span>
<h2 class="sec-title">Field notes</h2>
<p class="sec-kicker">Sent from the canvass · pinned to the hall wall, photographed Mondays</p>
</div>
<div class="postcards">
<figure class="pc" data-reveal><img src="https://picsum.photos/560/420" alt="Handwritten petition clipboard on a porch railing" loading="lazy"><figcaption class="cap">“Four doors, three of them had already seen the increase notice. We compared leases on the stoop for an hour.”</figcaption><div class="stamp"><span>Ward 5 · Marcy</span><span>Sep 14</span></div></figure>
<figure class="pc" data-reveal><img src="https://picsum.photos/600/450" alt="Group of volunteers folding flyers at a long table" loading="lazy"><figcaption class="cap">“Print shop gave us 8,000 sheets at cost. Fold party fed nineteen people on a budget of forty dollars.”</figcaption><div class="stamp"><span>Foundry Hall</span><span>Oct 02</span></div></figure>
<figure class="pc" data-reveal><img src="https://picsum.photos/540/400" alt="City bus stopped at a shelter on a residential street" loading="lazy"><figcaption class="cap">“Head-count at Delano & 9th, 6:40 a.m. Sixty-one boardings in nineteen minutes. The spreadsheet did not lie.”</figcaption><div class="stamp"><span>Route 12</span><span>Oct 19</span></div></figure>
<figure class="pc" data-reveal><img src="https://picsum.photos/580/430" alt="Elderly resident talking on the phone in a sunlit kitchen" loading="lazy"><figcaption class="cap">“Mrs. Aldridge called herself to testify tonight. Read the whole thing. The chair tried to cut her and the room wouldn’t let him.”</figcaption><div class="stamp"><span>Council chambers</span><span>Nov 06</span></div></figure>
<figure class="pc" data-reveal><img src="https://picsum.photos/560/410" alt="New community garden beds along a chain link fence" loading="lazy"><figcaption class="cap">“First PB dollars broke ground today: shade structures and sixteen raised beds on the old depot lot.”</figcaption><div class="stamp"><span>Ward 6 · Depot lot</span><span>Nov 22</span></div></figure>
</div>
</section>
<!-- ============================ VOICES ============================ -->
<section class="band wrap" id="voices">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 08</span>
<h2 class="sec-title">Voices from the block</h2>
<p class="sec-kicker">Unedited · collected at quarterly review · published with consent</p>
</div>
<div class="sec-intro" data-reveal>
<p>We ask members the same three questions every quarter: what changed, what didn’t, and what we owe you next. These are their answers, printed as given — including the criticism, which is where the useful information lives.</p>
<p>Member stories are archived in the resource library and reprinted in the weekly bulletin. Anyone can request that theirs be withdrawn at any time, no explanation required.</p>
</div>
<div class="voices">
<figure class="voice" data-reveal>
<div class="qm">“</div>
<blockquote>I came for the free dinner and stayed three years. What held me was being handed a clipboard and treated like someone whose judgment mattered. My daughter now runs our association’s youth table.</blockquote>
<figcaption><img src="https://i.pravatar.cc/120?u=glenda-martin-commonfront" alt="Portrait of Glenda Martin"><div><div class="nm">Glenda Martin</div><div class="rl">Member since 2022 · Ward 8</div></div><span class="verified">Verified member</span></figcaption>
</figure>
<figure class="voice" data-reveal>
<div class="qm">“</div>
<blockquote>As a translator I’d worked with big nonprofits for years. First time I walked into an organization where my job was to make sure my auntie understood the agenda — not to fill a billable hour.</blockquote>
<figcaption><img src="https://i.pravatar.cc/120?u=hong-tran-commonfront" alt="Portrait of Hồng Trần"><div><div class="nm">Hồng Trần</div><div class="rl">Language access volunteer · Ward 4</div></div><span class="verified">Verified member</span></figcaption>
</figure>
<figure class="voice" data-reveal>
<div class="qm">“</div>
<blockquote>They told me the truth: this fight takes nine months and we might lose twice before the ordinance passes. That honesty is why I trusted them with my building’s rent roll.</blockquote>
<figcaption><img src="https://i.pravatar.cc/120?u=samuel-ojea-commonfront" alt="Portrait of Samuel Ojea"><div><div class="nm">Samuel Ojea</div><div class="rl">Building steward · Delano</div></div><span class="verified">Verified member</span></figcaption>
</figure>
<figure class="voice" data-reveal>
<div class="qm">“</div>
<blockquote>Critically: our transit subcommittee has met four times without quorum and nobody has been accountable for that. I love this organization enough to say it out loud at assembly.</blockquote>
<figcaption><img src="https://i.pravatar.cc/120?u=priya-raghavan-commonfront" alt="Portrait of Priya Raghavan"><div><div class="nm">Priya Raghavan</div><div class="rl">Delegate · Ward 11</div></div><span class="verified">Under review</span></figcaption>
</figure>
</div>
</section>
<!-- ============================ FAQ ============================ -->
<section class="band wrap" id="faq" style="border-top:1.5px solid var(--ink)">
<div class="sec-head" data-reveal>
<span class="sec-num">§ 09</span>
<h2 class="sec-title">Questions neighbors ask</h2>
<p class="sec-kicker">Still unclear? A human answers the line within one business day</p>
</div>
<div class="faq" data-reveal>
<div class="faq__item">
<button class="faq__q" aria-expanded="true"><span class="faq__n">01</span>Do I have to own my home or pay dues to join?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>No. Membership is open to anyone who lives, works, goes to school, or rents in Wards 4–11. Dues are $14 a month on a sliding scale down to a dollar, and paying nothing at all is a fully valid choice — voting rights at assembly require attendance and a six-week orientation, not a payment history.</p></div></div>
</div>
<div class="faq__item">
<button class="faq__q" aria-expanded="false"><span class="faq__n">02</span>Can you help me with an eviction notice today?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>Yes, and speed matters more than paperwork. Call the tenant line at 555-0142-880 before 6 p.m. and you’ll reach a steward, not a queue. Bring the notice, your lease, and any payment records. If your court date is inside ten days we will request an emergency counsel referral through the Tenants’ Legal Collective — and we will tell you plainly whether your case is strong, because false hope is a bad organizing tool.</p></div></div>
</div>
<div class="faq__item">
<button class="faq__q" aria-expanded="false"><span class="faq__n">03</span>Who funds Common Front, and do funders set your positions?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>Sixty-two percent of our operating budget is member dues; the balance is individual gifts and two foundations whose grants are restricted to capacity-building — staff salaries, the leadership institute, translation infrastructure. No funder receives campaign pre-approval rights, and we decline government service contracts entirely so that we are never auditing ourselves. Full IRS Form 990s and audited statements are in the resource library going back to 2014.</p></div></div>
</div>
<div class="faq__item">
<button class="faq__q" aria-expanded="false"><span class="faq__n">04</span>Do you endorse candidates?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>In local, non-partisan races only, and only after a candidate sits for a public interrogation by the assembly on our three ratified campaign platforms — housing, transit, and care. Endorsement is a two-thirds member vote, it is revocable, and we publish the scorecard. We take no money from any candidate we endorse, and we do not participate in partisan congressional primaries.</p></div></div>
</div>
<div class="faq__item">
<button class="faq__q" aria-expanded="false"><span class="faq__n">05</span>Are your meetings accessible?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>Accessibility is a budgeted line item, not a favor. Every public action includes step-free routing confirmed in advance, interpretation in Spanish, Vietnamese, and Haitian Creole on request with 72 hours’ notice, ASL for scheduled assemblies, captioning online, large-print materials, and paid childcare. If we get it wrong, tell a steward in the room — correction reports are read aloud at the next assembly.</p></div></div>
</div>
<div class="faq__item">
<button class="faq__q" aria-expanded="false"><span class="faq__n">06</span>What happens to the information I give you?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>It stays in the collective’s encrypted member registry, accessible to four named staff and the data steward committee. We never sell, rent, or exchange lists — including with allied organizations. We do not respond to immigration-related data requests and will notify affected members of any subpoena within twenty-four hours. You may request deletion of your record at any time in writing or verbally to a steward.</p></div></div>
</div>
<div class="faq__item">
<button class="faq__q" aria-expanded="false"><span class="faq__n">07</span>I only have two hours a month. Am I useful?<span class="sign" aria-hidden="true">+</span></button>
<div class="faq__a"><div><p>Enormously. Roughly forty percent of our members contribute fewer than five hours a month, and two of our biggest wins this decade were carried by people who folded flyers and made fifteen calls. Use the matcher above — it will show you placements designed for exactly that commitment level, with no expectation of escalation.</p></div></div>
</div>
</div>
</section>
<!-- ============================ CTA BAND ============================ -->
<section class="cta-band" id="donate">
<div class="wrap cta-inner">
<div data-reveal>
<div class="mono" style="font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;opacity:.8">Six weeks until the committee vote</div>
<h2>Add your name.<br>Then bring a neighbor.</h2>
<p>Housing Stability Act §402 reaches committee on March 3. We are delivering 10,000 verified resident signatures in bound volumes — one per district office — so that no staffer can claim the packet was “mailed in from out of county.” Your name carries weight only if it is legible, local, and countable.</p>
<div style="display:flex;gap:11px;flex-wrap:wrap;margin-top:22px">
<button class="btn btn--light js-sign">Sign the petition</button>
<a class="btn" style="background:transparent;border-color:rgba(255,245,235,.6);color:#fff5eb" href="#involved">Take a shift</a>
<a class="btn" style="background:transparent;border-color:rgba(255,245,235,.6);color:#fff5eb" href="#resources">Read §402 in full</a>
</div>
</div>
<div class="sigbox" data-reveal>
<div class="lbl mono" style="font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)">Live signature counter</div>
<div class="cnt" id="petCount">12,486</div>
<div class="cl">Verified Harborview residents · updated as they arrive</div>
<form class="form" id="petForm" novalidate>
<input type="email" name="email" placeholder="you@example.org" aria-label="Your email for confirmation" required>
<button class="btn btn--light btn--sm" type="submit">Add my name <span class="arw">→</span></button>
</form>
<div class="flash" id="petFlash" role="status"></div>
<div class="form-note">We confirm by email to prevent duplicate and bot signatures. Your address is used solely to verify ward residency and is never published.</div>
</div>
</div>
</section>
</main>
<!-- ============================ FOOTER ============================ -->
<footer class="site">
<div class="wrap">
<div class="f-top">
<div class="f-brand">
<a class="brand" href="#top" style="align-items:flex-start">
<img src="https://placehold.co/96x96/e3a72c/191b1f?text=CF&font=montserrat" alt="Common Front logo mark" width="48" height="48">
<span><span class="brand-name">Common Front</span><span class="brand-tag">Member-led advocacy collective</span></span>
</a>
<p>Founded 2011 on the unceded land of the Munsee and Lenape peoples, which remains home to 4,100 tribal citizens today. We organize on their behalf in partnership with the Harborview Indigenous Council, and contribute 2% of all revenue to the Land Return Fund.</p>
<div class="socials">
<a href="#top" aria-label="Common Front on Instagram"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 2.2c3.2 0 3.6 0 4.9.07 1.2.05 1.8.25 2.2.42.6.22 1 .48 1.5.95.5.5.75.9.98 1.5.17.4.36 1 .42 2.2.06 1.3.07 1.7.07 4.9s0 3.6-.07 4.9c-.06 1.2-.25 1.8-.42 2.2-.23.6-.48 1-.98 1.5-.5.5-.9.75-1.5.98-.4.17-1 .36-2.2.42-1.3.06-1.7.07-4.9.07s-3.6 0-4.9-.07c-1.2-.06-1.8-.25-2.2-.42-.6-.23-1-.48-1.5-.98-.5-.5-.75-.9-.98-1.5-.17-.4-.36-1-.42-2.2C2.2 15.6 2.2 15.2 2.2 12s0-3.6.07-4.9c.06-1.2.25-1.8.42-2.2.23-.6.48-1 .98-1.5.5-.47.9-.72 1.5-.95.4-.17 1-.37 2.2-.42C8.4 2.2 8.8 2.2 12 2.2Zm0 1.8c-3.1 0-3.5 0-4.7.07-1 .04-1.6.2-2 .38-.5.2-.8.47-1.16.83-.35.35-.6.66-.8 1.15-.18.4-.33 1-.38 2C2.8 8.5 2.8 8.9 2.8 12s0 3.5.07 4.7c.05 1 .2 1.6.38 2 .2.5.45.8.8 1.16.36.35.67.6 1.16.8.4.18 1 .33 2 .38 1.2.07 1.6.07 4.7.07s3.5 0 4.7-.07c1-.05 1.6-.2 2-.38.5-.2.8-.45 1.16-.8.35-.36.6-.67.8-1.16.18-.4.33-1 .38-2 .07-1.2.07-1.6.07-4.7s0-3.5-.07-4.7c-.05-1-.2-1.6-.38-2-.2-.5-.45-.8-.8-1.15-.36-.36-.67-.62-1.16-.83-.4-.18-1-.34-2-.38-1.2-.07-1.6-.07-4.7-.07Zm0 3.06a4.94 4.94 0 1 1 0 9.88 4.94 4.94 0 0 1 0-9.88Zm0 1.8a3.14 3.14 0 1 0 0 6.28 3.14 3.14 0 0 0 0-6.28Zm5.2-2.15a1.15 1.15 0 1 1 0 2.3 1.15 1.15 0 0 1 0-2.3Z"/></svg></a>
<a href="#top" aria-label="Common Front on Bluesky"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 10.8C10.9 8.6 8.1 4.9 5.5 3.4 4.2 2.7 3 3.1 3 4.6c0 1.4.8 5.5 1.3 6.2.5.7 1.6 1 2.7.8-1.7.3-3.2 1-2.5 3.3.6 2 2.6 4.4 4.2 2.6.5-.6.9-1.9 1.1-2.9.2 1 .6 2.3 1.1 2.9 1.6 1.8 3.6-.6 4.2-2.6.7-2.3-.8-3-2.5-3.3 1.1.2 2.2-.1 2.7-.8.5-.7 1.3-4.8 1.3-6.2 0-1.5-1.2-1.9-2.5-1.2C15.9 4.9 13.1 8.6 12 10.8Z"/></svg></a>
<a href="#top" aria-label="Common Front on YouTube"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M21.6 7.2a2.5 2.5 0 0 0-1.8-1.8C18.2 5 12 5 12 5s-6.2 0-7.8.4A2.5 2.5 0 0 0 2.4 7.2C2 8.8 2 12 2 12s0 3.2.4 4.8a2.5 2.5 0 0 0 1.8 1.8C5.8 19 12 19 12 19s6.2 0 7.8-.4a2.5 2.5 0 0 0 1.8-1.8c.4-1.6.4-4.8.4-4.8s0-3.2-.4-4.8ZM10 15.2V8.8L15.5 12 10 15.2Z"/></svg></a>
<a href="#top" aria-label="Common Front newsletter archive"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 5h18v14H3V5Zm2.4 2L12 12.4 18.6 7H5.4ZM19 8.9l-7 5.1-7-5.1V17h14V8.9Z"/></svg></a>
</div>
</div>
<div class="f-col">
<h5>Organize</h5>
<ul>
<li><a href="#campaigns">Active campaigns</a></li>
<li><a href="#involved">Volunteer matcher</a></li>
<li><a href="#events">Block associations</a></li>
<li><a href="#campaigns">Public comment docket</a></li>
<li><a href="#faq">Endorsement scorecards</a></li>
<li><a href="#donate">Emergency rent fund</a></li>
</ul>
</div>
<div class="f-col">
<h5>Learn</h5>
<ul>
<li><a href="#resources">Resource center</a></li>
<li><a href="#resources">Tenant handbook (3rd ed.)</a></li>
<li><a href="#impact">Data & maps</a></li>
<li><a href="#involved">Request a workshop</a></li>
<li><a href="#voices">Member stories</a></li>
<li><a href="#faq">Frequently asked</a></li>
</ul>
</div>
<div class="f-col">
<h5>The collective</h5>
<ul>
<li><a href="#about">Our story</a></li>
<li><a href="#about">Staff & steering committee</a></li>
<li><a href="#about">Principles of engagement</a></li>
<li><a href="#impact">Financials & Form 990</a></li>
<li><a href="#involved">Work with us</a></li>
<li><a href="#top">Press & media inquiries</a></li>
</ul>
</div>
<div class="f-col">
<h5>Contact</h5>
<address>
Common Front Collective<br>
419 Foundry Street, Suite 300<br>
Harborview, 08114<br><br>
Tenant line: <a href="tel:+15550142880">555-0142-880</a><br>
General: <a href="mailto:hola@commonfront.org">hola@commonfront.org</a><br><br>
Hall open Mon–Thu 10–6, Sat 12–4.<br>
Step-free entrance on Water Alley.
</address>
</div>
</div>
<div class="f-bot">
<div>© <span id="yr">2025</span> Common Front Collective · 501(c)(4) · EIN 47-0918832</div>
<div class="f-legal">
<a href="#top">Privacy</a><a href="#top">Terms of membership</a><a href="#top">Accessibility statement</a><a href="#top">Non-discrimination</a><a href="#top">Data requests</a>
</div>
<div>Built on member dues. No corporate PAC money, ever.</div>
</div>
<div class="f-note">Harborview edition · Set in Fraunces, Public Sans & Space Mono · Printed on recycled pixels</div>
</div>
</footer>
<script>
(function(){
"use strict";
var RM = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
var $ = function(s,c){return (c||document).querySelector(s);};
var $$ = function(s,c){return Array.prototype.slice.call((c||document).querySelectorAll(s));};
/* ---------- year + date line ---------- */
var now = new Date();
$("#yr").textContent = now.getFullYear();
try{
$("#todayLine").textContent = now.toLocaleDateString(undefined,{weekday:"long",month:"long",day:"numeric",year:"numeric"}) + " · Harborview edition";
}catch(e){}
/* ---------- scroll progress + sticky header ---------- */
var prog = $("#progress"), bar = $("#mastheadBar"), ticking=false;
function onScroll(){
var h = document.documentElement.scrollHeight - window.innerHeight;
prog.style.width = (h>0 ? (window.scrollY/h*100) : 0) + "%";
bar.classList.toggle("stuck", window.scrollY > 120);
ticking=false;
}
window.addEventListener("scroll",function(){ if(!ticking){ requestAnimationFrame(onScroll); ticking=true; }},{passive:true});
onScroll();
/* ---------- mobile nav ---------- */
var burger = $("#burger"), mnav = $("#mobileNav");
burger.addEventListener("click",function(){
var open = mnav.classList.toggle("open");
burger.setAttribute("aria-expanded", String(open));
burger.textContent = open ? "CLOSE" : "MENU";
});
$$("#mobileNav a").forEach(function(a){a.addEventListener("click",function(){mnav.classList.remove("open");burger.setAttribute("aria-expanded","false");burger.textContent="MENU";});});
/* ---------- ticker duplication ---------- */
var track = $("#tickerTrack");
if(track){ var clone = track.firstElementChild.cloneNode(true); clone.setAttribute("aria-hidden","true"); track.appendChild(clone); }
/* ---------- reveal observer ---------- */
var io = new IntersectionObserver(function(entries){
entries.forEach(function(en){
if(en.isIntersecting){ en.target.classList.add("is-in"); io.unobserve(en.target); }
});
},{threshold:.12, rootMargin:"0px 0px -8% 0px"});
$$("[data-reveal]").forEach(function(el){io.observe(el);});
var hl = $("#headline");
if(hl){ setTimeout(function(){hl.classList.add("is-in");},120); }
/* ---------- count-up ---------- */
function fmt(n,dec){ return dec? n.toFixed(dec) : Math.round(n).toLocaleString("en-US"); }
var cio = new IntersectionObserver(function(entries){
entries.forEach(function(en){
if(!en.isIntersecting) return;
var el = en.target, target = parseFloat(el.dataset.count), dec = parseInt(el.dataset.decimals||"0",10);
cio.unobserve(el);
if(RM){ el.textContent = fmt(target,dec); return; }
var t0 = performance.now(), dur = 1500;
(function step(t){
var p = Math.min(1,(t-t0)/dur), e = 1-Math.pow(1-p,3);
el.textContent = fmt(target*e,dec);
if(p<1) requestAnimationFrame(step); else el.textContent = fmt(target,dec);
})(t0);
});
},{threshold:.5});
$$("[data-count]").forEach(function(el){cio.observe(el);});
/* ---------- meters ---------- */
var mio = new IntersectionObserver(function(entries){
entries.forEach(function(en){
if(en.isIntersecting){
var f = en.target; f.style.width = f.dataset.value + "%"; mio.unobserve(f);
}
});
},{threshold:.4});
$$(".meter__fill").forEach(function(el){mio.observe(el);});
$$(".js-bar").forEach(function(el){ el.style.setProperty("width", (el.getAttribute("style")||"").indexOf("--p")>-1 ? "var(--p)%" : "0%"); });
/* ---------- scramble decode ---------- */
var glyphs = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789·§/#";
$$("[data-scramble]").forEach(function(el){
var real = el.textContent, raf, frame=0;
if(RM) return;
var sio = new IntersectionObserver(function(en){
if(!en[0].isIntersecting) return;
sio.disconnect();
var queue = real.split("").map(function(ch,i){ return {ch:ch, start:Math.floor(i*1.6), end:Math.floor(i*1.6)+10+Math.random()*12}; });
(function run(){
var out="", done=0;
queue.forEach(function(q){
if(frame>=q.end){ out+=q.ch; done++; }
else if(frame>=q.start){ out += (q.ch===" "?" ":glyphs[Math.floor(Math.random()*glyphs.length)]); }
else out += " ";
});
el.textContent = out;
frame++;
if(done<queue.length) raf = requestAnimationFrame(run); else el.textContent = real;
})();
},{threshold:.6});
sio.observe(el);
});
/* ---------- countdown ---------- */
var target = new Date(Date.now() + 6*864e5 + 7*36e5 + 42*6e4);
var cd = {d:$("#cd-d"),h:$("#cd-h"),m:$("#cd-m"),s:$("#cd-s")};
function pad(n){return n<10?"0"+n:""+n;}
function tickCD(){
var diff = Math.max(0, target - Date.now());
var d = Math.floor(diff/864e5), h=Math.floor(diff%864e5/36e5), m=Math.floor(diff%36e5/6e4), s=Math.floor(diff%6e4/1e3);
cd.d.textContent=pad(d); cd.h.textContent=pad(h); cd.m.textContent=pad(m); cd.s.textContent=pad(s);
}
tickCD(); setInterval(tickCD,1000);
/* ---------- living signature counters ---------- */
var sig = $("#sigCount"), pet = $("#petCount");
var sigN = 8412, petN = 12486;
setInterval(function(){
if(document.hidden) return;
var inc = 1 + Math.floor(Math.random()*3);
if(sigN < 10000){ sigN = Math.min(10000, sigN+inc); sig.textContent = sigN.toLocaleString("en-US"); }
petN += inc; pet.textContent = petN.toLocaleString("en-US");
if(!RM){ pet.style.transition="none"; pet.style.color="#fff"; setTimeout(function(){pet.style.transition="color .8s";pet.style.color="";},90); }
}, 5200);
/* ---------- campaign filters ---------- */
var chips = $$(".chip[data-filter]"), camps = $$("#campGrid .camp");
chips.forEach(function(c){
c.addEventListener("click",function(){
chips.forEach(function(x){x.setAttribute("aria-pressed", String(x===c));});
var f = c.dataset.filter;
camps.forEach(function(card,i){
var show = f==="all" || (card.dataset.tags||"").indexOf(f)>-1;
card.classList.toggle("hide", !show);
if(show && !RM){ card.style.animation="none"; void card.offsetWidth; card.style.animation="pop .45s "+(i*40)+"ms cubic-bezier(.2,.9,.25,1) both"; }
});
});
});
/* ---------- resource search ---------- */
var rs = $("#resSearch"), items = $$("#resList .res-item"), rc = $("#resCount");
if(rs){
rs.addEventListener("input",function(){
var q = rs.value.trim().toLowerCase(), n=0;
items.forEach(function(it){
var hay = ((it.dataset.keywords||"")+" "+it.textContent).toLowerCase();
var show = !q || hay.indexOf(q)>-1;
it.classList.toggle("hide",!show); if(show) n++;
});
rc.textContent = n + (n===1?" item":" items");
rc.style.opacity = 1;
});
}
/* ---------- RSVP toggles ---------- */
$$(".js-rsvp").forEach(function(btn){
var ev = btn.closest(".ev"), txt = $(".js-seats-txt",ev), barEl = $(".js-bar",ev);
var m = txt.textContent.match(/(\d+)\s+of\s+(\d+)/);
if(!m) { btn.addEventListener("click",function(){ setOn(!btn.dataset.on); }); return; }
var taken = parseInt(m[1],10), cap = parseInt(m[2],10), noun = txt.textContent.split(" ")[0];
function paint(){
var pct = Math.min(100, Math.round(taken/cap*100));
barEl.style.width = pct+"%";
txt.textContent = taken + " of " + cap + " " + noun + (btn.dataset.on==="true"?" (incl. you)":"");
}
function setOn(on){
btn.dataset.on = String(on);
taken += on?1:-1;
btn.textContent = on ? "You’re in ✓" : (noun==="signed"?"Count me in":"RSVP");
paint();
}
paint();
btn.addEventListener("click",function(){ setOn(btn.dataset.on!=="true"); });
});
/* ---------- FAQ accordion ---------- */
$$(".faq__q").forEach(function(q){
q.addEventListener("click",function(){
var open = q.getAttribute("aria-expanded")==="true";
$$(".faq__q").forEach(function(o){ if(o!==q) o.setAttribute("aria-expanded","false"); });
q.setAttribute("aria-expanded", String(!open));
});
});
/* ---------- petition buttons / form ---------- */
$$(".js-sign").forEach(function(b){
b.addEventListener("click",function(){
var t = b.textContent;
b.textContent = "Signed ✓"; b.disabled = true; b.style.background="var(--moss)"; b.style.borderColor="var(--moss)";
sigN = Math.min(10000, sigN+1); sig.textContent = sigN.toLocaleString("en-US");
setTimeout(function(){ b.textContent = t; b.disabled=false; b.style.background=""; b.style.borderColor=""; }, 2600);
});
});
var pf = $("#petForm"), flash = $("#petFlash");
pf.addEventListener("submit",function(e){
e.preventDefault();
var v = $("input",pf).value.trim();
if(!/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(v)){ flash.textContent = "Please enter a valid email so we can verify your ward."; return; }
petN += 1; pet.textContent = petN.toLocaleString("en-US");
flash.textContent = "Thank you — confirmation sent. Print it and bring two neighbors.";
$("input",pf).value = "";
});
/* ---------- language toggle ---------- */
$$(".langs button").forEach(function(b){
b.addEventListener("click",function(){
$$(".langs button").forEach(function(x){x.setAttribute("aria-pressed", String(x===b));});
});
});
/* =========================================================
VOLUNTEER MATCHER
========================================================= */
var ROLES = [
{t:"Tenant Orientation Host", team:"Tenant Power Assembly · Ward 7", causes:["housing","care"], modes:["rooms","leading"], times:["weekly","monthly","skills"],
d:"Greet new neighbors in a building you already live in, walk them through the four notices that matter most, and hand off anyone at risk to the legal collective. Two buildings, two evenings a month.", open:"6 openings"},
{t:"Door Knock Captain", team:"Canvass Unit · Wards 5 & 8", causes:["housing","transit","care"], modes:["doors","leading"], times:["surge","weekly"],
d:"Lead a four-person team on a mapped block set. You get training, a script, a rain plan, and the authority to pull your team off any street that feels unsafe. Routes posted 72 hours ahead.", open:"11 openings"},
{t:"Testimony & Public Comment Writer", team:"Policy Desk", causes:["housing","transit","data","democracy"], modes:["screen"], times:["monthly","skills"],
d:"Turn member interview notes into three-minute testimony that survives a hostile chair. Remote, deadline-driven, and the highest-leverage desk job in the collective.", open:"3 openings"},
{t:"Route 12 Bus Ambassador", team:"Riders’ Union", causes:["transit","data"], modes:["doors","rooms","calls"], times:["surge","weekly","monthly"],
d:"Stand at Delano & 9th during peak boarding with pledge cards and a head-count clicker. Riders tell you what the timetable will not: where service actually fails.", open:"9 openings"},
{t:"Language Access Volunteer", team:"Multilingual Organizing Committee", causes:["language","housing","care"], modes:["screen","rooms","calls"], times:["monthly","weekly","skills","surge"],
d:"Translate bulletins, interpret at house meetings, or run the Spanish/Vietnamese/Creole phone bank. Paid at staff rate for anything over two hours — access work is skilled work.", open:"14 openings"},
{t:"Neighborhood Data Steward", team:"Research & Maps", causes:["data","housing","transit","environment"], modes:["screen"], times:["monthly","skills"],
d:"Clean canvass exports, maintain the heat-vulnerability index, and draft records requests. Spreadsheet fluency required; civic curiosity non-negotiable.", open:"4 openings"},
{t:"Elder Check-In Caller", team:"Care Workers Caucus", causes:["care","language"], modes:["calls"], times:["weekly","monthly"],
d:"Call the same three elders every week through heat events and snow emergencies. Training covers heat illness signs, benefit enrollment, and when to send a physical visit.", open:"8 openings"},
{t:"Youth Civic Mentor", team:"Ward 6 Youth Table", causes:["youth","education","language"], modes:["rooms","leading"], times:["weekly","surge"],
d:"Co-run the after-school civics table at Mercer and Lincoln Middle Schools. Background check required; eight-week commitment minimum because kids notice churn.", open:"5 openings"},
{t:"Mutual Aid Warehouse Lead", team:"Foundry Street Depot", causes:["care","housing","education"], modes:["leading","rooms","doors"], times:["weekly","surge"],
d:"Run Saturday intake and distribution for 340 households: inventory, food safety log, volunteer rotations, and the dignity of a tidy shelf.", open:"2 openings"},
{t:"Meeting Facilitator", team:"Assembly Trainers", causes:["housing","transit","care","youth","language","data","education"], modes:["rooms","leading"], times:["monthly","skills","weekly"],
d:"Hold the room when the stakes are high — house meetings, assemblies, contentious subcommittees. Graduates of the facilitator guide run a monthly rotation with a debrief partner.", open:"3 openings"}
];
var steps = $$(".mstep"), result = $("#mResult"), dots = $$("#dots i"),
stepLabel = $("#stepLabel"), mBack = $("#mBack"), mNext = $("#mNext"), mReset = $("#mReset");
var idx = 0, sel = {};
function paintStep(){
steps.forEach(function(s,i){ s.hidden = i!==idx; });
result.hidden = true;
dots.forEach(function(d,i){ d.classList.toggle("on", i<=idx); });
stepLabel.textContent = "Step " + (idx+1) + " of 3";
mBack.disabled = idx===0;
mNext.hidden = false; mReset.hidden = true;
syncNext();
}
function syncNext(){
var key = steps[idx] ? (steps[idx].querySelector(".opt")||{}).dataset?.q : null;
var ready = key ? !!sel[key] : false;
mNext.disabled = !ready;
mNext.textContent = idx===2 ? "Show my matches →" : "Next question →";
}
function select(btn){
var q = btn.dataset.q, v = btn.dataset.v;
sel[q] = v;
$$(".opt", btn.closest(".opts")).forEach(function(o){ o.setAttribute("aria-pressed", String(o===btn)); });
syncNext();
setTimeout(function(){ if(idx<2){ idx++; paintStep(); } else { render(); } }, RM?0:260);
}
$$(".opt").forEach(function(b){ b.addEventListener("click", function(){ select(b); }); });
function score(r){
var s = 8;
if(r.causes.indexOf(sel.cause)>-1) s += 44;
else if(r.causes.length>4) s += 16;
if(r.modes.indexOf(sel.mode)>-1) s += 30;
if(r.times.indexOf(sel.time)>-1) s += 18;
return Math.max(22, Math.min(98, s));
}
function render(){
var ranked = ROLES.map(function(r){ return {r:r, s:score(r)}; }).sort(function(a,b){return b.s-a.s;}).slice(0,3);
$("#results").innerHTML = ranked.map(function(x){
return '<article class="result">'+
'<div><h4>'+x.r.t+'</h4><div class="team-l">'+x.r.team+' · '+x.r.open+'</div>'+
'<p>'+x.r.d+'</p>'+
'<div class="tags"><span class="tag">'+x.r.modes.join(" · ")+'</span><span class="tag">'+x.r.times.join(" · ")+'</span></div>'+
'<div style="display:flex;gap:8px;margin-top:14px;flex-wrap:wrap"><button class="btn btn--rust btn--sm js-apply">Request this placement</button>'+
'<a class="btn btn--ghost btn--sm" href="#events">See next shift</a></div></div>'+
'<div class="score"><div class="ring" style="--p:'+x.s+'"><b>'+x.s+'%</b></div><small>fit</small></div>'+
'</article>';
}).join("") + '<p style="font-size:13.6px;color:var(--ink-70);margin-top:6px">Matches are a starting point, not an assignment. Tell Nadia if none of these feel right — she has eleven other roles that never make the public list.</p>';
steps.forEach(function(s){ s.hidden = true; });
result.hidden = false;
dots.forEach(function(d){ d.classList.add("on"); });
stepLabel.textContent = "Complete";
mNext.hidden = true; mReset.hidden = false; mBack.disabled = false;
$$(".js-apply").forEach(function(b){
b.addEventListener("click",function(){
b.textContent = "Sent to coordinator ✓"; b.disabled=true; b.style.background="var(--moss)"; b.style.borderColor="var(--moss)";
});
});
}
mNext.addEventListener("click",function(){ if(idx<2){ idx++; paintStep(); } else { render(); } });
mBack.addEventListener("click",function(){
if(!result.hidden){ result.hidden = true; mNext.hidden=false; mReset.hidden=true; paintStep(); return; }
if(idx>0){ idx--; paintStep(); }
});
mReset.addEventListener("click",function(){ sel={}; idx=0; $$(".opt").forEach(function(o){o.setAttribute("aria-pressed","false");}); paintStep(); });
paintStep();
/* ---------- postcard tilt on keyboard focus ---------- */
$$(".pc").forEach(function(p){ p.tabIndex = 0; });
/* ---------- active nav highlighting ---------- */
var secs = ["about","campaigns","impact","resources","events","involved","voices"].map(function(id){return document.getElementById(id);}).filter(Boolean);
var nio = new IntersectionObserver(function(entries){
entries.forEach(function(en){
if(en.isIntersecting){
$$("nav.primary a").forEach(function(a){
a.setAttribute("aria-current", String(a.getAttribute("href")==="#"+en.target.id));
});
}
});
},{rootMargin:"-45% 0px -50% 0px"});
secs.forEach(function(s){nio.observe(s);});
})();
</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:03:05.054Z",
"url": "https://benchmark.aimac.invalid/ea8be91d0548a2f847a57969d79674b338ff104bfd533e5ff5374958568dc446.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-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-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-toggle-field-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
"nodes": []
},
{
"id": "aria-tooltip-name",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
"nodes": []
},
{
"id": "autocomplete-valid",
"impact": null,
"tags": [
"cat.forms",
"wcag21aa",
"wcag135",
"EN-301-549",
"EN-9.1.3.5",
"ACT"
],
"description": "Ensure the autocomplete attribute is correct and suitable for the form field",
"help": "autocomplete attribute must be used correctly",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
"nodes": []
},
{
"id": "blink",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag222",
"section508",
"section508.22.j",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
"nodes": []
},
{
"id": "definition-list",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
"nodes": []
},
{
"id": "dlitem",
"impact": null,
"tags": [
"cat.structure",
"wcag2a",
"wcag131",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
"nodes": []
},
{
"id": "frame-focusable-content",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
"nodes": []
},
{
"id": "frame-title-unique",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
"nodes": []
},
{
"id": "frame-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag412",
"section508",
"section508.22.i",
"TTv5",
"TT12.d",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
"nodes": []
},
{
"id": "html-xml-lang-mismatch",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
"help": "HTML elements with lang and xml:lang must have the same base language",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
"nodes": []
},
{
"id": "input-button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
"nodes": []
},
{
"id": "input-image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure <input type=\"image\"> elements have alternative text",
"help": "Image buttons must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
"nodes": []
},
{
"id": "marquee",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag222",
"TTv5",
"TT2.b",
"EN-301-549",
"EN-9.2.2.2"
],
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
"nodes": []
},
{
"id": "meta-refresh",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag221",
"TTv5",
"TT8.a",
"EN-301-549",
"EN-9.2.2.1"
],
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
"nodes": []
},
{
"id": "object-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"EN-301-549",
"EN-9.1.1.1"
],
"description": "Ensure <object> elements have alternative text",
"help": "<object> elements must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
"nodes": []
},
{
"id": "role-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure [role=\"img\"] elements have alternative text",
"help": "[role=\"img\"] elements must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "scrollable-region-focusable",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag211",
"wcag213",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1",
"EN-9.2.1.3"
],
"description": "Ensure elements that have scrollable content are accessible by keyboard",
"help": "Scrollable region must have keyboard access",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
"nodes": []
},
{
"id": "select-name",
"impact": null,
"tags": [
"cat.forms",
"wcag2a",
"wcag412",
"section508",
"section508.22.n",
"TTv5",
"TT5.c",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
"nodes": []
},
{
"id": "server-side-image-map",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag211",
"section508",
"section508.22.f",
"TTv5",
"TT4.a",
"EN-301-549",
"EN-9.2.1.1"
],
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
"nodes": []
},
{
"id": "summary-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
"nodes": []
},
{
"id": "svg-img-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
"nodes": []
},
{
"id": "td-headers-attr",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
"help": "Table cells that use the headers attribute must only refer to cells in the same table",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
"nodes": []
},
{
"id": "th-has-data-cells",
"impact": null,
"tags": [
"cat.tables",
"wcag2a",
"wcag131",
"section508",
"section508.22.g",
"TTv5",
"TT14.b",
"EN-301-549",
"EN-9.1.3.1"
],
"description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
"help": "Table headers in a data table must refer to data cells",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
"nodes": []
},
{
"id": "valid-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2aa",
"wcag312",
"TTv5",
"TT11.b",
"EN-301-549",
"EN-9.3.1.2",
"ACT"
],
"description": "Ensure lang attributes have valid values",
"help": "lang attribute must have a valid value",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
"nodes": []
},
{
"id": "video-caption",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag122",
"section508",
"section508.22.a",
"TTv5",
"TT17.a",
"EN-301-549",
"EN-9.1.2.2"
],
"description": "Ensure <video> elements have captions",
"help": "<video> elements must have captions",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
"nodes": []
},
{
"id": "no-autoplay-audio",
"impact": null,
"tags": [
"cat.time-and-media",
"wcag2a",
"wcag142",
"TTv5",
"TT2.a",
"EN-301-549",
"EN-9.1.4.2",
"ACT"
],
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"help": "<video> or <audio> elements must not play automatically",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
"nodes": []
}
],
"passes": [
{
"id": "aria-allowed-attr",
"impact": null,
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure an element's role supports its ARIA attributes",
"help": "Elements must only use supported ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [
{
"id": "aria-allowed-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attributes are used correctly for the defined role"
}
],
"none": [
{
"id": "aria-unsupported-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA attribute is supported"
}
],
"impact": null,
"html": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": [
{
"any": [],
"all": [],
"none": [
{
"id": "deprecatedrole",
"data": null,
"relatedNodes": [],
"impact": "minor",
"message": "ARIA role is not deprecated"
}
],
"impact": null,
"html": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": "<div class=\"grain\" aria-hidden=\"true\"></div>",
"target": [
".grain"
]
}
]
},
{
"id": "aria-prohibited-attr",
"impact": "serious",
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "ARIA attribute is allowed"
}
],
"impact": null,
"html": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": [
{
"any": [
{
"id": "aria-required-attr",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "All required ARIA attributes are present"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": [
{
"any": [],
"all": [],
"none": [
{
"id": "invalidrole",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA role is valid"
},
{
"id": "abstractrole",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Abstract roles are not used"
},
{
"id": "unsupportedrole",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "ARIA role is supported"
}
],
"impact": null,
"html": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": "<div class=\"langs\" role=\"group\" aria-label=\"Site language\">\n <button aria-pressed=\"true\">EN</button><button aria-pressed=\"false\">ES</button><button aria-pressed=\"false\">VI</button><button aria-pressed=\"false\">HT</button>\n </div>",
"target": [
".langs"
]
}
]
},
{
"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": "<em class=\"mark\" style=\"font-style:normal\">organized</em>",
"target": [
"em"
]
}
]
},
{
"id": "button-name",
"impact": null,
"tags": [
"cat.name-role-value",
"wcag2a",
"wcag412",
"section508",
"section508.22.a",
"TTv5",
"TT6.a",
"EN-301-549",
"EN-9.4.1.2",
"ACT"
],
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "button-has-visible-text",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has inner text that is visible to screen readers"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<button aria-pressed=\"true\">EN</button>",
"target": [
".langs > button:nth-child(1)"
]
}
]
},
{
"id": "bypass",
"impact": null,
"tags": [
"cat.keyboard",
"wcag2a",
"wcag241",
"section508",
"section508.22.o",
"TTv5",
"TT9.a",
"EN-301-549",
"EN-9.2.4.1"
],
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "internal-link-present",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Valid skip link found"
},
{
"id": "header-present",
"data": null,
"relatedNodes": [
{
"html": "<h1 class=\"headline is-in\" id=\"headline\">\n <span class=\"lm\"><span>Power is not</span></span>\n <span class=\"lm\"><span>given. It is</span></span>\n <span class=\"lm\"><span><em class=\"mark\" style=\"font-style:normal\">organized</em>.</span></span>\n </h1>",
"target": [
"#headline"
]
},
{
"html": "<h4>Housing Stability Act \u00a7402</h4>",
"target": [
".action-card > h4"
]
},
{
"html": "<h3>At Marcy Courts, a renewal notice became a union card</h3>",
"target": [
".brief:nth-child(1) > h3"
]
},
{
"html": "<h3>Route 12 riders lose 41,000 hours a week</h3>",
"target": [
".brief:nth-child(2) > h3"
]
},
{
"html": "<h3>The shift-scheduling listening tour hits Delano Hall</h3>",
"target": [
".brief:nth-child(3) > h3"
]
},
{
"html": "<h2 class=\"sec-title\">Where we\u2019re organizing now</h2>",
"target": [
"#campaigns > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h3>Housing Stability Act \u00a7402</h3>",
"target": [
"article[data-tags=\"housing\"] > h3"
]
},
{
"html": "<h3>Restore Route 12</h3>",
"target": [
"article[data-tags=\"transit\"] > h3"
]
},
{
"html": "<h3>Fair Shift Scheduling Ordinance</h3>",
"target": [
"article[data-tags=\"care\"] > h3"
]
},
{
"html": "<h3>Participatory Budget: Ward 6</h3>",
"target": [
"article[data-tags=\"democracy\"] > h3"
]
},
{
"html": "<h3>Cool Streets Fund</h3>",
"target": [
"article[data-tags=\"environment transit\"] > h3"
]
},
{
"html": "<h3>Language Access Now</h3>",
"target": [
"article[data-tags=\"democracy care\"] > h3"
]
},
{
"html": "<h2 class=\"sec-title\">The impact ledger</h2>",
"target": [
"#impact > .wrap > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h2 class=\"sec-title\">Who we are</h2>",
"target": [
"#about > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h4>Members set the agenda</h4>",
"target": [
"ol > li:nth-child(1) > div > h4"
]
},
{
"html": "<h4>Power before projects</h4>",
"target": [
"ol > li:nth-child(2) > div > h4"
]
},
{
"html": "<h4>Leadership develops everywhere</h4>",
"target": [
"ol > li:nth-child(3) > div > h4"
]
},
{
"html": "<h4>Data belongs to the neighborhood</h4>",
"target": [
"ol > li:nth-child(4) > div > h4"
]
},
{
"html": "<h4>Access is not an afterthought</h4>",
"target": [
"ol > li:nth-child(5) > div > h4"
]
},
{
"html": "<h3 style=\"font-size:20px;margin-top:34px\">Organizing committee</h3>",
"target": [
"div[data-reveal=\"\"]:nth-child(2) > h3"
]
},
{
"html": "<h2 class=\"sec-title\">Resource center</h2>",
"target": [
"#resources > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h4>Tenant Organizing Handbook, 3rd edition</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Public comment script template</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Know your rights: rent increase & renewal notices</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Block association starter kit</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Transit equity data pack (Wards 4\u201311)</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Facilitator\u2019s guide to inclusive meetings</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Mutual aid legal primer</h4>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Breaking from the field</h4>",
"target": [
".side-card--ink > h4"
]
},
{
"html": "<h4>Success story</h4>",
"target": [
".story > h4"
]
},
{
"html": "<h4>This quarter at a glance</h4>",
"target": [
".side-card[data-reveal=\"\"]:nth-child(3) > h4"
]
},
{
"html": "<h4 style=\"color:var(--gold)\">Bring us to your block</h4>",
"target": [
".side-card[data-reveal=\"\"]:nth-child(4) > h4"
]
},
{
"html": "<h2 class=\"sec-title\">Volunteer matcher</h2>",
"target": [
"#involved > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h2 class=\"sec-title\">The calendar</h2>",
"target": [
"#events > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h4>Tenant rights clinic & intake</h4>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Block association assembly</h4>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Public comment workshop</h4>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Route 12 ride & rally</h4>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Ward 6 participatory budget project fair</h4>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Volunteer onboarding 101</h4>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > h4"
]
},
{
"html": "<h4>Find your association</h4>",
"target": [
".in > h4"
]
},
{
"html": "<h4>Recurring meets</h4>",
"target": [
"aside[aria-label=\"Event tools\"] > .side-card[data-reveal=\"\"] > h4"
]
},
{
"html": "<h2 class=\"sec-title\">Field notes</h2>",
"target": [
".band:nth-child(6) > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h2 class=\"sec-title\">Voices from the block</h2>",
"target": [
"#voices > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h2 class=\"sec-title\">Questions neighbors ask</h2>",
"target": [
"#faq > .sec-head[data-reveal=\"\"] > .sec-title"
]
},
{
"html": "<h2>Add your name.<br>Then bring a neighbor.</h2>",
"target": [
".cta-inner > div[data-reveal=\"\"]:nth-child(1) > h2"
]
},
{
"html": "<h5>Organize</h5>",
"target": [
".f-col:nth-child(2) > h5"
]
},
{
"html": "<h5>Learn</h5>",
"target": [
".f-col:nth-child(3) > h5"
]
},
{
"html": "<h5>The collective</h5>",
"target": [
".f-col:nth-child(4) > h5"
]
},
{
"html": "<h5>Contact</h5>",
"target": [
".f-col:nth-child(5) > h5"
]
}
],
"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\">",
"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": "#e9e2d5",
"bgColor": "#191b1f",
"contrastRatio": 13.38,
"fontSize": "8.3pt (11px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [],
"impact": "serious",
"message": "Element has sufficient color contrast of 13.38"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div><span class=\"dot\" aria-hidden=\"true\"></span>Member-owned since 2011 \u00b7 Harborview metro, Wards 4\u201311</div>",
"target": [
".util > .wrap > div:nth-child(1)"
]
}
]
},
{
"id": "document-title",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag242",
"TTv5",
"TT12.a",
"EN-301-549",
"EN-9.2.4.2",
"ACT"
],
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "doc-has-title",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Document has a non-empty <title> element"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "duplicate-id-aria",
"impact": null,
"tags": [
"cat.parsing",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "duplicate-id-aria",
"data": "mobileNav",
"relatedNodes": [],
"impact": "critical",
"message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<div class=\"mobile-nav\" id=\"mobileNav\">",
"target": [
"#mobileNav"
]
}
]
},
{
"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=\"res-search\" data-reveal=\"\">",
"target": [
"label"
]
}
],
"impact": "moderate",
"message": "Form field does not have multiple label elements"
}
],
"impact": null,
"html": "<input type=\"search\" id=\"resSearch\" placeholder=\"Try \u201ceviction\u201d, \u201cfacilitation\u201d, \u201cbudget\u201d\u2026\" aria-label=\"Search the resource library\">",
"target": [
"#resSearch"
]
}
]
},
{
"id": "html-has-lang",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "The <html> element has a lang attribute"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "html-lang-valid",
"impact": null,
"tags": [
"cat.language",
"wcag2a",
"wcag311",
"TTv5",
"TT11.a",
"EN-301-549",
"EN-9.3.1.1",
"ACT"
],
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "valid-lang",
"data": null,
"relatedNodes": [],
"impact": "serious",
"message": "Value of lang attribute is included in the list of valid languages"
}
],
"impact": null,
"html": "<html lang=\"en\">",
"target": [
"html"
]
}
]
},
{
"id": "image-alt",
"impact": null,
"tags": [
"cat.text-alternatives",
"wcag2a",
"wcag111",
"section508",
"section508.22.a",
"TTv5",
"TT7.a",
"TT7.b",
"EN-301-549",
"EN-9.1.1.1",
"ACT"
],
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
"help": "Images must have alternative text",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "has-alt",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has an alt attribute"
}
],
"all": [],
"none": [
{
"id": "alt-space-value",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a valid alt attribute value"
}
],
"impact": null,
"html": "<img src=\"https://placehold.co/104x104/191b1f/e3a72c?text=CF&font=montserrat\" alt=\"Common Front logo mark\" width=\"52\" height=\"52\">",
"target": [
"img[width=\"52\"]"
]
}
]
},
{
"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": "Search Search the resource library 7 items"
},
"relatedNodes": [
{
"html": "<label class=\"res-search\" data-reveal=\"\">",
"target": [
"label"
]
}
],
"impact": "critical",
"message": "Element has an implicit (wrapped) <label>"
},
{
"id": "aria-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "aria-label attribute exists and is not empty"
},
{
"id": "non-empty-placeholder",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Element has a placeholder attribute"
}
],
"all": [],
"none": [
{
"id": "hidden-explicit-label",
"data": null,
"relatedNodes": [],
"impact": "critical",
"message": "Form element has a visible explicit <label>"
}
],
"impact": null,
"html": "<input type=\"search\" id=\"resSearch\" placeholder=\"Try \u201ceviction\u201d, \u201cfacilitation\u201d, \u201cbudget\u201d\u2026\" aria-label=\"Search the resource library\">",
"target": [
"#resSearch"
]
}
]
},
{
"id": "link-in-text-block",
"impact": null,
"tags": [
"cat.color",
"wcag2a",
"wcag141",
"TTv5",
"TT13.a",
"EN-301-549",
"EN-9.1.4.1"
],
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
"help": "Links must be distinguishable without relying on color",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "link-in-text-block-style",
"data": null,
"relatedNodes": [
{
"html": "<p style=\"margin-top:22px;font-size:14.5px;color:var(--ink-70)\">",
"target": [
".res-layout > div > p"
]
}
],
"impact": "serious",
"message": "Links can be distinguished from surrounding text by visual styling"
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a href=\"mailto:library@commonfront.org\" style=\"color:var(--rust);font-weight:600\">library@commonfront.org</a>",
"target": [
"a[href=\"mailto:library@commonfront.org\"]"
]
}
]
},
{
"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\" href=\"#main\">Skip to main content</a>",
"target": [
".skip"
]
}
]
},
{
"id": "list",
"impact": "serious",
"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=\"camp__meta\">\n <li>Decision: <b>County Housing Committee</b></li>\n <li>Lead: <b>Tenant Power Assembly, Wards 5\u20137</b></li>\n <li>Next action: <b>Testimony day, Fri 7 p.m.</b></li>\n </ul>",
"target": [
"article[data-tags=\"housing\"] > .camp__meta"
]
}
]
},
{
"id": "listitem",
"impact": "serious",
"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>Decision: <b>County Housing Committee</b></li>",
"target": [
"article[data-tags=\"housing\"] > .camp__meta > 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": "<button aria-pressed=\"true\">EN</button>",
"target": [
".langs > button:nth-child(1)"
]
}
]
},
{
"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": 197.8,
"height": 51.5
},
"relatedNodes": [],
"impact": "serious",
"message": "Control has sufficient size (197.8px by 51.5px, should be at least 24px by 24px)"
},
{
"id": "target-offset",
"data": {
"closestOffset": 24,
"minOffset": 24
},
"relatedNodes": [],
"impact": "serious",
"message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
}
],
"all": [],
"none": [],
"impact": null,
"html": "<a class=\"skip\" href=\"#main\">Skip to main content</a>",
"target": [
".skip"
]
}
]
}
],
"incomplete": [
{
"id": "aria-prohibited-attr",
"impact": "serious",
"tags": [
"cat.aria",
"wcag2a",
"wcag412",
"EN-301-549",
"EN-9.4.1.2"
],
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
"nodes": [
{
"any": [],
"all": [],
"none": [
{
"id": "aria-prohibited-attr",
"data": {
"role": null,
"nodeName": "div",
"messageKey": "noRoleSingular",
"prohibited": [
"aria-label"
]
},
"relatedNodes": [],
"impact": "serious",
"message": "aria-label attribute is not well supported on a div with no valid role attribute."
}
],
"impact": "serious",
"html": "<div class=\"ticker\" aria-label=\"Live actions board\">",
"target": [
".ticker"
],
"failureSummary": "Fix all of the following:\n aria-label attribute is not well supported on a div with no valid role attribute."
}
]
},
{
"id": "color-contrast",
"impact": "serious",
"tags": [
"cat.color",
"wcag2aa",
"wcag143",
"TTv5",
"TT13.c",
"EN-301-549",
"EN-9.1.4.3",
"ACT"
],
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds",
"helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
"nodes": [
{
"any": [
{
"id": "color-contrast",
"data": {
"messageKey": "nonBmp"
},
"relatedNodes": [],
"impact": "serious",
"message": "Element content contains only non-text characters"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"arw\">\u2192</span>",
"target": [
".nav-cta > .arw"
],
"failureSummary": "Fix any of the following:\n Element content contains only non-text characters"
}
]
}
],
"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": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"masthead-bar\" id=\"mastheadBar\">",
"target": [
"#mastheadBar"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.1pt (9.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"brand-tag\">Organized by neighbors \u00b7 accountable to the block</span>",
"target": [
".wrap > .brand[href$=\"#top\"] > span > .brand-tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.1pt (9.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#3a3f47",
"bgColor": "#bd3f21",
"contrastRatio": 1.96,
"fontSize": "10.1pt (13.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<a class=\"btn btn--rust btn--sm nav-cta\" href=\"#donate\">Donate <span class=\"arw\">\u2192</span></a>",
"target": [
".nav-cta"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 1.96 (foreground color: #3a3f47, background color: #bd3f21, font size: 10.1pt (13.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a class=\"btn btn--rust btn--sm nav-cta\" href=\"#donate\">Donate <span class=\"arw\">\u2192</span></a>",
"target": [
".nav-cta"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 1.96 (foreground color: #3a3f47, background color: #bd3f21, font size: 10.1pt (13.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span data-scramble=\"\">Vol. 14 \u00b7 No. 9 \u00b7 The Organizing Board</span>",
"target": [
"span[data-scramble=\"\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Published by members of the Common Front Collective</span>",
"target": [
".fp-rule > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span id=\"todayLine\">Thursday, November 12, 2026 \u00b7 Harborview edition</span>",
"target": [
"#todayLine"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"byline\">Statement of the Steering Committee \u00b7 Ratified by 412 members \u00b7 Revised October 2025</div>",
"target": [
".byline"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"l\">Dues-paying members</div>",
"target": [
".statrow > div:nth-child(1) > .l"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"l\">Block associations</div>",
"target": [
".statrow > div:nth-child(2) > .l"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"l\">Ordinances advanced</div>",
"target": [
".statrow > div:nth-child(3) > .l"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"l\">One-on-ones logged</div>",
"target": [
".statrow > div:nth-child(4) > .l"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9d9a95",
"bgColor": "#343639",
"contrastRatio": 4.32,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"u\">days</div>",
"target": [
"div:nth-child(1) > .u"
]
},
{
"html": "<div><div class=\"v\" id=\"cd-d\">06</div><div class=\"u\">days</div></div>",
"target": [
"#countdown > div:nth-child(1)"
]
},
{
"html": "<div class=\"action-card\">",
"target": [
".action-card"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"u\">days</div>",
"target": [
"div:nth-child(1) > .u"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9d9a95",
"bgColor": "#343639",
"contrastRatio": 4.32,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"u\">hrs</div>",
"target": [
"div:nth-child(2) > .u"
]
},
{
"html": "<div><div class=\"v\" id=\"cd-h\">07</div><div class=\"u\">hrs</div></div>",
"target": [
"#countdown > div:nth-child(2)"
]
},
{
"html": "<div class=\"action-card\">",
"target": [
".action-card"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"u\">hrs</div>",
"target": [
"div:nth-child(2) > .u"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9d9a95",
"bgColor": "#343639",
"contrastRatio": 4.32,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"u\">min</div>",
"target": [
"div:nth-child(3) > .u"
]
},
{
"html": "<div><div class=\"v\" id=\"cd-m\">41</div><div class=\"u\">min</div></div>",
"target": [
"#countdown > div:nth-child(3)"
]
},
{
"html": "<div class=\"action-card\">",
"target": [
".action-card"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"u\">min</div>",
"target": [
"div:nth-child(3) > .u"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#9d9a95",
"bgColor": "#343639",
"contrastRatio": 4.32,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"u\">sec</div>",
"target": [
"div:nth-child(4) > .u"
]
},
{
"html": "<div><div class=\"v\" id=\"cd-s\">53</div><div class=\"u\">sec</div></div>",
"target": [
"#countdown > div:nth-child(4)"
]
},
{
"html": "<div class=\"action-card\">",
"target": [
".action-card"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"u\">sec</div>",
"target": [
"div:nth-child(4) > .u"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.32 (foreground color: #9d9a95, background color: #343639, font size: 6.4pt (8.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"fl-lbl\">Filter</span>",
"target": [
".fl-lbl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "10.9pt (14.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 10.9pt (14.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<a href=\"mailto:library@commonfront.org\" style=\"color:var(--rust);font-weight:600\">library@commonfront.org</a>",
"target": [
"a[href=\"mailto:library@commonfront.org\"]"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 10.9pt (14.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#7b7976",
"bgColor": "#191b1f",
"contrastRatio": 3.97,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site\">",
"target": [
".site"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.97 (foreground color: #7b7976, background color: #191b1f, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"brand-tag\">Member-led advocacy collective</span>",
"target": [
".f-brand > .brand[href$=\"#top\"] > span > .brand-tag"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.97 (foreground color: #7b7976, background color: #191b1f, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#706f6c",
"bgColor": "#191b1f",
"contrastRatio": 3.43,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<footer class=\"site\">",
"target": [
".site"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.43 (foreground color: #706f6c, background color: #191b1f, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"f-note\">Harborview edition \u00b7 Set in Fraunces, Public Sans & Space Mono \u00b7 Printed on recycled pixels</div>",
"target": [
".f-note"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.43 (foreground color: #706f6c, background color: #191b1f, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Six live campaigns \u00b7 each with a decision-maker, a deadline, and a defined ask</p>",
"target": [
".is-in.sec-head[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Six live campaigns \u00b7 each with a decision-maker, a deadline, and a defined ask</p>",
"target": [
".sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"housing\" data-reveal=\"\">",
"target": [
"article[data-tags=\"housing\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"camp__code\">CF-2026-H01</span>",
"target": [
"article[data-tags=\"housing\"] > .camp__top > .camp__code"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"housing\" data-reveal=\"\">",
"target": [
"article[data-tags=\"housing\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Decision: <b>County Housing Committee</b></li>",
"target": [
"article[data-tags=\"housing\"] > .camp__meta > li:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"housing\" data-reveal=\"\">",
"target": [
"article[data-tags=\"housing\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Lead: <b>Tenant Power Assembly, Wards 5\u20137</b></li>",
"target": [
"article[data-tags=\"housing\"] > .camp__meta > li:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"housing\" data-reveal=\"\">",
"target": [
"article[data-tags=\"housing\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Next action: <b>Testimony day, Fri 7 p.m.</b></li>",
"target": [
"article[data-tags=\"housing\"] > .camp__meta > li:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"housing\" data-reveal=\"\">",
"target": [
"article[data-tags=\"housing\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span><b id=\"sigCount\">8,415</b> of 10,000 signatures</span>",
"target": [
"article[data-tags=\"housing\"] > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"camp__code\">CF-2026-T04</span>",
"target": [
"article[data-tags=\"transit\"] > .camp__top > .camp__code"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Decision: <b>Metro Transit Board</b></li>",
"target": [
"article[data-tags=\"transit\"] > .camp__meta > li:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Lead: <b>Riders\u2019 Union & Delano block groups</b></li>",
"target": [
"article[data-tags=\"transit\"] > .camp__meta > li:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Next action: <b>Ride & rally, Sat 9 a.m.</b></li>",
"target": [
"article[data-tags=\"transit\"] > .camp__meta > li:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span><b>6,214</b> of 10,000 rider pledges</span>",
"target": [
"article[data-tags=\"transit\"] > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"camp__code\">CF-2026-C02</span>",
"target": [
"article[data-tags=\"care\"] > .camp__top > .camp__code"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Decision: <b>Council Labor & Health Committee</b></li>",
"target": [
"article[data-tags=\"care\"] > .camp__meta > li:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Lead: <b>Care Workers Caucus (212 members)</b></li>",
"target": [
"article[data-tags=\"care\"] > .camp__meta > li:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Next action: <b>Listening session, Wed 6:30 p.m.</b></li>",
"target": [
"article[data-tags=\"care\"] > .camp__meta > li:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span><b>2,050</b> of 5,000 worker signatures</span>",
"target": [
"article[data-tags=\"care\"] > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"camp__code\">CF-2026-D01</span>",
"target": [
"article[data-tags=\"democracy\"] > .camp__top > .camp__code"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Decision: <b>Ward 6 PB Assembly</b></li>",
"target": [
"article[data-tags=\"democracy\"] > .camp__meta > li:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Lead: <b>38 block associations, joint</b></li>",
"target": [
"article[data-tags=\"democracy\"] > .camp__meta > li:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Next action: <b>Project fair, Sun 1 p.m.</b></li>",
"target": [
"article[data-tags=\"democracy\"] > .camp__meta > li:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span><b>1,904</b> of 2,600 eligible votes cast</span>",
"target": [
"article[data-tags=\"democracy\"] > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"environment transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"environment transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"camp__code\">CF-2026-E03</span>",
"target": [
"article[data-tags=\"environment transit\"] > .camp__top > .camp__code"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"environment transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"environment transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Decision: <b>Office of Environment & Resilience</b></li>",
"target": [
"article[data-tags=\"environment transit\"] > .camp__meta > li:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"environment transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"environment transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Lead: <b>Heat Justice Working Group</b></li>",
"target": [
"article[data-tags=\"environment transit\"] > .camp__meta > li:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"environment transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"environment transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Next action: <b>Address collection, ongoing</b></li>",
"target": [
"article[data-tags=\"environment transit\"] > .camp__meta > li:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"environment transit\" data-reveal=\"\">",
"target": [
"article[data-tags=\"environment transit\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span><b>2,760</b> addresses logged for shade audit</span>",
"target": [
"article[data-tags=\"environment transit\"] > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"camp__code\">CF-2026-L05</span>",
"target": [
"article[data-tags=\"democracy care\"] > .camp__top > .camp__code"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Decision: <b>County Administrator\u2019s office</b></li>",
"target": [
"article[data-tags=\"democracy care\"] > .camp__meta > li:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Lead: <b>Multilingual Organizing Committee</b></li>",
"target": [
"article[data-tags=\"democracy care\"] > .camp__meta > li:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<article class=\"camp is-in\" data-tags=\"democracy care\" data-reveal=\"\">",
"target": [
"article[data-tags=\"democracy care\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span><b>660</b> of 2,000 affected-resident accounts</span>",
"target": [
"b > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "normal",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Six live campaigns \u00b7 each with a decision-maker, a deadline, and a defined ask</p>",
"target": [
"#campaigns > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">A member collective, not a service provider \u00b7 Harborview, est. 2011</p>",
"target": [
"#about > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"figcap\">The Foundry Street table, where the collective meets every other Sunday. Membership is open to any resident of Wards 4\u201311.</div>",
"target": [
".is-in[data-reveal=\"\"]:nth-child(1) > .figcap"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Tenant Power \u00b7 Ward 7</span>",
"target": [
".team > figure:nth-child(1) > figcaption > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Transit & Streets</span>",
"target": [
".team > figure:nth-child(2) > figcaption > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Language Access</span>",
"target": [
".team > figure:nth-child(3) > figcaption > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Research & Data</span>",
"target": [
".team > figure:nth-child(4) > figcaption > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Care Workers Caucus</span>",
"target": [
"figure:nth-child(5) > figcaption > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "8.3pt (11px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"sec-num\">\u00a7 04</span>",
"target": [
"#resources > .sec-head.is-in[data-reveal=\"\"] > .sec-num"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Free to any neighbor \u00b7 no email wall \u00b7 reprint with attribution</p>",
"target": [
"#resources > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<label class=\"res-search is-in\" data-reveal=\"\">",
"target": [
"label"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Search</span>",
"target": [
"label > span:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>84 pp</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(1) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(1) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Housing</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES \u00b7 VI \u00b7 HT</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Updated Nov 2025</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">12,430 downloads</span>",
"target": [
".tags > .tag:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>DOCX</b><span>4 pp</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(2) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>DOCX</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(2) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Democracy</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Fill-in-the-blank</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Updated Sep 2025</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>6 pp</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(3) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(3) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Housing</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Legal</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES \u00b7 HT</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card story is-in\" data-reveal=\"\">",
"target": [
".story"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<cite>\u2014 K. Doucet, Ward 5 \u00b7 kept housed, 6 years</cite>",
"target": [
"cite"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>ZIP</b><span>kit</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(4) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>ZIP</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(4) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Organizing</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Editable files</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">28 mb</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>CSV</b><span>+ maps</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(5) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>CSV</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(5) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Transit</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Open license CC-BY</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Updated Oct 2025</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>32 pp</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(6) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(6) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Leadership</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 VI</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Training companion</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>19 pp</span></div>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(7) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(7) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Care</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Legal</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES</span>",
"target": [
".res-item.is-in[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card is-in\" data-reveal=\"\">",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>One-on-ones held</span>",
"target": [
".snapshot > div:nth-child(1) > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card is-in\" data-reveal=\"\">",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>House meetings</span>",
"target": [
".snapshot > div:nth-child(2) > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card is-in\" data-reveal=\"\">",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Doors knocked</span>",
"target": [
".snapshot > div:nth-child(3) > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card is-in\" data-reveal=\"\">",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>New members</span>",
"target": [
".snapshot > div:nth-child(4) > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card is-in\" data-reveal=\"\">",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Dues coverage of operating budget</span>",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(3) > .meter > .meter__row > span"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#e3a72c",
"bgColor": "#2c5344",
"contrastRatio": 4.04,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"side-card is-in\" data-reveal=\"\" style=\"background:var(--moss);color:#f2f7f4;border-color:var(--moss)\">",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.04 (foreground color: #e3a72c, background color: #2c5344, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<h4 style=\"color:var(--gold)\">Bring us to your block</h4>",
"target": [
".side-card.is-in[data-reveal=\"\"]:nth-child(4) > h4"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.04 (foreground color: #e3a72c, background color: #2c5344, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Three questions \u00b7 three real placements \u00b7 no signup wall</p>",
"target": [
"#involved > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "9.3pt (12.4px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<button class=\"opt\" data-q=\"time\" data-v=\"monthly\" aria-pressed=\"false\"><span class=\"k\">A</span><span><span class=\"lab\">A few hours a month</span><span class=\"sub\">Evenings or a slow Sunday</span></span></button>",
"target": [
"button[data-v=\"monthly\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"sub\">Evenings or a slow Sunday</span>",
"target": [
"button[data-v=\"monthly\"] > span:nth-child(2) > .sub"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "9.3pt (12.4px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<button class=\"opt\" data-q=\"time\" data-v=\"weekly\" aria-pressed=\"false\"><span class=\"k\">B</span><span><span class=\"lab\">One shift a week</span><span class=\"sub\">A regular, protected slot</span></span></button>",
"target": [
"button[data-v=\"weekly\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"sub\">A regular, protected slot</span>",
"target": [
"button[data-v=\"weekly\"] > span:nth-child(2) > .sub"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "9.3pt (12.4px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<button class=\"opt\" data-q=\"time\" data-v=\"surge\" aria-pressed=\"false\"><span class=\"k\">C</span><span><span class=\"lab\">Flexible \u2014 call me on action nights</span><span class=\"sub\">I show up when it\u2019s urgent</span></span></button>",
"target": [
"button[data-v=\"surge\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"sub\">I show up when it\u2019s urgent</span>",
"target": [
"button[data-v=\"surge\"] > span:nth-child(2) > .sub"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "9.3pt (12.4px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<button class=\"opt\" data-q=\"time\" data-v=\"skills\" aria-pressed=\"false\"><span class=\"k\">D</span><span><span class=\"lab\">I have a specific skill to lend</span><span class=\"sub\">Pro bono hours, project-based</span></span></button>",
"target": [
"button[data-v=\"skills\"]"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"sub\">Pro bono hours, project-based</span>",
"target": [
"button[data-v=\"skills\"] > span:nth-child(2) > .sub"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 9.3pt (12.4px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"coordinator\">",
"target": [
".coordinator"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"rl\">Volunteer coordinator \u00b7 Mon\u2013Thu, 10\u20136</div>",
"target": [
".coordinator > div > .rl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Every event lists access details \u00b7 childcare on request \u00b7 walk-ins welcome</p>",
"target": [
"#events > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">10</div><div class=\"w\">Sat</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"] > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sat</div>",
"target": [
".ev.is-in[data-reveal=\"\"] > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">10:00 a.m.\u20132:00 p.m. \u00b7 Ninth Ward Branch Library, Room B</div>",
"target": [
".ev.is-in[data-reveal=\"\"] > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Step-free</span>",
"target": [
".ev.is-in[data-reveal=\"\"] > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ES \u00b7 VI interpretation</span>",
"target": [
".ev.is-in[data-reveal=\"\"] > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Childcare</span>",
"target": [
".ev.is-in[data-reveal=\"\"] > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Walk-ins</span>",
"target": [
".ev.is-in[data-reveal=\"\"] > div:nth-child(2) > .ev__access > .tag:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">23 of 60 23</span>",
"target": [
".ev.is-in[data-reveal=\"\"] > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">10</div><div class=\"w\">Sat</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sat</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">10:00 a.m.\u20132:00 p.m. \u00b7 Ninth Ward Branch Library, Room B</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Step-free</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ES \u00b7 VI interpretation</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Childcare</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Walk-ins</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">23 of 60 23</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">15</div><div class=\"w\">Thu</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Thu</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">6:30\u20139:00 p.m. \u00b7 Common Front Hall, 419 Foundry St.</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ASL</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Hot meal</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Childcare (12 spots)</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Live transcript</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">104 of 140 104</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">20</div><div class=\"w\">Tue</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Tue</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">7:00\u20138:30 p.m. \u00b7 Hybrid \u2014 Delano Annex & online</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Recording provided</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Captioned</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">41 of 45 41</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">24</div><div class=\"w\">Sat</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sat</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">9:00 a.m. \u00b7 Depot Plaza, north entrance</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Outdoor</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Step-free boarding</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Bilingual marshals</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">188 of 250 188</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Feb</div><div class=\"d\">01</div><div class=\"w\">Sun</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sun</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">1:00\u20135:00 p.m. \u00b7 Mercer Rec Center, gymnasium</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Voting accessible</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ES \u00b7 VI \u00b7 HT ballots</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Stroller parking</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">Open house \u00b7 no capacity</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Feb</div><div class=\"d\">04</div><div class=\"w\">Tue</div></div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Tue</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">6:00\u20137:30 p.m. \u00b7 Online</div>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Online</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Captioned</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Make-up session offered</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">17 of 80 17</span>",
"target": [
".ev.is-in[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "8.3pt (11px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
".band:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"sec-num\">\u00a7 07</span>",
"target": [
".band:nth-child(6) > .sec-head.is-in[data-reveal=\"\"] > .sec-num"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
".band:nth-child(6)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Sent from the canvass \u00b7 pinned to the hall wall, photographed Mondays</p>",
"target": [
".band:nth-child(6) > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Ward 5 \u00b7 Marcy</span>",
"target": [
".pc:nth-child(1) > .stamp > span:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Sep 14</span>",
"target": [
".pc:nth-child(1) > .stamp > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Foundry Hall</span>",
"target": [
".pc:nth-child(2) > .stamp > span:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Oct 02</span>",
"target": [
".pc:nth-child(2) > .stamp > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Route 12</span>",
"target": [
".pc:nth-child(3) > .stamp > span:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Oct 19</span>",
"target": [
".pc:nth-child(3) > .stamp > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Council chambers</span>",
"target": [
".pc:nth-child(4) > .stamp > span:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Nov 06</span>",
"target": [
".pc:nth-child(4) > .stamp > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(5)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Ward 6 \u00b7 Depot lot</span>",
"target": [
".pc:nth-child(5) > .stamp > span:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"pc is-in\" data-reveal=\"\" tabindex=\"0\">",
"target": [
".pc:nth-child(5)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span>Nov 22</span>",
"target": [
".pc:nth-child(5) > .stamp > span:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Unedited \u00b7 collected at quarterly review \u00b7 published with consent</p>",
"target": [
"#voices > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"voice is-in\" data-reveal=\"\">",
"target": [
".voice:nth-child(1)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"rl\">Member since 2022 \u00b7 Ward 8</div>",
"target": [
".voice:nth-child(1) > figcaption > div > .rl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"voice is-in\" data-reveal=\"\">",
"target": [
".voice:nth-child(2)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"rl\">Language access volunteer \u00b7 Ward 4</div>",
"target": [
".voice:nth-child(2) > figcaption > div > .rl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#8a8987",
"bgColor": "#fbf7ef",
"contrastRatio": 3.27,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"voice is-in\" data-reveal=\"\">",
"target": [
".voice:nth-child(3)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"rl\">Building steward \u00b7 Delano</div>",
"target": [
".voice:nth-child(3) > figcaption > div > .rl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.27 (foreground color: #8a8987, background color: #fbf7ef, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "7.1pt (9.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<figure class=\"voice is-in\" data-reveal=\"\">",
"target": [
".voice:nth-child(4)"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"rl\">Delegate \u00b7 Ward 11</div>",
"target": [
".voice:nth-child(4) > figcaption > div > .rl"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 7.1pt (9.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<p class=\"sec-kicker\">Still unclear? A human answers the line within one business day</p>",
"target": [
"#faq > .sec-head.is-in[data-reveal=\"\"] > .sec-kicker"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>84 pp</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(1) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(1) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Housing</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES \u00b7 VI \u00b7 HT</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Updated Nov 2025</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>DOCX</b><span>4 pp</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(2) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>DOCX</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(2) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Democracy</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Fill-in-the-blank</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Updated Sep 2025</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>6 pp</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(3) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(3) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Housing</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Legal</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES \u00b7 HT</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>ZIP</b><span>kit</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(4) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>ZIP</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(4) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Organizing</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Editable files</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">28 mb</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>CSV</b><span>+ maps</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(5) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>CSV</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(5) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Transit</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Open license CC-BY</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Updated Oct 2025</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>32 pp</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(6) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(6) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Leadership</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 VI</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Training companion</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#bd3f21",
"bgColor": "#eae0cf",
"contrastRatio": 4.12,
"fontSize": "9.0pt (12px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"doctype\"><b>PDF</b><span>19 pp</span></div>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(7) > .doctype"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<b>PDF</b>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(7) > .doctype > b"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 4.12 (foreground color: #bd3f21, background color: #eae0cf, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Care</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > .tags > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Legal</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > .tags > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#827e77",
"bgColor": "#eae0cf",
"contrastRatio": 3.08,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<section class=\"band wrap\" id=\"resources\" style=\"background:var(--paper-2);border-block:1.5px solid var(--ink)\">",
"target": [
"#resources"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES</span>",
"target": [
".res-item[data-reveal=\"\"]:nth-child(7) > div:nth-child(2) > .tags > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.08 (foreground color: #827e77, background color: #eae0cf, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">10</div><div class=\"w\">Sat</div></div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sat</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">10:00 a.m.\u20132:00 p.m. \u00b7 Ninth Ward Branch Library, Room B</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Step-free</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ES \u00b7 VI interpretation</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Childcare</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Walk-ins</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .ev__access > .tag:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">23 of 60 23</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(1) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">15</div><div class=\"w\">Thu</div></div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Thu</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">6:30\u20139:00 p.m. \u00b7 Common Front Hall, 419 Foundry St.</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ASL</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Hot meal</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Childcare (12 spots)</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Live transcript</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .ev__access > .tag:nth-child(4)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">104 of 140 104</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(2) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">20</div><div class=\"w\">Tue</div></div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Tue</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">7:00\u20138:30 p.m. \u00b7 Hybrid \u2014 Delano Annex & online</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Recording provided</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Captioned</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">EN \u00b7 ES</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">41 of 45 41</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(3) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Jan</div><div class=\"d\">24</div><div class=\"w\">Sat</div></div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sat</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">9:00 a.m. \u00b7 Depot Plaza, north entrance</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Outdoor</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Step-free boarding</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Bilingual marshals</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">188 of 250 188</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(4) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Feb</div><div class=\"d\">01</div><div class=\"w\">Sun</div></div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Sun</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">1:00\u20135:00 p.m. \u00b7 Mercer Rec Center, gymnasium</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Voting accessible</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">ES \u00b7 VI \u00b7 HT ballots</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Stroller parking</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">Open house \u00b7 no capacity</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(5) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.4pt (8.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<div class=\"ev__date\"><div class=\"m\">Feb</div><div class=\"d\">04</div><div class=\"w\">Tue</div></div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > .ev__date"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"w\">Tue</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > .ev__date > .w"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.4pt (8.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.9pt (10.5px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<div class=\"where\">6:00\u20137:30 p.m. \u00b7 Online</div>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .where"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.9pt (10.5px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Online</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .ev__access > .tag:nth-child(1)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Captioned</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .ev__access > .tag:nth-child(2)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "6.8pt (9px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"tag\">Make-up session offered</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .ev__access > .tag:nth-child(3)"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 6.8pt (9px), font weight: bold). Expected contrast ratio of 4.5:1"
},
{
"any": [
{
"id": "color-contrast",
"data": {
"fgColor": "#868480",
"bgColor": "#f3ece0",
"contrastRatio": 3.17,
"fontSize": "7.5pt (10px)",
"fontWeight": "bold",
"messageKey": null,
"expectedContrastRatio": "4.5:1",
"shadowColor": null
},
"relatedNodes": [
{
"html": "<body>",
"target": [
"body"
]
}
],
"impact": "serious",
"message": "Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<span class=\"js-seats-txt\">17 of 80 17</span>",
"target": [
".ev[data-reveal=\"\"]:nth-child(6) > div:nth-child(2) > .seats > .js-seats-txt"
],
"failureSummary": "Fix any of the following:\n Element has insufficient color contrast of 3.17 (foreground color: #868480, background color: #f3ece0, font size: 7.5pt (10px), font weight: bold). Expected contrast ratio of 4.5:1"
}
]
},
{
"id": "list",
"impact": "serious",
"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": {
"values": "b"
},
"relatedNodes": [
{
"html": "<b>\n <li>Next action: <b>Translator training, Feb 9</b></li>\n </b>",
"target": [
".camp__meta > b"
]
}
],
"impact": "serious",
"message": "List element has direct children that are not allowed: b"
}
],
"impact": "serious",
"html": "<ul class=\"camp__meta\">\n <li>Decision: <b>County Administrator\u2019s office</b></li>\n <li>Lead: <b>Multilingual Organizing Committee</b></li><b>\n <li>Next action: <b>Translator training, Feb 9</b></li>\n </b></ul>",
"target": [
"article[data-tags=\"democracy care\"] > .camp__meta"
],
"failureSummary": "Fix all of the following:\n List element has direct children that are not allowed: b"
}
]
},
{
"id": "listitem",
"impact": "serious",
"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 does not have a <ul>, <ol> parent element"
}
],
"all": [],
"none": [],
"impact": "serious",
"html": "<li>Next action: <b>Translator training, Feb 9</b></li>",
"target": [
"b > li"
],
"failureSummary": "Fix any of the following:\n List item does not have a <ul>, <ol> parent element"
}
]
}
],
"coverage": {
"contract": "main-document-vertical-scroll",
"complete": true,
"positions": [
{
"y": 0,
"height": 16955
},
{
"y": 552,
"height": 16931
},
{
"y": 1128,
"height": 16931
},
{
"y": 1704,
"height": 16931
},
{
"y": 2280,
"height": 16931
},
{
"y": 2856,
"height": 16931
},
{
"y": 3432,
"height": 16931
},
{
"y": 4008,
"height": 16931
},
{
"y": 4584,
"height": 16931
},
{
"y": 5160,
"height": 16931
},
{
"y": 5736,
"height": 16931
},
{
"y": 6312,
"height": 16931
},
{
"y": 6888,
"height": 16931
},
{
"y": 7464,
"height": 16931
},
{
"y": 8040,
"height": 16931
},
{
"y": 8616,
"height": 16931
},
{
"y": 9192,
"height": 16931
},
{
"y": 9768,
"height": 16931
},
{
"y": 10344,
"height": 16931
},
{
"y": 10920,
"height": 16931
},
{
"y": 11496,
"height": 16931
},
{
"y": 12072,
"height": 16931
},
{
"y": 12648,
"height": 16931
},
{
"y": 13224,
"height": 16931
},
{
"y": 13800,
"height": 16931
},
{
"y": 14376,
"height": 16931
},
{
"y": 14952,
"height": 16931
},
{
"y": 15528,
"height": 16931
},
{
"y": 16104,
"height": 16931
},
{
"y": 16211,
"height": 16931
}
],
"scans": 31,
"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 "Society" 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: "Society"
- Description: Social issues, advocacy, cultural organizations, and community initiatives.
**Your Creative Task:**
1. **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Society" 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: "About", "Resources", "Events".
- **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
- Address key topics relevant to the "Society" category. Consider themes similar to: "Advocacy Actions", "Resource Center", "Campaign Updates".
- **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "advocacy", "community organizing", "inclusion".
- **Visuals:** Integrate relevant placeholder images logically within the content sections.
- **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Learn More", "Sign Petition", "Contact Rep".
- **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Society" sector. Ideas similar but not limited to: "volunteer matcher".
- **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "success stories", "breaking news", "community impact".
- **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.