SVG-toegankelijkheid: Vectorafbeeldingen Inclusief Maken
Maak toegankelijke SVG-afbeeldingen die voor iedereen werken. Complete gids over ARIA, schermlezers, focusbeheer en inclusieve designpraktijken.

Founder of VectoSolve
Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.
How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author
Key Takeaways
- Meer dan 1 miljard mensen wereldwijd zijn afhankelijk van ondersteunende technologieën — toegankelijke SVG's zijn zowel een ethische als juridische verplichting
-
Gebruik
aria-hidden="true"voor decoratieve SVG's enrole="img"met<title>/<desc>voor informatieve - WCAG 2.1 vereist een contrast van 3:1 voor grafische elementen en UI-componenten, en 4.5:1 voor tekst in SVG's
-
Respecteer altijd
prefers-reduced-motiondoor SVG-animaties uit te schakelen voor gebruikers die daarom vragen - Test met echte schermlezers (NVDA, VoiceOver, TalkBack) — geautomatiseerde tools vangen slechts ~30% van toegankelijkheidsproblemen op
Waarom SVG-toegankelijkheid belangrijk is
Meer dan 1 miljard mensen wereldwijd leven met een handicap. Toegankelijke SVG-afbeeldingen zorgen ervoor dat iedereen uw content kan begrijpen en ermee kan interacteren. Het is vaak ook een wettelijke vereiste.
Basisprincipes van toegankelijkheid
Ondersteunende technologieën begrijpen
Hoe mensen SVG's benaderen:
- Schermlezers (NVDA, JAWS, VoiceOver)
- Toetsenbordnavigatie
- Schakelaarapparaten
- Schermvergroters
- Spraakbesturing
WCAG-richtlijnen voor afbeeldingen
Kernvereisten:
WCAG 2.1 Vereisten:
- Niet-tekstuele content heeft alternatieven nodig
- Kleur niet als enig communicatiemiddel
- Voldoende kleurcontrast
- Schaalbaar zonder verlies
- Focusbare elementen via toetsenbord bereikbaar
SVG-toegankelijkheidspatronen
Decoratieve SVG's
Voor puur visuele elementen:
<svg aria-hidden="true" focusable="false">
<!-- decoratieve afbeelding -->
</svg>
Wanneer gebruiken:
- Achtergrondpatronen
- Visuele versieringen
- Redundante iconen bij tekst
- Puur esthetische elementen
Informatieve SVG's
Voor betekenisvolle afbeeldingen:
<svg role="img" aria-labelledby="chart-title">
<title id="chart-title">Omzetgroei 2025</title>
<!-- grafiekinhoud -->
</svg>
Wanneer gebruiken:
- Grafieken en diagrammen
- Schema's
- Infographics
- Zelfstandige iconen
Complexe SVG's
Voor gedetailleerde informatie:
<svg role="img" aria-labelledby="title desc">
<title id="title">Organigram</title>
<desc id="desc">
Hiërarchische structuur met de CEO bovenaan,
drie VP's eronder, elk met teams.
</desc>
<!-- complex diagram -->
</svg>
Pro Tip: Bied voor complexe datavisualisaties (grafieken, kaarten) altijd een verborgen <table>-alternatief naast de SVG. Schermlezers verwerken tabellen veel effectiever dan SVG-padgegevens.
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual DealARIA-attributen voor SVG
Essentiële attributen
<!-- Roldefinitie -->
role="img" <!-- statische afbeelding -->
role="graphics-document" <!-- complex interactief -->
<!-- Labels -->
aria-label="..." <!-- eenvoudige beschrijving -->
aria-labelledby="..." <!-- verwijzing naar titelelement -->
aria-describedby="..." <!-- gedetailleerde beschrijving -->
<!-- Statussen -->
aria-hidden="true" <!-- verbergen voor AT -->
focusable="false" <!-- focus voorkomen -->
Title- en Desc-elementen
Natieve SVG-toegankelijkheid:
<svg role="img" aria-labelledby="icon-title icon-desc">
<title id="icon-title">Waarschuwing</title>
<desc id="icon-desc">
Gele driehoek met uitroepteken ter waarschuwing
</desc>
<path d="..."/>
</svg>
„Toegankelijkheid is geen functie die je aan het eind toevoegt — het is een designbeperking die alles beter maakt. Een toegankelijke SVG is een goed gestructureerde SVG." - Leonie Watson, Toegankelijkheidsingenieur & W3C-Adviesraad
Toegankelijkheid van interactieve SVG's
Focusbare elementen
Maak interactieve delen toegankelijk:
<svg>
<a href="/section-1" tabindex="0">
<rect x="0" y="0" width="100" height="50"/>
<text>Sectie 1</text>
</a>
</svg>
Focusindicatoren
Zichtbare focusstatussen:
svg a:focus,
svg [tabindex]:focus {
outline: 2px solid #0066cc;
outline-offset: 2px;
}
Toetsenbordnavigatie
Zorg voor toetsenbordtoegang:
svgElement.addEventListener('keydown', (e) => {
if (e.key === 'Enter' || e.key === ' ') {
// Element activeren
}
});
Kleurtoegankelijkheid
Contrastvereisten
WCAG-contrastverhoudingen:
Minimumvereisten:
Tekst: 4.5:1 (normaal), 3:1 (groot)
Afbeeldingen: 3:1 tegen achtergrond
UI-componenten: 3:1
Contrast testen
Verificatietools:
- Browser DevTools
- Contrastcheckers
- Toegankelijkheidsaudits
Kleuronafhankelijkheid
Vertrouw niet alleen op kleur:
<!-- Fout: Alleen kleur -->
<circle fill="red"/> <!-- Fout -->
<circle fill="green"/> <!-- Succes -->
<!-- Goed: Patroon + Kleur -->
<circle fill="red">
<title>Fout</title>
</circle>
<use href="#checkmark" fill="green">
<title>Succes</title>
</use>
Free SVG Tools for Crafters
Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG
Check Your SVG FreeIcoontoegankelijkheid
Icoonknoppen
<button aria-label="Dialoogvenster sluiten">
<svg aria-hidden="true" focusable="false">
<path d="..."/>
</svg>
</button>
Icoon met tekst
<button>
<svg aria-hidden="true"><!-- icoon --></svg>
Document opslaan
</button>
Zelfstandige iconen
<svg role="img" aria-label="Melding: 3 ongelezen berichten">
<circle cx="12" cy="12" r="10" fill="#ff0000"/>
<text x="12" y="16" text-anchor="middle">3</text>
</svg>
Animatietoegankelijkheid
Voorkeuren respecteren
@media (prefers-reduced-motion: reduce) {
svg * {
animation: none !important;
transition: none !important;
}
}
Pauzebesturing
<button id="toggle-animation">
Animatie pauzeren
</button>
<svg class="animated-svg">
<!-- geanimeerde content -->
</svg>
WCAG 2.1 Succescriterium 2.3.1 vereist dat niets meer dan 3 keer per seconde knippert. Als uw SVG-animaties snelle kleurveranderingen of stroboscoopeffecten bevatten, bied dan een pauzebesturing en respecteer prefers-reduced-motion.
SVG-toegankelijkheid testen
Handmatige tests
Checklist:
- Alleen met toetsenbord navigeren
- Testen met schermlezer
- Controleren bij 200% zoom
- Kleurcontrast verifiëren
- Testen met gebruikers
Geautomatiseerde tests
Tools:
- axe DevTools
- WAVE
- Lighthouse
- Pa11y
Schermlezertests
Testen met:
- NVDA (Windows, gratis)
- VoiceOver (Mac/iOS, ingebouwd)
- TalkBack (Android, ingebouwd)
- JAWS (Windows, commercieel)
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual DealReferentie veelvoorkomende patronen
Logo
<a href="/">
<svg role="img" aria-label="Bedrijfsnaam - Home">
<title>Bedrijfslogo</title>
<!-- logopaden -->
</svg>
</a>
Datavisualisatie
<svg role="img" aria-labelledby="chart-title">
<title id="chart-title">Maandomzet 2025</title>
<desc>Staafdiagram met omzet stijgend van
€10K in januari naar €45K in december</desc>
<!-- Alternatieve tabel bieden -->
</svg>
<table class="sr-only">
<!-- toegankelijke datatabel -->
</table>
Icoonsysteem
<svg class="icon" aria-hidden="true" focusable="false">
<use href="#icon-search"/>
</svg>
<span class="icon-label">Zoeken</span>
VectoSolve en toegankelijkheid
Schone output voor toegankelijkheid
VectoSolve produceert schone SVG's die:
- Eenvoudig te verrijken zijn met toegankelijkheidsattributen
- Goed gestructureerd zijn voor aanpassing
- Klaar zijn voor toegankelijke implementatie
Toegankelijkheid na conversie
Na vectorisatie:
- Passende role toevoegen
- Title/desc-elementen opnemen
- ARIA-attributen instellen
- Testen met ondersteunende technologieën
Conclusie
Toegankelijke SVG's komen iedereen ten goede — ze zijn semantischer, beter gestructureerd en beter te onderhouden. Door deze patronen te volgen en regelmatig te testen, zorgt u ervoor dat uw vectorafbeeldingen werkelijk inclusief zijn.
| WCAG-vereiste | SVG-implementatie | Impact |
|---|---|---|
| Tekstalternatieven (1.1.1) | <title>- en <desc>-elementen | Schermlezers kondigen het doel van de afbeelding aan |
| Kleurcontrast (1.4.11) | Minimum 3:1 voor UI-grafiek | Zichtbaar voor slechtziende gebruikers |
| Toetsenbordtoegang (2.1.1) | focusable=true + tabindex | Interactieve SVG's bereikbaar via toetsenbord |
| Verminderde beweging (2.3.3) | Media query prefers-reduced-motion | Stopt animaties bij vestibulaire aandoeningen |
Free SVG Tools for Crafters
Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG
Check Your SVG FreeBronnen en verdere lectuur
- MDN Web Docs: SVG-toegankelijkheid — Uitgebreide referentie voor ARIA-rollen, titels en beschrijvingen in SVG
- W3C SVG 2-specificatie — Officiële toegankelijkheidsvereisten voor SVG-elementen en -attributen
- web.dev: Toegankelijkheid — Google-gidsen voor het bouwen van inclusieve, performante webervaringen
- Smashing Magazine: Toegankelijke SVG's — Praktische tutorials voor het schermlezer-vriendelijk maken van SVG-iconen en -illustraties