Forbedre tilgjengelighet (WCAG 2.2 AA) på alle sider

- Øk kontrast på slider-labels fra 0.45 til 0.6 opasitet (1.4.3)
- Legg til :focus-visible-stiler på slidere, kort og lenker (2.4.7)
- Legg til skip-link «Hopp til hovedinnhold» på alle sider (2.4.1)
- Knytt form-labels til inputs med for-attributt (1.3.1)
- Legg til role="img" og aria-label på alle chart-canvas (4.1.2)
- Legg til aria-live="polite" på slider-verdivisninger (4.1.3)
- Merk dekorative elementer med aria-hidden="true" (1.3.1)
- Legg til @media (prefers-reduced-motion: reduce) (2.3.3)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Ole-Morten Duesund 2026-03-25 20:53:44 +01:00
commit c6b70e1e5d
9 changed files with 147 additions and 76 deletions

View file

@ -23,50 +23,51 @@
</script>
</head>
<body>
<a href="#main" class="skip-link">Hopp til hovedinnhold</a>
<header>
<p class="eyebrow">Samme sparebeløp. Ikke det samme resultatet.</p>
<h1>Rentes rente<br><em>forsterker</em></h1>
<p class="lead">Noen få prosentpoeng i avkastning ser ubetydelig ut — men over tid skaper de enorme forskjeller. Se hva rentes rente gjør med sparepengene dine.</p>
<div class="stamp">Penger lager penger</div>
<div class="stamp" aria-hidden="true">Penger lager penger</div>
</header>
<div class="small-diff-banner">
<span class="sd-icon"></span>
<span class="sd-icon" aria-hidden="true"></span>
<span>Med <strong id="banner-monthly">3 000 kr/mnd</strong> i <strong id="banner-aar">25</strong> år: bare <strong id="banner-pp">3</strong> prosentpoeng mer i avkastning gir over <strong id="banner-gap"></strong> ekstra.</span>
</div>
<main>
<main id="main">
<div class="controls-card">
<h2>Sjekk selv</h2>
<div class="controls-grid">
<div class="control-group">
<label>Månedlig sparebeløp</label>
<label for="monthly">Månedlig sparebeløp</label>
<div class="val-row">
<input type="range" id="monthly" min="1000" max="20000" step="500" value="3000">
<span class="val-display" id="monthly-out">3 000 kr</span>
<span class="val-display" aria-live="polite" id="monthly-out">3 000 kr</span>
</div>
</div>
<div class="control-group">
<label>Avkastning A (% per år)</label>
<label for="rateA">Avkastning A (% per år)</label>
<div class="val-row">
<input type="range" id="rateA" min="1" max="15" step="0.5" value="4">
<span class="val-display" id="rateA-out">4,0 %</span>
<span class="val-display" aria-live="polite" id="rateA-out">4,0 %</span>
</div>
</div>
<div class="control-group">
<label>Avkastning B (% per år)</label>
<label for="rateB">Avkastning B (% per år)</label>
<div class="val-row">
<input type="range" id="rateB" min="1" max="15" step="0.5" value="7">
<span class="val-display" id="rateB-out">7,0 %</span>
<span class="val-display" aria-live="polite" id="rateB-out">7,0 %</span>
</div>
</div>
<div class="control-group">
<label>Antall år</label>
<label for="yrs">Antall år</label>
<div class="val-row">
<input type="range" id="yrs" min="5" max="40" step="1" value="25">
<span class="val-display" id="yrs-out">25 år</span>
<span class="val-display" aria-live="polite" id="yrs-out">25 år</span>
</div>
</div>
</div>
@ -107,7 +108,7 @@
<span><span class="swatch" style="background:#c0392b;"></span>Konto B</span>
</div>
</div>
<div class="chart-wrap h-240"><canvas id="chart1"></canvas></div>
<div class="chart-wrap h-240"><canvas id="chart1" role="img" aria-label="Diagram: Formue over tid"></canvas></div>
</div>
<!-- Diagram 2: Forskjell i formue -->
@ -121,7 +122,7 @@
<span><span class="swatch" style="background:#4a3a8a;"></span>Gap</span>
</div>
</div>
<div class="chart-wrap h-200"><canvas id="chart2"></canvas></div>
<div class="chart-wrap h-200"><canvas id="chart2" role="img" aria-label="Diagram: Forskjell i formue"></canvas></div>
</div>
<div class="insight" id="insight"></div>
@ -139,7 +140,7 @@
<span><span class="swatch" style="background:rgba(192,57,43,0.35);"></span>Renter B</span>
</div>
</div>
<div class="chart-wrap h-240"><canvas id="chart3"></canvas></div>
<div class="chart-wrap h-240"><canvas id="chart3" role="img" aria-label="Diagram: Avkastning vs. innbetalt"></canvas></div>
</div>
<!-- Forklaring -->