Test del contrasto di colore del web design

Una panoramica di tre strumenti e tecniche per testare e verificare il contrasto di colore accessibile del tuo design.

Supponiamo che tu abbia del testo su uno sfondo chiaro, come questo:

Viene mostrata la frase "The quick brown fox jumps over the lazy dog again", in cui ogni parola o coppia di parole è di un colore blu più chiaro. Sopra ogni sezione di parole con dissolvenza progressiva è riportato il punteggio del rapporto di contrasto. Le ultime parole sono molto difficili da leggere a causa del basso contrasto.

Sebbene tutti gli esempi possano essere leggibili per te, non è così per tutti.

Il contrasto di colore accessibile è una pratica che garantisce che il testo sia leggibile per tutti. A volte testare il contrasto è facile, altre volte è molto difficile. Al termine di questo post, avrai tre nuovi strumenti e tecniche per ispezionare, correggere e verificare il contrasto del tuo web design, in modo da poter affrontare gli scenari più difficili.

WCAG e contrasto di colore

La Web Accessibility Initiative del W3C fornisce strategie, standard e risorse per garantire che internet sia accessibile al maggior numero possibile di persone. Le linee guida alla base di questi standard sono chiamate Linee guida per l'accessibilità dei contenuti web (WCAG). L'ultima versione stabile, WCAG 2.1, copre un importante requisito di accessibilità: il contrasto minimo.

La relazione tra due colori nelle WCAG 2.1 è descritta dal loro rapporto di contrasto, ovvero il numero che si ottiene confrontando la luminanza di due colori. La luminanza è un modo per descrivere quanto un colore è vicino al nero (0%) o al bianco (100%). Le WCAG definiscono alcune regole e algoritmi di calcolo relativi al rapporto di contrasto necessario per rendere il web accessibile. Tuttavia, esistono problemi noti con questo calcolo. Alla fine verrà adottato un modo ancora più affidabile, ma, al momento, le WCAG sono il meglio che abbiamo.

Quali sono le regole?

AA AAA
Testo del corpo (< 24 px) 4,5 7
Testo grande (> 24 px) 3 4,5
UI (icone, grafici e così via) 3 non definito

Un rapporto di contrasto più elevato viene valutato con un numero più alto, ad esempio 4,5 o 7 anziché 3. Per acquisire maggiore familiarità con la tabella dei punteggi, consulta lo strumento di controllo del contrasto di Polypane.

Il testo viene mostrato su sfondo viola: un abbinamento è testo nero su sfondo viola e l'altro è testo bianco su sfondo viola.
Quale di questi abbinamenti di colori ti sembra più contrastante?

Test del contrasto tra i colori

Ora che sappiamo cosa stiamo cercando, come facciamo a testarlo? Ecco tre strumenti senza costi per aiutarti a ispezionare, correggere e misurare il contrasto del tuo sito web. Verranno illustrati i punti di forza e di debolezza di ciascuno, in modo che tu possa testare con sicurezza l'accessibilità dei colori e dei contenuti del tuo sito in diversi modi.

  1. Pika
    Un'app per MacOS, l'unica in grado di mostrare il contrasto di qualsiasi colore sull'intero schermo, i colori sui gradienti, i colori con trasparenza e altro ancora. L'intent è esplicito, gli utenti scelgono manualmente i pixel da confrontare. Un po' meno automatizzato, ma con un enorme vantaggio in termini di funzionalità.
  2. VisBug
    Un'estensione cross-browser, in grado di mostrare più di un overlay di contrasto alla volta, ma come DevTools, a volte non è in grado di rilevare l'intent.
  3. Chrome DevTools
    DevTools è integrato in Chrome e offre vari modi per ispezionare, correggere ed eseguire il debug dei problemi relativi ai colori, ma presenta dei limiti quando si tratta di ispezionare gradienti e colori semitrasparenti e a volte non è in grado di rilevare l'intent.

Pika (applicazione macOS)

Se DevTools o VisBug non riescono a valutare correttamente il contrasto, ad esempio quando devi testare un colore al di fuori del browser o quando sono coinvolti trasparenza o gradienti, Pika è qui per aiutarti. Pika ha accesso a ogni pixel dello schermo perché è uno strumento di sistema e non uno strumento web.

Scarica Pika

Ciò significa anche che la UX per l'utilizzo di Pika è diversa da quella di DevTools o VisBug. DevTools e VisBug fanno del loro meglio per mostrare i colori del testo e dello sfondo dal DOM del browser, mentre i colori confrontati da Pika vengono scelti manualmente da qualsiasi punto dello schermo. In questo modo, Pika ha un maggiore controllo e si aprono alcuni casi d'uso aggiuntivi:

  • Confrontare due colori qualsiasi, indipendentemente dal fatto che si trovino o meno nel browser. Se puoi vederli sullo schermo, puoi testarli.
  • Confronto dei colori con trasparenza.
  • Confronto dei colori all'interno dei gradienti.
  • Confronto di colori che utilizzano modalità di fusione, come mix-blend-mode in CSS.

Confronto di due colori qualsiasi

Confronta il testo con un colore di sfondo:

Due grigi vengono confrontati l'uno accanto all'altro, hanno un rapporto di contrasto di 13,01 e superano i target AA e AAA.

Confronta i colori del tratto e del riempimento della grafica vettoriale:

Vengono confrontati due viola di un'icona bicolore, che hanno un rapporto di contrasto di 1,63 e non superano alcun target WCAG.

Confronto dei colori con trasparenza

Confronta il colore del testo con una serie di pixel di esempio dello sfondo. In questo caso, il grigio più chiaro dell'effetto vetro smerigliato viene utilizzato come colore di confronto dello sfondo.

Due colori che sembrano grigi, ma in realtà sono viola molto desaturati, vengono confrontati da un'immagine con una didascalia semitrasparente sfocata, hanno un rapporto di contrasto di 4,65 e superano il target AA.

Confronto dei colori con i gradienti

Confronta il testo su un gradiente o su un'immagine. In questo caso, la L di "Lasso" viene confrontata con l'azzurro dell'immagine:

Uno screenshot di un programma TV con il titolo del programma in alto, la L è bianca e il blu dietro è messo a confronto. Hanno un rapporto di contrasto di 8 e superano i target AA e AAA.

VisBug

VisBug è uno strumento ispirato a FireBug che consente a designer e sviluppatori di ispezionare visivamente, eseguire il debug e giocare con il design del loro sito web. È stato progettato per avere una barriera all'ingresso inferiore rispetto a Chrome DevTools, emulando la UI e la UX degli strumenti di progettazione che le persone hanno imparato a conoscere e amano utilizzare.

Prova VisBug o installalo su Chrome, Firefox, Edge, Brave o Safari.

Uno degli strumenti offerti è lo strumento Ispezione accessibilità.

Screenshot della barra degli strumenti di VisBug sul lato sinistro di una pagina vuota, l'icona dello strumento di accessibilità è rosa e viene mostrato un popover che fornisce istruzioni sullo strumento.

Ispeziona i browser (anche su dispositivi mobili)

Dopo aver fatto clic sullo strumento Ispezione accessibilità, le informazioni sull'accessibilità di qualsiasi elemento su cui l'utente posiziona il puntatore o su cui si sposta con la tastiera verranno visualizzate nel tooltip. Questo suggerimento include confronti tra i colori di sfondo e di primo piano rilevati.

Un componente con un titolo e un'icona è mostrato con un riquadro di delimitazione rosa intorno. Un tooltip di accessibilità di VisBug punta al riquadro rosa con un report di confronto dei colori del testo e dello sfondo. Il rapporto è 13,86 e supera i target AA e AAA.

Ispeziona uno o più elementi

DevTools può esaminare un singolo abbinamento di colori o generare un report di tutti gli abbinamenti di colori nella pagina, ma VisBug offre un buon compromesso consentendo più abbinamenti di colori. Fai clic su un elemento e il tooltip rimarrà nella stessa posizione. Tieni premuto Maiusc e continua a fare clic su altri elementi. Tutti i tooltip rimarranno invariati:

Un elenco di link su una pagina web viene mostrato con più overlay di accessibilità di VisBug, ognuno dei quali punta contestualmente ai contrasti di colore del testo e dello sfondo rilevati e li segnala.

Questo è particolarmente importante per il design basato su componenti, in cui più parti di un componente devono superare i punteggi del rapporto di contrasto. Questo metodo consente di visualizzare contemporaneamente tutte le parti dei componenti. È ideale anche per le revisioni dei progetti.

Chrome DevTools

Se hai installato Chrome, hai già a disposizione molti strumenti di test del contrasto:

Il selettore colori di Chrome DevTools

Nel riquadro Stili di Chrome DevTools del riquadro Elementi, i valori dei colori avranno un piccolo campione di colore quadrato visivo accanto. Se fai clic su questo campione, vedrai lo strumento selettore colori. Se possibile, al centro dello strumento verrà mostrato il contrasto del colore rispetto a uno sfondo o a un primo piano.

Nell'esempio seguente, il selettore colori viene aperto per un valore di colore della proprietà personalizzata. Il punteggio del rapporto di contrasto è 15,79 e presenta due segni di spunta verdi, che indicano che il punteggio supera i requisiti AA e AAA delle WCAG 2.1:

Screenshot del riquadro Elementi di DevTools, negli stili viene mostrato il selettore colori e al centro viene riportato il rapporto di contrasto del colore di 4,98.

Correzione automatica del selettore colori

Vedere il punteggio mentre scegli i colori è utile, ma Chrome DevTools ha una funzionalità aggiuntiva per la correzione automatica. Quando il selettore colori segnala un punteggio di contrasto di colore accessibile non superato, può essere espanso per mostrare i target di punteggio AA e AAA, oltre a uno strumento contagocce. Accanto ad AA e AAA sono presenti dei campioni e un'icona di aggiornamento che, se selezionata, troverà il colore più vicino che supera il test:

Se non hai particolari esigenze in fatto di colori, la funzionalità di correzione automatica è un ottimo modo per soddisfare le linee guida sull'accessibilità senza dover lavorare troppo per raggiungere l'obiettivo.

Tooltip di ispezione

Lo strumento di selezione degli elementi ha una funzionalità speciale durante il passaggio del mouse sulla pagina che segnala informazioni generali su carattere, colore e accessibilità. Lo strumento di selezione degli elementi è l'icona a sinistra nello screenshot seguente. È la casella con un cursore a forma di freccia nell'angolo in basso a destra. Può essere selezionato anche utilizzando il tasto di scelta rapida Control+Shift+C (o Command+Shift+C su MacOS).

Screenshot dell'icona con la casella e la freccia in DevTools che richiama lo strumento di selezione degli elementi.

Una volta attivata, l'icona diventa blu e, se passi il mouse sopra un elemento della pagina, viene visualizzato il seguente tooltip di ispezione rapida:

Uno screenshot di un overlay molto simile a VisBug, che mostra alcune informazioni sullo stile e una sezione di accessibilità che mostra un punteggio di contrasto di 15,79 che supera il target AA.

A differenza del selettore colori, che richiede di trovare il campione di colore nel riquadro Stili, questo strumento ti consente di spostarti sulla pagina per visualizzare i punteggi di contrasto. Come il selettore colori, può mostrare un solo punteggio di contrasto alla volta.

Bump bump 'til you pass 🎶

Spesso esamino un abbinamento di colori con questo strumento di ispezione rapida e scopro che non raggiunge il rapporto richiesto. Anziché utilizzare la funzionalità di correzione automatica del selettore colori (perché sono pignolo), modifico i canali dei colori nel CSS e osservo finché non supero il rapporto di cui ho bisogno. Chiamo questo processo "bump bump til you pass" perché aumento i numeri dei canali di colore finché non superano le WCAG 2.1.

I passaggi sono i seguenti e devono essere eseguiti nell'ordine esatto:

  1. Imposta la selezione della tastiera all'interno di un colore nel riquadro Stili.
  2. Attiva lo strumento Ispeziona elemento con la scorciatoia da tastiera Control+Shift+C (o Command+Shift+C su MacOS).
  3. Posiziona il cursore del mouse sopra un target.
  4. Premi i tasti Su/Giù sulla tastiera per modificare i numeri nel valore del colore.

Questo funziona perché il valore dello stile CSS ha ancora la selezione della tastiera, mentre il mouse ti consente di puntare su un target. Assicurati di non fare clic sul target, altrimenti lo stato attivo si sposterà dall'area del valore del colore e non potrai più spostare i valori finché non lo ripristinerai.

Panoramica CSS

Fino a questo momento, Chrome DevTools ha fornito modi per esaminare un abbinamento di colori alla volta, ma la panoramica CSS può eseguire la scansione dell'intera pagina e presentare tutti gli abbinamenti non accessibili contemporaneamente:

Screenshot del riepilogo della panoramica ottenuto eseguendo lo strumento di acquisizione della panoramica CSS. Mostra 7 problemi di contrasto, con gli abbinamenti di colori rilevati e i risultati non riusciti.

Scopri di più su questa funzionalità in questo post Panoramica CSS: identifica i potenziali miglioramenti CSS o guarda Jecelyn Yeen su YouTube nella serie Suggerimenti di DevTools che ti insegna come identificare i potenziali miglioramenti CSS con il riquadro Panoramica CSS.

Faro

Lighthouse è un altro strumento di controllo in Chrome DevTools. Può eseguire la scansione della pagina e segnalare abbinamenti di colori non accessibili. Contiene piccoli screenshot di ogni abbinamento di colori da esaminare, con l'indicazione di quelli che superano o meno il test. Eventuali combinazioni non riuscite influiranno negativamente sul tuo punteggio Lighthouse.

Ecco come possono apparire questi risultati:

Uno screenshot di una valutazione di Lighthouse, che mostra i risultati del testo a basso contrasto delle combinazioni di colori di due parole.

La console JS

Forse tutti gli strumenti elencati finora non sono disponibili nella tua località. Forse il tuo ambiente di lavoro (per tutto il giorno) è JavaScript. Ecco un esperimento da provare. Il riquadro Problemi della console può segnalare costantemente eventuali problemi di accessibilità del contrasto di colore durante la creazione. Attiva la funzionalità in Impostazioni > Esperimenti, come mostrato di seguito:

Screenshot di una casella di controllo attivata: &quot;Attiva la segnalazione automatica dei problemi di contrasto tramite il riquadro Problemi&quot;.

Poi apri il riquadro Problema e controlla se ha rilevato qualcosa. In questo caso, possono avere questo aspetto:

Screenshot del riquadro Problemi all'interno della Console, che segnala 6 errori relativi al contrasto.

Emulazione daltonismo

A proposito di contrasto di colore e di garantire abbinamenti di colori accessibili, vale la pena sottolineare lo strumento di emulazione delle carenze visive. In questo modo, i colori o l'aspetto del tuo design cambieranno per mostrare i risultati di diverse varietà di daltonismo, dandoti l'opportunità di modificare il tuo design in modo che il colore non sia l'unico modo in cui la UX comunica con un utente.

Screenshot delle opzioni in DevTools per l'emulazione delle disabilità visive: nessuna emulazione, vista annebbiata, protanopia, deuteranopia, tritanopia, acromatopsia.

Non è una best practice di accessibilità sicura utilizzare esclusivamente il colore per rappresentare le informazioni, ad esempio il rosso per il male e il verde per il bene. Alcune persone non vedono i verdi o i rossi allo stesso modo e questo strumento di emulazione ti aiuterà a sperimentarlo e a ricordarlo.

Emulazione delle preferenze di sistema per il contrasto di colore

Sempre più utenti modificano le impostazioni di contrasto nel proprio sistema operativo, il che consente loro di richiedere una personalizzazione del contrasto maggiore o minore nella UI. Il CSS può sfruttare questa impostazione, così come può fare con le preferenze del tema chiaro o scuro. Chrome DevTools offre la possibilità di emulare questa preferenza, in modo che i designer possano testare e adattare il design alla richiesta dell'utente senza attivare/disattivare l'impostazione dal sistema.

Screenshot delle opzioni in DevTools per l'emulazione della query supporti CSS prefers-contrast: nessuna emulazione, più, meno, personalizzata.

Prova WCAG 3.0 APCA

Un altro esperimento da provare è testare gli abbinamenti di colori con il sistema di punteggio sperimentale del rapporto di colore APCA. Attivato tramite Impostazioni > Esperimenti, sostituisce il sistema di rapporto WCAG 2.1 con un algoritmo di controllo del contrasto più recente e migliorato, consentendoti di visualizzare l'anteprima dei risultati mentre la proposta si avvicina a uno standard.

Screenshot di una casella di controllo attivata: &quot;Attiva il nuovo algoritmo di contrasto percettivo avanzato (APCA) che sostituisce le linee guida precedenti sul rapporto di contrasto e AA/AAA&quot;.

Una volta attivata, utilizza il tooltip di ispezione dei punti o il selettore colori per visualizzare il punteggio di abbinamento dei colori e verificare se è sufficiente:

La descrizione comando dell'elemento di ispezione di DevTools mostra -100,2% per il punteggio di contrasto su un elemento dd.

Conclusione

Il contrasto dei colori è un elemento importante del puzzle per l'accessibilità sul web e il rispetto di questo principio rende il web più utilizzabile per il maggior numero di persone nelle situazioni più svariate. Ci auguriamo che questi tre strumenti ti aiutino a fare scelte cromatiche ottimali.