Piattaforma di prenotazione con area riservata e assistente conversazionale, ripensata perché il percorso di prenotazione regga anche da tastiera e da screen reader.
Lavoro realizzato per un cliente.
Capitolo 1 · Il problema
Il sito diceva di funzionare.
Memorica Studio è uno studio fotografico di Castenaso, alle porte di Bologna. Aveva già un sito
e aveva già un sistema di prenotazione: si sceglieva il servizio, la data, il luogo, si firmava
il contratto e si pagava, tutto in un percorso solo.
Il problema non era che mancasse qualcosa. Era che nessuno aveva mai verificato se ciò che il
sistema dichiarava di fare corrispondesse a ciò che faceva. Un pannello di controllo tutto verde,
un deploy «riuscito», una pagina che si apre: sono tre cose che sembrano una prova e non lo sono.
Capitolo 2 · La ricerca
Un piccolo gruppo, nessun laboratorio.
Il sito è stato provato più volte da un piccolo gruppo di amici, conoscenti e potenziali clienti,
in sessioni informali. Non è ricerca strutturata: nessun protocollo, nessun campione rappresentativo,
nessuna registrazione. È la cosa che si può fare davvero quando si è un’attività piccola, e vale
la pena dirlo com’è invece di darle un nome che non merita.
La parte positiva è presto detta: l’iscrizione veniva percepita come facile e più di uno ha
dichiarato che avrebbe comprato. È un buon segno, ma è anche il tipo di riscontro che si ottiene
chiedendo a chi ti vuole bene.
Il risultato che conta è l’altro. Le persone oltre i sessant’anni si fermavano tutte nello stesso
punto: dopo aver inserito la mail in registrazione non capivano di dover uscire dal sito, aprire la
propria casella di posta e cliccare il link di conferma. Il passaggio dal sito all’email non era
ovvio — e non lo è quasi mai, perché chiede di cambiare applicazione nel mezzo di un’operazione.
Un difetto che si ripete vale più di molte approvazioni: le approvazioni confermano
quello che già credevi, il difetto no.
Capitolo 3 · La diagnosi
Cosa abbiamo trovato chiedendo alle cose vive.
Ogni verifica è stata fatta interrogando il sistema in funzione, non leggendo il codice. È una
distinzione che sembra pedante finché non produce numeri come questi.
- 27 su 31funzioni del server che rispondevano con un errore
- Chiamate una per una in produzione. Il percorso di prenotazione era morto — nessuno poteva prenotare — mentre il pannello mostrava il deploy come riuscito.
- 273punti in cui il colore del marchio era scritto e non veniva applicato
- La classe esisteva nel codice ma non nel foglio di stile compilato: le icone ereditavano il grigio del testo. Da qui i «quadrati neri» segnalati dalla titolare.
- 2,83 : 1contrasto reale di quelle icone, contro il minimo di 3:1
- Criterio 1.4.11 delle WCAG. Calcolato sul colore che il browser applica davvero, non su quello scritto nel codice.
- 1/2026il numero che ogni nuova fattura avrebbe preso
- Il contatore viveva nella memoria del browser e ripartiva da zero a ogni ricaricamento. Con la 7/2026 già emessa a mano, la prima fattura del sito avrebbe duplicato un numero.
- 200la risposta del sito a qualunque indirizzo inesistente
- Una regola restituiva la home al posto dell’errore: un file mancante non si vedeva, e infatti per ore non si è visto.
Capitolo 4 · Le decisioni
Dichiarare invece di nascondere.
Ogni correzione ha seguito lo stesso criterio: rendere impossibile l’errore, non renderlo meno
probabile. Dove non si poteva, dichiararlo.
I numeri delle fatture non li assegna più il browser ma il database, con un vincolo che rende il
duplicato impossibile anche se un domani qualcuno scrivesse un secondo pezzo di codice che assegna
numeri. Lo stesso per gli sconti: due prenotazioni simultanee non possono spendere due volte lo
stesso utilizzo, perché il limite sta nella condizione della scrittura, non in un controllo fatto
prima.
Quando un pagamento rateale viene rifiutato, la data non si libera subito: resta riservata a quel
cliente per tre giorni, perché chi ha provato a pagare è interessato. Ma i tre giorni sono un
numero solo, scritto in un posto solo, e c’è qualcosa che li fa scadere davvero — altrimenti
sarebbero una frase in una email.
E la regola che tiene insieme tutto: il sito ha smesso di rispondere «va bene» a un indirizzo che
non esiste. Un errore che non si vede non è tolleranza, è un guasto rimandato.
Capitolo 5 · Il risultato
Cosa è vero adesso.
Nessuno di questi numeri riguarda i clienti acquisiti: sarebbe presto per dirlo e non lo diremo
finché non sarà misurabile. Riguardano la presenza digitale — cioè se il sistema fa quello che
dichiara.
- 31 su 31funzioni raggiungibili
- Riverificate una per una dopo la correzione. Le tre che rispondono con un errore non sono endpoint: sono moduli di appoggio, e ora è scritto dove serve.
- 404la risposta a un indirizzo inesistente
- Un file che manca ora si vede subito, invece di nascondersi dietro una pagina che si apre.
- 8/2026il numero della prossima fattura
- Assegnato dal database in modo atomico, con il contatore separato dalle fatture perché le prime sette sono state emesse a mano e non esistono come righe.
- 4email automatiche che prima non partivano
- Conferma del pagamento riuscito — che non esisteva per nessun metodo, nemmeno con la carta — avviso al cliente e alla titolare se il pagamento viene rifiutato, e un solo promemoria prima che la data si liberi.
Capitolo 6 · L’accessibilità
Il colore che non arrivava.
Il difetto più istruttivo dell’intero lavoro è stato anche il più banale. L’accento del marchio
era scritto in 273 punti dell’interfaccia e non compariva in nessuno: la classe c’era nel codice,
la regola corrispondente non c’era nel foglio di stile. Le icone ereditavano il grigio del testo e
finivano dello stesso colore del loro fondo scuro.
Chi lo guardava vedeva quadrati neri e pensava a un’immagine mancante. Chi leggeva il codice vedeva
un colore scelto con cura. Nessuno dei due si sbagliava, ed è esattamente il punto: una cosa
scritta non è una cosa che accade.
Corretto quello, sono rientrati anche i lucchetti delle schermate di accesso, che erano lo stesso
difetto in un altro posto. E le icone dentro i dischi scuri hanno preso un colore più chiaro,
perché lì l’accento originale si sarebbe fermato a 2,83:1 — sotto il minimo che la norma chiede.
Capitolo 7
Il lavoro non è finito, ed è giusto dirlo.
Il percorso di prenotazione è stato misurato — trentanove attivazioni distinte dalla home al
pagamento, con il metodo di conteggio dichiarato — e ne esiste un progetto di riduzione. Quel
progetto non è ancora in produzione, quindi qui non compare nessun «dopo»: comparirà quando sarà
una misura e non una previsione.
Se riconosci qualcosa di tuo in questa storia — un pannello verde su un sistema che non funziona,
un colore che non si vede, un numero che nessuno ha mai verificato — è il tipo di lavoro che
facciamo.