WCAG Checklist Essenziale per HTML: Rendi il Tuo Sito Accessibile a Tutti

Principiante
Best practices

Scopri la checklist WCAG fondamentale per l'HTML e impara a costruire siti web accessibili a tutti, inclusi gli utenti con disabilità. Una guida pratica per sviluppatori beginner.

Pubblicato
Tag
HTML Web Development Best practices seo Semantica Accessibilità WCAG inclusione

Il web è per tutti, o almeno dovrebbe esserlo. In un mondo sempre più connesso digitalmente, l'accessibilità web non è solo una best practice, ma un imperativo etico e spesso legale. Immagina un utente non vedente che non può navigare il tuo sito, o una persona con disabilità motorie che non riesce a compilare un modulo. Rendere un sito accessibile significa abbattere queste barriere, garantendo che chiunque, indipendentemente dalle proprie capacità, possa percepire, comprendere, navigare e interagire con i contenuti web.

Questo articolo è una guida completa e pratica per sviluppatori web beginner che vogliono integrare i principi delle Web Content Accessibility Guidelines (WCAG) direttamente nel loro codice HTML. Vedremo perché l'accessibilità è cruciale, quali sono i principi fondamentali delle WCAG e, soprattutto, ti forniremo una checklist essenziale di elementi e attributi HTML da considerare per rendere i tuoi progetti inclusivi fin dalle fondamenta.

Non si tratta solo di conformità, ma di empatia. Costruire un web accessibile significa creare un'esperienza migliore per tutti, migliorando la user experience generale, il SEO e la reputazione del tuo sito. Preparati a fare la differenza!

1. Perché l'Accessibilità Web è Cruciale?

L'accessibilità web è l'arte e la scienza di rendere i siti web utilizzabili da persone con la più ampia gamma di abilità e disabilità. Questo include disabilità visive (cecità, ipovisione, daltonismo), uditive (sordità, ipoacusia), motorie (difficoltà nell'uso del mouse o della tastiera) e cognitive (dislessia, ADHD, difficoltà di apprendimento).

1.1 Vantaggi dell'Accessibilità

  • Inclusione Sociale: Il motivo più importante. Garantisce che tutti abbiano pari opportunità di accedere alle informazioni e ai servizi online. Esclude meno persone dalla società digitale.
  • Conformità Legale: Molti paesi e regioni hanno leggi che impongono l'accessibilità per i siti web pubblici e, sempre più spesso, anche privati. Ignorare queste leggi può portare a sanzioni e azioni legali.
  • Miglioramento della User Experience (UX): Un sito accessibile è spesso un sito ben progettato, intuitivo e facile da usare per chiunque. Le pratiche di accessibilità migliorano la navigazione, la leggibilità e la chiarezza generale per tutti gli utenti.
  • Ottimizzazione per i Motori di Ricerca (SEO): Molte pratiche di accessibilità (come l'uso di testo alternativo per le immagini, una struttura semantica chiara, titoli descrittivi) coincidono con le best practice SEO. I motori di ricerca "vedono" il tuo sito in modo simile a come lo farebbe un assistive technology, premiando i contenuti ben strutturati e descritti.
  • Reputazione e Immagine del Brand: Dimostra un impegno verso la responsabilità sociale e un'attenzione verso tutti i clienti, migliorando l'immagine pubblica del tuo brand o della tua azienda.
  • Mercato Potenziale: Le persone con disabilità rappresentano una fetta significativa della popolazione mondiale. Rendere il tuo sito accessibile significa ampliare il tuo pubblico e il tuo potenziale bacino di utenti o clienti.

2. Comprendere le WCAG: Principi Fondamentali (POUR)

Le Web Content Accessibility Guidelines (WCAG) sono uno standard internazionale sviluppato dal World Wide Web Consortium (W3C) per l'accessibilità dei contenuti web. Sono organizzate attorno a quattro principi fondamentali, spesso ricordati con l'acronimo POUR:

2.1 Perceivable (Percepibile)

Le informazioni e i componenti dell'interfaccia utente devono essere presentabili agli utenti in modi che essi possano percepire. Ciò significa che il contenuto non può essere invisibile a tutti i loro sensi. Ad esempio:

  • Fornire alternative testuali per contenuti non testuali (es. alt text per immagini).
  • Fornire alternative per contenuti multimediali basati sul tempo (es. sottotitoli per video).
  • Creare contenuti che possano essere presentati in modi diversi (es. layout più semplice) senza perdere informazioni o struttura.
  • Rendere più facile per gli utenti vedere e ascoltare i contenuti, separando il primo piano dallo sfondo (es. contrasto colore sufficiente).

2.2 Operable (Utilizzabile)

I componenti dell'interfaccia utente e la navigazione devono essere utilizzabili. Ciò significa che gli utenti devono essere in grado di interagire con il sito e non devono essere bloccati dal fare ciò che vogliono. Ad esempio:

  • Rendere tutte le funzionalità disponibili tramite tastiera (senza mouse).
  • Concedere agli utenti tempo sufficiente per leggere e utilizzare il contenuto.
  • Evitare di progettare contenuti che possano causare attacchi epilettici o reazioni fisiche (es. flash).
  • Fornire modi per aiutare gli utenti a navigare, trovare contenuti e determinare dove si trovano.

2.3 Understandable (Comprensibile)

Le informazioni e il funzionamento dell'interfaccia utente devono essere comprensibili. Ciò significa che gli utenti devono essere in grado di capire sia il contenuto che il funzionamento del sito. Ad esempio:

  • Rendere il testo leggibile e comprensibile.
  • Rendere le pagine web prevedibili nel loro aspetto e funzionamento.
  • Aiutare gli utenti a evitare e correggere gli errori.

2.4 Robust (Robusto)

Il contenuto deve essere sufficientemente robusto da poter essere interpretato in modo affidabile da un'ampia varietà di user agent, inclusi gli assistive technology. Ciò significa che i contenuti devono essere compatibili con le tecnologie attuali e future. Ad esempio:

  • Massimizzare la compatibilità con gli user agent attuali e futuri, inclusi gli assistive technology (es. HTML valido, uso corretto degli attributi ARIA).

3. La Checklist Essenziale WCAG per il Tuo HTML

Ora che abbiamo compreso i principi, vediamo come applicarli direttamente nel tuo codice HTML. Questa checklist si concentra sugli aspetti più comuni e impattanti per i beginner.

3.1 Struttura del Documento e Linguaggio

  • <html> con attributo lang: Specifica sempre la lingua principale del documento. Questo aiuta gli screen reader a pronunciare correttamente il contenuto.

    <!DOCTYPE html>
    <html lang="it">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Il Mio Sito Accessibile</title>
    </head>
    <body>
        <!-- Contenuto del sito -->
    </body>
    </html>
    

    Spiegazione: L'attributo lang="it" indica ai browser e agli screen reader che la lingua principale della pagina è l'italiano. Questo è fondamentale per una corretta pronuncia e interpretazione del testo.

  • Meta Tag viewport: Assicurati che il tuo sito sia responsive e si adatti a diversi dispositivi, inclusi quelli con zoom e ingrandimento del testo.

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    

    Spiegazione: Questo meta tag è cruciale per il responsive design e permette agli utenti di ingrandire il testo senza problemi di layout orizzontale, soddisfacendo i requisiti WCAG per la ridimensionabilità del testo.

3.2 Immagini e Contenuti Non Testuali

  • <img> con attributo alt: Ogni immagine significativa deve avere un testo alternativo (alt) che ne descriva il contenuto o la funzione. Se l'immagine è puramente decorativa e non aggiunge informazioni, l'attributo alt può essere lasciato vuoto (alt="").

    <!-- Immagine significativa -->
    <img src="logo.png" alt="Logo dell'azienda ABC, che mostra una lettera A stilizzata in blu">
    
    <!-- Immagine decorativa -->
    <img src="separatore.gif" alt="">
    

    Spiegazione: L'attributo alt è il sostituto testuale dell'immagine. Gli screen reader lo leggono ad alta voce, permettendo agli utenti non vedenti di capire cosa rappresenta l'immagine. Un alt vuoto indica che l'immagine può essere ignorata dagli screen reader.

3.3 Link e Navigazione

  • Testo dei link descrittivo: Il testo del link deve essere chiaro e significativo anche fuori dal contesto. Evita espressioni generiche come "clicca qui" o "leggi di più".

    <!-- NON fare così -->
    <p>Per maggiori informazioni, <a href="/contatti">clicca qui</a>.</p>
    
    <!-- Fai così -->
    <p>Per maggiori informazioni, visita la nostra pagina <a href="/contatti">Contatti</a>.</p>
    <p><a href="/blog/ultimo-articolo">Leggi il nostro ultimo articolo sul web design accessibile</a>.</p>
    

    Spiegazione: Gli screen reader permettono agli utenti di navigare tra i link della pagina. Se i link sono tutti "clicca qui", l'utente non avrà idea di dove lo porterà quel link. Un testo descrittivo come "Contatti" o "Leggi il nostro ultimo articolo..." fornisce contesto chiaro.

  • Stato del focus visibile: Assicurati che gli elementi interattivi (link, pulsanti, campi modulo) abbiano uno stato di focus chiaramente visibile quando vengono raggiunti tramite tastiera (solitamente un bordo o un'evidenziazione). Spiegazione: Gli utenti che navigano con la tastiera (o con assistive technology) devono sapere su quale elemento si trovano. Il focus visibile è un requisito fondamentale per l'operabilità.

3.4 Form e Campi di Input

  • <label> associata ai campi di input: Ogni campo di input di un form deve avere un elemento <label> associato tramite gli attributi for e id.

    <label for="nomeUtente">Nome:</label>
    <input type="text" id="nomeUtente" name="nomeUtente">
    
    <label for="accettoTermini">
        <input type="checkbox" id="accettoTermini" name="accettoTermini">
        Accetto i termini e condizioni
    </label>
    

    Spiegazione: Le label sono cruciali per gli screen reader, che le leggono ad alta voce per descrivere il campo di input. L'associazione for/id permette anche agli utenti con disabilità motorie di fare clic sulla label per attivare il campo, ampliando l'area cliccabile.

  • Messaggi di errore chiari e posizionati correttamente: Gli errori devono essere descritti in modo chiaro e associati al campo di input pertinente, preferibilmente con attributi ARIA.

    <label for="email">Email:</label>
    <input type="email" id="email" name="email" aria-invalid="true" aria-describedby="email-error">
    <p id="email-error" role="alert" style="color: red;">Per favore, inserisci un indirizzo email valido.</p>
    

    Spiegazione: Quando un campo ha un errore, è importante comunicarlo in modo accessibile. aria-invalid="true" indica lo stato di errore, mentre aria-describedby collega il campo al messaggio di errore, che viene letto dallo screen reader. role="alert" assicura che il messaggio venga annunciato immediatamente.

  • Placeholder e aria-label / aria-labelledby: I placeholder non sostituiscono le label! Usali per fornire un esempio del formato atteso. Per input senza label visibile (raro, ma possibile in certi design), usa aria-label o aria-labelledby.

    <!-- Placeholder come suggerimento, MA la label è sempre presente -->
    <label for="ricerca">Cerca nel sito:</label>
    <input type="search" id="ricerca" name="q" placeholder="Es. 'accessibilità'">
    
    <!-- Input con label non visibile, usa ARIA -->
    <input type="text" id="captcha" aria-label="Inserisci i caratteri dell'immagine per la verifica di sicurezza">
    

    Spiegazione: I placeholder spariscono quando l'utente inizia a digitare e non sono sempre accessibili agli screen reader. La label è l'elemento primario per l'accessibilità dei form. aria-label fornisce una descrizione testuale per gli elementi che non hanno una label visibile, garantendo che gli screen reader possano comunicarne lo scopo.

3.5 Struttura Semantica e Intestazioni

  • Uso corretto delle intestazioni (<h1> - <h6>): Le intestazioni devono formare una gerarchia logica. Usa un solo <h1> per la pagina e segui una sequenza logica (<h2> dopo <h1>, <h3> dopo <h2>, ecc.) senza saltare livelli.

    <h1>Titolo Principale della Pagina</h1>
    <p>Introduzione all'articolo...</p>
    
    <h2>Sezione 1: I Fondamentali</h2>
    <p>Contenuto della sezione 1...</p>
    
    <h3>Sottosezione 1.1: Concetti Base</h3>
    <p>Contenuto della sottosezione 1.1...</p>
    
    <h2>Sezione 2: Esempi Pratici</h2>
    <p>Contenuto della sezione 2...</p>
    

    Spiegazione: Le intestazioni creano una struttura gerarchica della pagina, simile a un indice. Gli screen reader le usano per permettere agli utenti di navigare rapidamente tra le sezioni. Una gerarchia logica è fondamentale per la comprensione del contenuto.

  • Elementi semantici di HTML5: Utilizza <header>, <nav>, <main>, <article>, <section>, <aside>, <footer> per strutturare il tuo documento. Questi tag aggiungono significato al contenuto e aiutano gli assistive technology a comprendere la funzione di diverse parti della pagina.

    <header>
        <nav aria-label="Navigazione principale">
            <ul>
                <li><a href="/">Home</a></li>
                <li><a href="/servizi">Servizi</a></li>
                <li><a href="/contatti">Contatti</a></li>
            </ul>
        </nav>
    </header>
    
    <main>
        <article>
            <h1>Titolo dell'Articolo</h1>
            <p>Contenuto dell'articolo...</p>
        </article>
    </main>
    
    <aside aria-label="Contenuti correlati">
        <h3>Articoli Correlati</h3>
        <ul>
            <li><a href="#">Articolo 1</a></li>
            <li><a href="#">Articolo 2</a></li>
        </ul>
    </aside>
    
    <footer>
        <p>&copy; 2023 La Mia Azienda</p>
    </footer>
    

    Spiegazione: I tag semantici forniscono un "contesto" strutturale. Ad esempio, gli screen reader possono dire all'utente che sta entrando nella navigazione (<nav>) o nel contenuto principale (<main>). aria-label può essere usato per dare un nome descrittivo a regioni importanti, migliorando ulteriormente la navigazione.

3.6 Tabelle Dati

  • <th> e attributo scope: Per le tabelle di dati, identifica sempre le celle di intestazione (<th>) e associa le celle dati ad esse usando l'attributo scope (col per le intestazioni di colonna, row per le intestazioni di riga).

    <table>
        <caption>Riepilogo delle Vendite Mensili</caption>
        <thead>
            <tr>
                <th scope="col">Mese</th>
                <th scope="col">Prodotto A</th>
                <th scope="col">Prodotto B</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <th scope="row">Gennaio</th>
                <td>150</td>
                <td>200</td>
            </tr>
            <tr>
                <th scope="row">Febbraio</th>
                <td>180</td>
                <td>210</td>
            </tr>
        </tbody>
    </table>
    

    Spiegazione: Le tabelle complesse possono essere difficili da interpretare per gli screen reader senza intestazioni chiare. <th> e scope permettono agli screen reader di associare correttamente i dati alla loro intestazione, fornendo contesto all'utente.

  • <caption>: Fornisci sempre un <caption> per le tabelle di dati per descriverne il contenuto. Spiegazione: La <caption> è un titolo descrittivo per la tabella, essenziale per gli utenti che navigano la pagina con uno screen reader per capire lo scopo della tabella prima di esplorarne il contenuto.

4. Esempi Pratici di HTML Accessibile

Vediamo alcuni esempi concreti che mettono insieme diverse delle best practice discusse.

Esempio 1: Un Modulo di Contatto Completamente Accessibile

Questo esempio mostra come costruire un modulo di contatto che sia pienamente accessibile, coprendo label, messaggi di errore e attributi ARIA.

<form action="/submit-contact" method="post">
    <h2>Modulo di Contatto</h2>

    <p id="form-description">Compila il modulo sottostante per inviarci un messaggio.</p>

    <div class="form-group">
        <label for="nome">Il tuo Nome: <span aria-hidden="true">*</span></label>
        <input type="text" id="nome" name="nome" autocomplete="name" required aria-describedby="nome-hint">
        <p id="nome-hint" class="hint-text">Inserisci il tuo nome completo.</p>
    </div>

    <div class="form-group">
        <label for="email">La tua Email: <span aria-hidden="true">*</span></label>
        <input type="email" id="email" name="email" autocomplete="email" required aria-describedby="email-hint email-error">
        <p id="email-hint" class="hint-text">Useremo questa email per risponderti.</p>
        <p id="email-error" class="error-text" role="alert" style="display: none;">Per favore, inserisci un indirizzo email valido.</p>
    </div>

    <div class="form-group">
        <label for="messaggio">Il tuo Messaggio:</label>
        <textarea id="messaggio" name="messaggio" rows="5"></textarea>
    </div>

    <div class="form-group">
        <input type="checkbox" id="privacy" name="privacy" required>
        <label for="privacy">Accetto l'<a href="/privacy" target="_blank">informativa sulla privacy</a> <span aria-hidden="true">*</span></label>
    </div>

    <button type="submit">Invia Messaggio</button>
</form>

Spiegazione:

  • Ogni input e textarea ha una label associata con for e id.
  • autocomplete aiuta gli utenti a compilare i campi più velocemente.
  • aria-describedby collega i campi a testi di aiuto (hint-text) e messaggi di errore (error-text), fornendo contesto aggiuntivo agli screen reader. I messaggi di errore hanno role="alert" per essere annunciati immediatamente.
  • aria-hidden="true" sul simbolo * lo nasconde agli screen reader, in quanto la richiesta è già implicita nell'attributo required e nella label stessa.
  • Il link nell'informativa sulla privacy ha target="_blank" con un avviso, sebbene in un contesto reale si dovrebbe aggiungere rel="noopener noreferrer" e possibilmente un aria-label che indichi che il link si apre in una nuova finestra.

Esempio 2: Navigazione e Struttura Semantica

Questo esempio mostra una struttura di pagina base con navigazione e contenuto principale ben definiti.

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sito Accessibile - Home Page</title>
</head>
<body>
    <header>
        <a href="/" aria-label="Torna alla home page">
            <img src="/logo.svg" alt="Logo della nostra azienda: un cerchio blu con una freccia stilizzata verso l'alto">
        </a>
        <nav aria-label="Navigazione principale del sito">
            <ul>
                <li><a href="/chi-siamo">Chi Siamo</a></li>
                <li><a href="/servizi">I Nostri Servizi</a></li>
                <li><a href="/portfolio">Portfolio</a></li>
                <li><a href="/blog">Blog</a></li>
                <li><a href="/contatti">Contatti</a></li>
            </ul>
        </nav>
    </header>

    <main id="main-content">
        <h1>Benvenuti sul Nostro Sito Accessibile</h1>
        <p>Siamo impegnati a creare esperienze web inclusive per tutti.</p>

        <section aria-labelledby="sezione-servizi">
            <h2 id="sezione-servizi">I Nostri Servizi</h2>
            <p>Offriamo soluzioni innovative per il web development, con un focus sull'accessibilità.</p>
            <ul>
                <li>Sviluppo siti web responsive</li>
                <li>Consulenza accessibilità WCAG</li>
                <li>Audit SEO tecnico</li>
            </ul>
        </section>

        <section aria-labelledby="sezione-ultime-notizie">
            <h2 id="sezione-ultime-notizie">Ultime Notizie</h2>
            <article>
                <h3><a href="/blog/articolo-accessibilita">L'importanza dell'Accessibilità nel 2024</a></h3>
                <p>Scopri come l'accessibilità sta diventando fondamentale...</p>
            </article>
            <article>
                <h3><a href="/blog/nuova-tecnologia">Le Nuove Frontiere del Web Design</a></h3>
                <p>Esplora le ultime tendenze che stanno modellando il futuro...</p>
            </article>
        </section>
    </main>

    <footer>
        <p>&copy; 2024 La Tua Azienda. Tutti i diritti riservati.</p>
        <nav aria-label="Link utili nel footer">
            <ul>
                <li><a href="/privacy">Informativa sulla Privacy</a></li>
                <li><a href="/termini">Termini di Servizio</a></li>
            </ul>
        </nav>
    </footer>
</body>
</html>

Spiegazione:

  • L'intero documento è racchiuso in <html lang="it">.
  • La navigazione principale è all'interno di un <nav> con aria-label per descriverne lo scopo.
  • Il contenuto principale è in <main>, e le sezioni sono definite con <section> e un <h2> appropriato, collegato con aria-labelledby.
  • Ogni articolo ha il suo <h3> descrittivo, che è anche un link.
  • Il logo ha un alt text descrittivo e un aria-label per il link che lo avvolge.

5. Errori Comuni da Evitare

Anche con le migliori intenzioni, è facile commettere errori. Ecco alcuni dei più comuni e come evitarli:

  • Dimenticare l'attributo alt o usarlo male: Non lasciare mai un alt vuoto per immagini significative, e non riempirlo con keyword per SEO. L'alt deve descrivere l'immagine per chi non può vederla.
  • Testo dei link generico: "Clicca qui", "Maggiori informazioni" non offrono contesto. Sii sempre descrittivo. Contatti è meglio di Clicca qui per contattarci.
  • Mancanza di label per i campi modulo: Non basarti solo sul placeholder. La label è fondamentale per gli screen reader. Se la label è nascosta visivamente, usa aria-label o aria-labelledby.
  • Uso improprio delle intestazioni: Non usare le intestazioni (<h1> - <h6>) solo per lo stile visivo. Devono seguire una struttura gerarchica logica per il contenuto. Non saltare livelli (es. da <h1> a <h3>).
  • Affidarsi solo al colore per trasmettere informazioni: Le persone daltoniche o ipovedenti potrebbero non percepire le differenze di colore. Ad esempio, non indicare un campo obbligatorio solo con il colore rosso; aggiungi un'icona, un testo (* con aria-hidden="true" e required sul campo) o un'altra indicazione visiva.
  • Contrasto colore insufficiente: Testo e sfondo devono avere un contrasto sufficiente per essere leggibili da persone con ipovisione o daltonismo. Ci sono molti strumenti online per verificare il rapporto di contrasto.
  • Mancanza di sottotitoli o trascrizioni per i media: Video e audio devono avere alternative testuali per gli utenti sordi o ipoacusici.

6. Strumenti e Risorse Utili

Fortunatamente, non devi fare tutto a mano. Esistono molti strumenti che possono aiutarti a testare e migliorare l'accessibilità del tuo sito:

  • Lighthouse (integrato in Chrome DevTools): Uno strumento di audit automatico che include una sezione "Accessibilità" e fornisce un punteggio e suggerimenti specifici.
  • WAVE Accessibility Tool: Una estensione per browser e un servizio online che visualizzano errori e avvisi di accessibilità direttamente sulla pagina web.
  • axe DevTools: Un'altra estensione per browser molto potente che identifica i problemi di accessibilità e fornisce suggerimenti su come risolverli.
  • Screen reader: Se possibile, prova a navigare il tuo sito usando uno screen reader (come NVDA per Windows, VoiceOver per macOS/iOS, o TalkBack per Android). Questo ti darà una prospettiva diretta dell'esperienza utente.
  • WCAG Quick Reference: La risorsa ufficiale del W3C per esplorare le linee guida WCAG in dettaglio.

7. Prossimi Passi per un Web Più Inclusivo

Questa checklist è un ottimo punto di partenza per integrare l'accessibilità nel tuo codice HTML. Tuttavia, l'accessibilità è un viaggio continuo, non una destinazione finale. Ecco alcuni prossimi passi per approfondire le tue conoscenze:

  1. Impara gli attributi ARIA: Approfondisci l'uso di WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) per rendere i componenti complessi (come tab, menu a tendina, modali) accessibili quando l'HTML nativo non è sufficiente.
  2. Studia il CSS e JavaScript per l'accessibilità: L'accessibilità non si limita all'HTML. Anche il CSS (es. contrasto colore, focus visibile) e JavaScript (es. gestione degli eventi tastiera, aggiornamenti dinamici del contenuto) giocano un ruolo cruciale.
  3. Testa con utenti reali: La cosa migliore è testare il tuo sito con persone che hanno disabilità. Le loro intuizioni sono inestimabili e spesso rivelano problemi che gli strumenti automatici non riescono a cogliere.
  4. Rimani aggiornato: Le WCAG vengono aggiornate periodicamente (attualmente siamo alla versione 2.2, con WCAG 3.0 in sviluppo). Segui le novità e gli sviluppi nel campo dell'accessibilità web.
  5. Fai dell'accessibilità una priorità: Integra l'accessibilità fin dall'inizio di ogni progetto, anziché considerarla un ripensamento. È molto più facile e meno costoso costruire accessibile che correggere in seguito.

Ricorda, ogni piccola modifica che fai per migliorare l'accessibilità del tuo sito contribuisce a un web migliore e più equo per tutti. Inizia oggi stesso a costruire un web più inclusivo!