SVG-Barrierefreiheit: title, desc und Struktur validieren ohne Optimierung zu brechen

SVG-Barrierefreiheit: title, desc und Struktur validieren ohne Optimierung zu brechen

Dekorative vs. informative Icons: WCAG-Regeln, title/desc-Tags und Online-Validierung, ohne die SVG-Optimierung zu brechen.

23.07.2026
9 Min. Lektüre
Teilen Sie diesen Artikel:
SVGaccessibilitya11ywcagvalidationAnleitung

Warum SVG-Barrierefreiheit vor der Optimierung zählt

Ein um 60 % verkleinertes SVG nützt nichts, wenn ein Screenreader „Bild“ ohne Kontext ansagt oder ein dekoratives Icon die Sprachsteuerung stört. WCAG unterscheidet dekorative SVG, die assistiven Technologien verborgen bleiben, von informativen SVG, die einen Titel oder eine Beschreibung brauchen. Der Online-SVG-Validator von FastMinify prüft die Syntax, das Vorhandensein von viewBox und fehlende <title> / <desc>, mit Hinweisen und nicht als vollständiges WCAG-Audit. Alles läuft im Browser im SVG-Tools-Hub, vor oder nach optimize SVG. Zum Kontext der SVGO-Voreinstellungen siehe SVGO-Presets erklärt.

Klare Unterscheidung dekorativ vs. informativ (WCAG 1.1.1)
Validierung von Syntax, viewBox und title/desc beim Tippen
Hinweise statt Urteile, damit kein falsches Gefühl von Vollkonformität entsteht
Kompatibel mit optimize-svg (title/desc bei Presets erhalten)
100 % lokale Verarbeitung, nützlich vor der Übergabe an ein Design-System

Konkrete Beispiele mit UI-Icons und Inline-SVG

Button-Icon mit Label (dekorativ)

Ein Button „Löschen“ mit Papierkorb-SVG links vom Text: Das SVG erhält aria-hidden="true" und kein title. validate-svg zeigt eine Warnung zu title/desc, das ist zu erwarten. Die Barrierefreiheit liegt im Button-Text, nicht im Icon.

Vor der Optimierung

Dateigröße
SVG mit Figma-title (~2,1 KB)

Nach der Optimierung

Dateigröße
aria-hidden + optimize default (~0,9 KB)
Alleinstehender Status ohne Text (informativ)

Ein Erfolgs- oder Fehler-Badge, das nur als SVG vorliegt, braucht <title>Erfolg</title> oder ein ausdrückliches aria-label an der Komponente. validate-svg bestätigt, dass Text vorhanden ist. Testen Sie danach mit Tastatur und Screenreader.

Best Practices für WCAG, Optimize und Design System

Checkliste vor der Produktion

Binden Sie validate-svg in die Asset-Prüfung ein, besonders bei Icons von Designern ohne Tests mit assistiven Technologien.

Jedes Icon klassifizieren: dekorativ oder informativ (Design-System-Doku)
validate-svg: Syntax + viewBox + title/desc wenn informativ
Screenreader-Test an 2–3 repräsentativen Icons
optimize ausführen, dann erneut validieren, an einem informativen Beispiel
Quell-SVG mit a11y-Metadaten versionieren
Fallstricke nach SVGO oder JSX-Konvertierung

Die Voreinstellungen default und aggressive führen cleanupIds aus, das IDs entfernen oder kürzen kann. Prüfen Sie daher, ob die von aria-labelledby genutzte ID erhalten bleibt (safe lässt IDs unangetastet). aggressive fasst zusätzlich Pfade zusammen, vergleichen Sie also immer visuell. svg-to-jsx behält das Markup, prüfen Sie aber, dass title/desc in der React-Komponente die ersten Kinder von <svg> bleiben.

Den title nicht „zum Verschlanken“ entfernen, optimize spart schon an anderer Stelle
aria-hidden mit title: Der title wird von assistiven Technologien ignoriert, das ist unproblematisch
Gleicher title auf 50 Icons: kontextuelles aria-label bevorzugen
Inline-SVG in HTML: minify-html ersetzt validate-svg nicht
SVG-Hub, um Validierung, Optimierung und JSX-Konvertierung zu verketten
Grenzen des Browser-Validators

FastMinify validate-svg ist ein strukturelles Sicherheitsnetz, kein Ersatz für ein vollständiges Seiten-Audit. Kontrast, Tastaturfokus, Tab-Reihenfolge und lange Alternativen bleiben Ihre Verantwortung oder die dedizierter Tools.

Warnings ≠ automatisches WCAG-Versagen
Dekorativ ohne title: akzeptable Warning bei aria-hidden
Das Werkzeug erkennt aria-hidden nicht
Mit Nutzertests oder axe/WAVE ergänzen
Entscheidung dekorativ/informativ im PR dokumentieren

Wann das Browser-Tool reicht

Häufige Szenarien

Kein svgo-cli oder schwerer a11y-Linter nötig, um einen Figma-Export vor dem Merge zu prüfen.

Design-System-PR: Icons einzeln einfügen
Ein Inline-SVG debuggen, das den XML-Parser scheitern lässt
viewBox-Check vor responsive Layout oder resize-svg
title/desc-Check vor svg-to-jsx
Designer zu title vs. aria-hidden schulen

Mit CI und AT-Audits ergänzen

Was der Browser nicht ersetzt

Automatisierte Seitentests (Pa11y, axe-core in der CI, Lighthouse Accessibility) decken das gerenderte DOM ab, über die SVG-Quelldatei hinaus. Behalten Sie validate-svg vorgelagert bei den Assets und ergänzen Sie E2E-Tests mit Screenreadern für kritische Abläufe.

CI: svgo + visueller Snapshot im icons/-Ordner
Storybook-a11y-Addon auf Icon-Komponenten
eslint-plugin-jsx-a11y für aria-hidden / aria-label
Vierteljährliches WCAG-AA-Audit auf Templates
Kein Stapelmodus für validate-svg auf FastMinify: ein Icon nach dem anderen
Optimize und Validierung angleichen

Verwenden Sie dieselbe SVGO-Voreinstellung in der Browser-Vorschau und in der CI. Prüfen Sie nach dem Schritt optimize der Pipeline eine Stichprobe von Hand mit validate-svg. Siehe SVGO-Presets und den SVG-Optimierungsleitfaden.

Voreinstellung safe oder default für Assets mit title/desc
Nach aggressive bei informativen Icons erneut validieren
a11y-Richtlinie des Design-Systems dokumentieren
Link zum SVG-zu-React-Artikel für Komponenten
SVG-Hub als Team-Tool-Referenz

Ergänzende Tools

Validator für die Struktur oder vollständiges Audit

FastMinify validate-svg zielt auf SVG-Quell-Markup. Andere Tools decken gerenderte Seiten oder breitere Standards ab.

FastMinify validate-svg

XML-Syntax, viewBox, title/desc: im Browser, ohne Konto.

Vorteile:
Rückmeldung beim Bearbeiten
Integrierte SVG-Stats
Lokale, private Verarbeitung
Nachteile:
Kein vollständiges WCAG-Seiten-Audit
Keine Screenreader-Simulation

axe DevTools / WAVE

Browser-Erweiterungen für DOM-Barrierefreiheits-Audit.

Vorteile:
Kontrast, ARIA, Landmarks
Seitenorientierter WCAG-Bericht
Nachteile:
Weniger direkt bei isolierten .svg-Dateien
Falschmeldungen bei komplexem Inline-SVG

SVGO + manuelle Validierung

Klassische CLI-Pipeline ohne validate-svg.

Vorteile:
Batch über hunderte Icons
Versionierte svgo.config.js
Nachteile:
Standardmäßig keine Warnung zu title/desc
Node-Installation nötig

Dekorative und informative SVG, die Grundlagen

Wenn das SVG dekorativ ist

Ein Icon neben sichtbarem Text („Speichern“, „Schließen“) liefert keine Zusatzinformation, es ist rein visuell. Gute Praxis für Barrierefreiheit ist, es für Screenreader mit aria-hidden="true" auf <svg> oder mit role="presentation" auszublenden. Dann sind <title> und <desc> unnötig, sogar kontraproduktiv, wenn sie den angrenzenden Text wiederholen.

Icon + sichtbarer Text → aria-hidden auf SVG
Kein title/desc nötig, wenn Bedeutung bereits im DOM
validate-svg kann fehlende title und desc melden, bei dekorativen SVG ist das normal
Fehlendes title nicht mit einem kaputten SVG verwechseln
Mit VoiceOver / NVDA testen: Icon darf nicht vorgelesen werden
Wenn das SVG informativ ist

Ein alleinstehendes Piktogramm (Fehlerstatus ohne Text, Inline-Diagramm, Logo-Link ohne Alternativtext) muss Bedeutung vermitteln. Zwei Möglichkeiten: <title> und optional <desc> als erste Kinder von <svg>, oder role="img" + aria-label / aria-labelledby auf dem SVG oder seinem React-Wrapper.

Kurzer title (Icon-Name); desc bei Bedarf für Details
Direkte Kinder von svg, in der von der Spezifikation empfohlenen Reihenfolge
aria-labelledby verweist auf die id des title
Datendiagramme: title + desc oder längere Textalternative
validate-svg warnt, wenn title und desc fehlen oder leer sind
Was validate-svg prüft (und was nicht)

Das Werkzeug liest das XML ein, verlangt ein <svg>-Wurzelelement, meldet ein fehlendes viewBox als Warnung und warnt, wenn weder <title> noch <desc> Text enthält. Das sind grundlegende Strukturprüfungen, keine Screenreader-Simulation, keine Kontrastprüfung und keine komplexe ARIA-Validierung. Für ein vollständiges Audit ergänzen Sie axe DevTools oder WAVE.

Fehler: fehlerhaftes XML, kein svg-Root, Eingabe zu groß
Warnungen: viewBox fehlt oder title und desc fehlen beide bzw. sind leer
Gültig mit Warnungen: Syntax in Ordnung, Fragen der Barrierefreiheit entscheiden Sie selbst
Statistik-Panel: Abmessungen, viewBox, Vorhandensein von title/desc
Kein Urteil „dekorativ oder informativ“: Sie entscheiden über die Behandlung

Ein Ablauf zum Validieren, Korrigieren und Optimieren

Zuerst einfügen und die Diagnose lesen

Öffnen Sie das validate-SVG-Tool, fügen Sie Markup ein oder laden Sie eine .svg-Datei. Fehler blockieren die Auslieferung (ungültiges XML), Warnungen laden dazu ein, je nach Anwendungsfall ein viewBox oder beschreibenden Text zu ergänzen.

Einfügen, Datei-Upload oder integriertes Beispiel
Ergebnisbereich: Fehler und Warnungen
Statistik: viewBox, title, desc, Größe
Manuell korrigiertes SVG kopieren oder herunterladen
Monaco-Editor für title/desc direkt bearbeiten
Danach title, desc und viewBox korrigieren

Für ein informatives Icon fügen Sie zum Beispiel <title>Fehler</title> direkt nach dem öffnenden <svg> ein. Fehlt viewBox trotz width und height, leiten Sie eines ab (viewBox="0 0 24 24") oder nutzen resize-svg im Hub. Der SVG-Beautifier hilft, die Struktur nach Änderungen zu lesen.

title: kurzes Label für Screenreader
desc: Zusatzkontext bei mehrdeutigem Icon
viewBox: nötig für responsives Skalieren, sonst gibt es eine Warnung
Dekorativ: aria-hidden statt eines Schein-title
Nach jeder Änderung neu validieren
Zum Schluss optimieren, ohne die Barrierefreiheit zu entfernen

Ist die Struktur validiert, nutzen Sie den SVGO-Optimierer (Voreinstellung safe oder default für UI-Icons). FastMinify erhält <title> und <desc> bei allen drei Voreinstellungen, prüfen Sie nach dem Optimieren daher erneut mit validate-svg. Der schnelle SVG-Minifier berührt nur Leerraum und Kommentare.

optimize safe/default: Icons mit title/desc
aggressive: fasst Pfade zusammen und rundet Koordinaten auf eine Nachkommastelle, vergleichen Sie also visuell
Ablauf: validate → optimize → validate
Artikel zu den SVGO-Voreinstellungen, um die richtige Stufe zu wählen
svg-to-jsx: prüfen, dass title/desc React-Konvertierung überstehen

Zusammenfassung

SVG-Barrierefreiheit beginnt mit einer klaren Entscheidung. Ein dekoratives Icon erhält aria-hidden und keinen title, ein informatives einen title, eine desc oder ein aria-label. validate-svg sichert Syntax und Struktur vor der SVGO-Optimierung, ohne ein vollständiges Audit zu ersetzen. Verketten Sie Validierung, Optimierung und erneute Validierung im SVG-Hub, um leichte Icons für alle auszuliefern.

Dekorativ vs. informativ klassifizieren, bevor title/desc-Warnings interpretiert werden
validate → optimize (safe/default) → validate bei informativen Icons
aria-hidden bei Icons mit redundantem sichtbarem Text
Mit Screenreader-Tests auf kritischen Flows ergänzen
SVG-Hub + SVGO-Presets-Artikel für die vollständige Kette
Teilen Sie diesen Artikel
Teilen Sie diesen Artikel: