ForHosting KIT · Immagini e foto

Colore di testo accessibile

Corregga un testo con poco contrasto senza perdere la sua tinta: il grigio #888888 su bianco arriva solo a 3.54 a 1, quindi viene scurito in #767676 per ottenere 4.54 a 1, appena oltre l’obiettivo di 4.5. Cambia solo la luminosità. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Sfondo
#ffffff
Testo
#888888
Rapporto obiettivo
4,5
Ottiene
Rapporto originale
3,54
Rapporto suggerito
4,54
Direzione
darken
Luminosità prima
53,33

Questo suggeritore di colore di testo accessibile riceve un colore esadecimale di sfondo, un esadecimale di testo iniziale e un rapporto di contrasto WCAG obiettivo, poi restituisce un colore di testo suggerito che raggiunge quel rapporto spostando soltanto la luminosità HSL. Tonalità e saturazione restano fisse, così un blu di marca resta blu mentre si scurisce o si schiarisce abbastanza da superare AA o AAA sulla superficie indicata. Se il colore di partenza raggiunge già l’obiettivo, viene restituito invariato e contrassegnato come non regolato. Designer, autori di token di design e lavori di CI lo usano quando un verificatore di contrasto non basta: serve un esadecimale sostitutivo deterministico, non soltanto un segnale di superato o fallito. Non vi sono chiamate di rete, semi casuali né letture di orologio.

Come una ricerca di luminosità raggiunge un obiettivo di contrasto WCAG

Il contrasto sul web non è una questione di gusto. Le Linee guida per l’accessibilità dei contenuti Web definiscono un solo rapporto di contrasto dalla luminanza relativa, perché il corpo del testo, i pulsanti e le etichette restino leggibili per chi ha una visione ridotta. Questo suggeritore parte dal Suo esadecimale di sfondo e da un esadecimale di testo iniziale, poi cambia solo la luminosità di quel colore di testo in HSL finché il rapporto WCAG 2.x rispetto allo sfondo non raggiunge l’obiettivo che Lei ha chiesto.

Tonalità e saturazione restano ferme, così un blu navy di marca resta navy e un rosso di marca resta rosso; varia soltanto quanto è chiara o scura l’inchiostro. Il motore linearizza ciascun canale sRGB con la curva ufficiale a tratti, costruisce la luminanza con i pesi 0.2126, 0.7152 e 0.0722 e calcola la luminanza più chiara più 0.05 divisa per la più scura più 0.05.

Percorre poi la luminosità HSL in decimi di percentuale deterministici verso il nero e verso il bianco, riconverte ogni passo in RGB a 8 bit e conserva il primo esadecimale quantizzato in ciascuna direzione che soddisfa l’obiettivo non arrotondato. Vince il candidato con il minor cambiamento di luminosità; un pareggio preferisce scurire, la correzione abituale per un carattere grigio su una scheda chiara. Se il colore di partenza raggiunge già l’obiettivo, viene restituito invariato così i token non vengono riscritti senza motivo.

Non c’è jitter casuale, consultazione di rete né scorciatoia legata alla data: le stesse tre entrate producono sempre lo stesso esadecimale suggerito e le stesse bandiere di convalida.

Dove un suggeritore di colore di testo accessibile merita il proprio spazio

I team di prodotto arrivano a questa pagina quando un grigio di marca appare elegante su una diapositiva di marketing ma fallisce come corpo di testo su una scheda bianca, quando un tema in modalità scura è generato da token chiari, oppure quando le parti legali chiedono un esadecimale sostitutivo invece di un parere da cattura schermo. I designer incollano una superficie e un inchiostro iniziale da Figma o da un file di token e riportano l’esadecimale suggerito nella palette, invece di spingere a occhio un cursore di luminosità.

Gli specialisti di QA e accessibilità allegano il rapporto originale, il rapporto suggerito e l’esadecimale suggerito ai ticket, così gli sviluppatori correggono la coppia esatta. I team di contenuto e marketing verificano che i colori di campagna abbiano ancora un compagno di testo lecito quando sono posati su sfondi chiari o scuri del sito. Se Lei deve soltanto misurare una coppia già scelta, usi una pagina di verificatore di contrasto; questa pagina possiede l’intento di suggerire un colore di testo che superi.

Correggere token di corpo che non superano

Davanti a un grigio di marca che manca l’AA su una scheda bianca, ottenga l’esadecimale più scuro più vicino che supera 4.5:1 senza cambiare la tonalità.

Inchiostro per modalità scura e modalità chiara

Da un solo colore di testo iniziale, derivi un compagno che superi su una superficie chiara e un compagno che superi su una superficie scura.

Come sceglie un esadecimale il suggeritore di colore di testo accessibile?

Conserva tonalità e saturazione di partenza, percorre la luminosità HSL verso il nero e verso il bianco e restituisce l’esadecimale quantizzato più vicino il cui contrasto WCAG 2.x raggiunge l’obiettivo. Un pareggio preferisce scurire.

Quali rapporti obiettivo può richiedere?

Qualsiasi numero finito da 1 a 21 incluso. Il valore predefinito è 4.5 (AA del testo normale). Usi 3 per l’AA del testo grande e 7 per l’AAA del testo normale.

Che succede se nessun colore di testo di questa tonalità raggiunge l’obiettivo?

Accade su alcuni sfondi grigio medio quando Lei chiede 7:1.

Quanto costa il suggeritore di colore di testo accessibile?

Lo strumento del browser è gratuito e viene eseguito in locale.

E se nessuna variante del mio colore raggiunge l’obiettivo?

Riceve comunque l’estremo migliore, nero o bianco, segnalato chiaramente come non conforme all’obiettivo. Succede, per esempio, chiedendo AAA 7 a 1 su una scheda grigio medio.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/color/suggest-accessible-text

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/color/suggest-accessible-text \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"background":"#ffffff","text":"#888888"}'
{
  "background": "#ffffff",
  "text": "#888888"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.suggest_accessible_text",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_color_chars32
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Se nessuna luminosità di quella tonalità raggiunge l’obiettivo — per esempio AAA 7:1 su una scheda grigio medio — il motore restituisce comunque l’estremo migliore, nero o bianco, e imposta meets_target su false affinché una pipeline possa fallire in modo chiuso. Le chiamate API riuscite sono addebitate a $0.002 per voce; un ingresso non valido non viene addebitato.

Che cosa invia, che cosa riceve e come funziona la convalida

Invii un esadecimale di sfondo e un esadecimale di testo iniziale. Gli obiettivi comuni sono 3 per l’AA del testo grande, 4.5 per l’AA normale e 7 per l’AAA normale; è accettato qualsiasi numero finito da 1 a 21 incluso, perché questo è l’intervallo WCAG dai colori identici al nero su bianco. Una breve stringa formula documenta la regola. Un target_ratio facoltativo vale 4.5 per impostazione predefinita, la soglia AA del testo normale. Lo sfondo accetta anche l’alias bg; il testo accetta foreground, fg e color; target_ratio accetta ratio e target. Campi assenti, caratteri non esadecimali, forme alfa, lunghezze errate, NaN, Infinity e un obiettivo fuori dall’intervallo chiuso falliscono con invalid_input e non vengono addebitati. In caso di successo la risposta riecheggia campioni normalizzati a sei cifre per sfondo, testo e suggerito, con stringhe rgb stampabili. original_ratio e suggested_ratio sono arrotondati a due decimali per la visualizzazione, mentre meets_target confronta il rapporto suggerito non arrotondato con l’obiettivo, così un 4.50 stampato non può nascondere un vero 4.499. adjusted indica se l’esadecimale si è davvero mosso; direction è none, darken o lighten. lightness_before e lightness_after rendono verificabile il passo HSL. L’oggetto wcag riporta normal_aa, normal_aaa, large_aa e large_aaa della coppia suggerita, così un revisore vede la matrice intera, non solo l’obiettivo chiesto. Abbini il modulo gratuito del browser all’API identica a $0.002 per voce riuscita quando una pipeline di token di design ha bisogno dello stesso esadecimale in integrazione continua.

Dove un suggeritore di colore di testo accessibile merita il proprio spazio

Gli ingegneri collegano lo stesso contratto a controlli di pull request che riscrivono o rifiutano un token se l’AA del testo normale scenderebbe sotto 4.5, e leggono meets_target perché una richiesta AAA impossibile su grigio medio non pubblichi il nero in silenzio come se avesse superato. Poiché questa capacità è un motore parse puro, il prezzo dell’API è la base pubblicata di $0.002 per voce riuscita e una convalida fallita non consuma il saldo.

Cancelli di CI che necessitano di un esadecimale sostitutivo

Chiami l’API dalle pull request per riscrivere o rifiutare token quando la coppia suggerita non riesce ancora a raggiungere l’obiettivo WCAG richiesto.

Quali formati di colore sono accettati?

Solo esadecimale: #RGB o #RRGGBB, con o senza cancelletto iniziale, senza distinzione di maiuscole. rgb(), hsl(), i colori con nome e l’esadecimale alfa sono rifiutati con invalid_input.

Leggi la documentazione completa del KIT →