Skip to content
Technical

Accessibilità SVG: Rendere la Grafica Vettoriale Inclusiva

Crea grafiche SVG accessibili che funzionino per tutti. Guida completa su ARIA, screen reader, gestione del focus e pratiche di design inclusivo.

Robin Monteiro23 gennaio 202610 ottobre 202613 min
Use this article with an AI assistant:
.md
Accessibilità SVG: Rendere la Grafica Vettoriale Inclusiva
R
Robin Monteiro

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

Image vectorizationCutting machine filesEmbroidery filesSVG
Free previewNo signupFull-quality output

Key Takeaways

  • Oltre 1 miliardo di persone nel mondo si affidano a tecnologie assistive — gli SVG accessibili sono sia un imperativo etico che legale
  • Usa aria-hidden="true" per gli SVG decorativi e role="img" con <title>/<desc> per quelli informativi
  • WCAG 2.1 richiede un contrasto di 3:1 per grafiche e componenti UI, e 4.5:1 per il testo negli SVG
  • Rispetta sempre prefers-reduced-motion disabilitando le animazioni SVG per gli utenti che lo richiedono
  • Testa con veri screen reader (NVDA, VoiceOver, TalkBack) — gli strumenti automatizzati rilevano solo ~30% dei problemi di accessibilità

Perché l'accessibilità SVG è importante

Oltre 1 miliardo di persone nel mondo convive con disabilità. Rendere le tue grafiche SVG accessibili garantisce che tutti possano comprendere e interagire con i tuoi contenuti. Spesso è anche un obbligo di legge.

Guida completa per rendere le grafiche SVG accessibili a tutti gli utenti
Accessibilità SVG: garantire che la grafica vettoriale funzioni per tutti, compresi gli utenti di screen reader

Fondamenti di accessibilità

Comprendere le tecnologie assistive

Come le persone accedono agli SVG:

  • Screen reader (NVDA, JAWS, VoiceOver)
  • Navigazione da tastiera
  • Dispositivi a interruttore
  • Lenti di ingrandimento
  • Controllo vocale

Linee guida WCAG per le immagini

Requisiti principali:

Requisiti WCAG 2.1:
- I contenuti non testuali necessitano di alternative
- Il colore non deve essere l'unico mezzo per trasmettere info
- Contrasto cromatico sufficiente
- Ridimensionabile senza perdite
- Elementi attivabili accessibili da tastiera

Pattern di accessibilità SVG

SVG decorativi

Per elementi puramente visivi:

html
<svg aria-hidden="true" focusable="false">
  <!-- grafica decorativa -->
</svg>

Quando usarli:

  • Motivi di sfondo
  • Abbellimenti visivi
  • Icone ridondanti con testo
  • Elementi puramente estetici

SVG informativi

Per grafiche significative:

html
<svg role="img" aria-labelledby="chart-title">
  <title id="chart-title">Crescita vendite 2025</title>
  <!-- contenuto del grafico -->
</svg>

Quando usarli:

  • Grafici e diagrammi
  • Schemi
  • Infografiche
  • Icone autonome

SVG complessi

Per informazioni dettagliate:

html
<svg role="img" aria-labelledby="title desc">
  <title id="title">Organigramma</title>
  <desc id="desc">
    Struttura gerarchica con il CEO in cima,
    tre VP subordinati, ciascuno con team.
  </desc>
  <!-- diagramma complesso -->
</svg>

Pro Tip: Per visualizzazioni di dati complesse (grafici, mappe), fornisci sempre una <table> nascosta come alternativa all'SVG. Gli screen reader analizzano le tabelle molto più efficacemente dei dati dei percorsi SVG.


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 Deal

Attributi ARIA per SVG

Attributi essenziali

html
<!-- Definizione del ruolo -->
role="img"           <!-- immagine statica -->
role="graphics-document"  <!-- interattivo complesso -->

<!-- Etichette -->
aria-label="..."     <!-- descrizione semplice -->
aria-labelledby="..." <!-- riferimento a elemento titolo -->
aria-describedby="..." <!-- descrizione dettagliata -->

<!-- Stati -->
aria-hidden="true"   <!-- nascondere da TA -->
focusable="false"    <!-- impedire il focus -->

Elementi Title e Desc

Accessibilità nativa SVG:

html
<svg role="img" aria-labelledby="icon-title icon-desc">
  <title id="icon-title">Avvertimento</title>
  <desc id="icon-desc">
    Triangolo giallo con punto esclamativo che indica cautela
  </desc>
  <path d="..."/>
</svg>

«L'accessibilità non è una funzionalità da aggiungere alla fine — è un vincolo di progettazione che migliora tutto. Un SVG accessibile è un SVG ben strutturato.» - Leonie Watson, Ingegnera dell'Accessibilità & Consiglio Consultivo W3C


Accessibilità degli SVG interattivi

Elementi attivabili

Rendi le parti interattive accessibili:

html
<svg>
  <a href="/section-1" tabindex="0">
    <rect x="0" y="0" width="100" height="50"/>
    <text>Sezione 1</text>
  </a>
</svg>

Indicatori di focus

Stati di focus visibili:

css
svg a:focus,
svg [tabindex]:focus {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

Assicura l'accesso da tastiera:

javascript
svgElement.addEventListener('keydown', (e) => {
  if (e.key === 'Enter' || e.key === ' ') {
    // Attivare l'elemento
  }
});

Accessibilità del colore

Requisiti di contrasto

Rapporti di contrasto WCAG:

Requisiti minimi:
Testo: 4.5:1 (normale), 3:1 (grande)
Grafiche: 3:1 rispetto allo sfondo
Componenti UI: 3:1

Testare il contrasto

Strumenti di verifica:

  • DevTools del browser
  • Verificatori di contrasto
  • Audit di accessibilità

Indipendenza dal colore

Non affidarti solo al colore:

html
<!-- Male: Solo colore -->
<circle fill="red"/>  <!-- Errore -->
<circle fill="green"/>  <!-- Successo -->

<!-- Bene: Pattern + Colore -->
<circle fill="red">
  <title>Errore</title>
</circle>
<use href="#checkmark" fill="green">
  <title>Successo</title>
</use>
Icone SVG con attributi di accessibilità appropriati per applicazioni web
Pattern di icone accessibili: uso SVG decorativo vs. informativo

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

Accessibilità delle icone

Pulsanti con icona

html
<button aria-label="Chiudi finestra di dialogo">
  <svg aria-hidden="true" focusable="false">
    <path d="..."/>
  </svg>
</button>

Icona con testo

html
<button>
  <svg aria-hidden="true"><!-- icona --></svg>
  Salva documento
</button>

Icone autonome

html
<svg role="img" aria-label="Notifica: 3 messaggi non letti">
  <circle cx="12" cy="12" r="10" fill="#ff0000"/>
  <text x="12" y="16" text-anchor="middle">3</text>
</svg>

Accessibilità delle animazioni

Rispettare le preferenze

css
@media (prefers-reduced-motion: reduce) {
  svg * {
    animation: none !important;
    transition: none !important;
  }
}

Controlli di pausa

html
<button id="toggle-animation">
  Metti in pausa l'animazione
</button>

<svg class="animated-svg">
  <!-- contenuto animato -->
</svg>

Il criterio di successo WCAG 2.1 2.3.1 richiede che nulla lampeggi più di 3 volte al secondo. Se le tue animazioni SVG includono cambi rapidi di colore o effetti stroboscopici, fornisci un controllo di pausa e rispetta prefers-reduced-motion.


Testare l'accessibilità SVG

Test manuali

Checklist:

  1. Navigare solo con la tastiera
  2. Testare con screen reader
  3. Verificare allo zoom 200%
  4. Verificare il contrasto dei colori
  5. Testare con gli utenti

Test automatizzati

Strumenti:

  • axe DevTools
  • WAVE
  • Lighthouse
  • Pa11y

Test con screen reader

Testare con:

  • NVDA (Windows, gratuito)
  • VoiceOver (Mac/iOS, integrato)
  • TalkBack (Android, integrato)
  • JAWS (Windows, commerciale)

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 Deal

Riferimento pattern comuni

html
<a href="/">
  <svg role="img" aria-label="Nome azienda - Home">
    <title>Logo aziendale</title>
    <!-- percorsi del logo -->
  </svg>
</a>

Visualizzazione dati

html
<svg role="img" aria-labelledby="chart-title">
  <title id="chart-title">Vendite mensili 2025</title>
  <desc>Grafico a barre con vendite in crescita
        da €10K a gennaio a €45K a dicembre</desc>

  <!-- Fornire tabella alternativa -->
</svg>
<table class="sr-only">
  <!-- tabella dati accessibile -->
</table>

Sistema di icone

html
<svg class="icon" aria-hidden="true" focusable="false">
  <use href="#icon-search"/>
</svg>
<span class="icon-label">Cerca</span>

VectoSolve e l'accessibilità

Output pulito per l'accessibilità

VectoSolve produce SVG puliti che sono:

  • Facili da arricchire con attributi di accessibilità
  • Ben strutturati per la modifica
  • Pronti per un'implementazione accessibile

Accessibilità post-conversione

Dopo la vettorizzazione:

  1. Aggiungere il ruolo appropriato
  2. Includere gli elementi title/desc
  3. Impostare gli attributi ARIA
  4. Testare con le tecnologie assistive

Conclusione

Gli SVG accessibili beneficiano tutti — sono più semantici, meglio strutturati e più facili da mantenere. Seguendo questi pattern e testando regolarmente, garantisci che le tue grafiche vettoriali siano veramente inclusive.

Crea SVG accessibili


Requisito WCAGImplementazione SVGImpatto
Alternative testuali (1.1.1)Elementi <title> e <desc>Gli screen reader annunciano lo scopo dell'immagine
Contrasto cromatico (1.4.11)Minimo 3:1 per grafiche UIVisibile per utenti ipovedenti
Accesso da tastiera (2.1.1)focusable=true + tabindexSVG interattivi raggiungibili da tastiera
Movimento ridotto (2.3.3)Media query prefers-reduced-motionFerma le animazioni per disturbi vestibolari

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

Fonti e letture aggiuntive

Tags:
accessibilità
SVG
ARIA
screen reader
design inclusivo
Share:

Try VectoSolve Now

Convert your images to high-quality SVG vectors with AI

AI-Powered Vectorization

Ready to vectorize your images?

Convert your PNG, JPG, and other images to high-quality, scalable SVG vectors in seconds.