Considerazioni sull’uso dei CSS per la stampa
Mercoledì 19 Settembre 2007 - 08:27
di Cesare Lamanna

Ogni tanto capita che le cose ti accadono quotidianamente si incastrino alla perfezione con ciò che leggi in rete. Proverò a fare il punto.
Un amico mi manda il figlio sedicenne a cui ha appena comprato un magnifico Mac Book, il primo Mac su cui entrambi mettono mano. Avevo loro parlato di Parellels, segnalando anche i post pubblicati sul blog e dedicati a questo software di virtualizzazione. Il ragazzo, che sul web ci va da un pezzo e che si muove con una certa dimestichezza tra le opzioni di un browser, decide di stamparli. Mi richiama allarmato: “Guarda, mi sa che questo Safari non stampa bene, taglia le pagine…”.
Cos’è accaduto? Stampando non ha ottenuto quello che si aspettava (tutta la pagina). Perché? Perché usiamo su Edit un CSS per la stampa che elimina le parti accessorie lasciando solo il corpo del post.
Gli ho spiegato che Safari funziona, che è meglio così, che tanti altri siti lo fanno. Rimane il fatto delle aspettative non rispettate, della sorpresa, del dubbio che qualcosa non avesse del tutto funzionato. Certo, poteva fare un’anteprima di stampa e capire in anticipo cosa avrebbe ottenuto, ma, francamente, chi è che la fa questa anteprima?
Domanda 1: come si risolve questo problema di usabilità che è insito nell’uso dei fogli di stile per la stampa?
Domanda 2: come la mettiamo, utilizzandoli questi fogli di stile, con quelli che vorrebbero potersi stampare tutta la pagina, così come la vedono sullo schermo?
Io so come farlo, molti di voi lo sanno. Ma il ragionamento va applicato ai milioni di Marco che non passano il tempo a crogiolarsi tra estensioni per Firefox e simili. Non volevo dirlo, ma per capirci… va applicato all’utente medio.
Rispetto alla questione dell’anteprima e delle aspettative, ho subito collegato quanto accaduto ad un articolo uscito tempo fa su A List Apart: Print to preview (qui la traduzione apparsa su HTML.it).
Spiega una semplice tecnica Javascript per proporre all’utente un’anteprima dell’aspetto della pagina stampata da coniugare all’uso di CSS per la stampa. Ecco l’esempio.
Un’implementazione diversa in termini di interfaccia ma basata sullo stesso script di A List Apart è questa. L’ho trovata tra i commenti a questo post in cui Roger Johansson presenta un piccolo script per implementare in modo non intrusivo la stampa via Javascript con un link presente nella pagina, il classico <a href="javascript:window.print()">Stampa la pagina</a>.
Post interessante soprattutto per i commenti che seguono e per le considerazioni in termini di usabilità.
Rimane la seconda domanda: come conciliare in maniera trasparente ed efficace l’opzione per la stampa dell’intera pagina con quella della versione ottenuta con il CSS per la stampa? Qualcuno ha mai dovuto affrontare una situazione simile?
Sì, lo so che realizzando un sistema con la ‘versione per la stampa’ si risolve più o meno tutto, ma il ragionamento è per quei casi in cui non è possibile contarci… ;-).
Commenti
1
Io credo che se il progetto non è destinato ad un target di utenza di cultura informatica particolarmente carente, non è il caso di preoccuparsi troppo e di infarcire il codice di troppi javascript. Poi uno screenshot non credo sia una cosa così arcana… ;)
# - postato da crea-tivo livorno - 19 Settembre 2007 - 09:09
2
Credo che l’importante sia informare l’utente. La persona media si aspetta - abituata da sistemi come word - di stampare quello che vede, pertanto se vogliamo possiamo generare una pagina che abbia già associato il css per la stampa e quindi dare la possibilità di stamparla. Come mi pare avvenga già su html.it.
Inoltre gli utenti si sono formati su migliaia di siti che offrono una versione ottimizzata per la stampa accessibile già a video.
Se poi la tipologia di contenuto si presta ad essere stampata (es. articoli di una webzine) allora è bene che l’accesso all’anteprima di stampa sia ben visibile e comunicata in maniera comprensibile / convenzionale.
3
Tipico caso di come un malfunzionamento viene percepito come cosa giusta, e invece le cose fatte bene come un malfunzionamento. Ma chi ha ragione? Come dovrebbe funzionare veramente?
Secondo me la soluzione migliore al problema è lasciare scegliere all’utente.
Se uno vuole stamparsi la pagina così com’è, se la stampa con tutti gli stili (abilitandosi anche le immagini di sfondo nelle impostazioni del browser).
Se invece vuole una pagina pulita, gli si mette in bella mostra un pulsante o un link “Printer friendly version”, ci clicca e si stampa quella. In entrambi i casi, what you see is what you get.
Inoltre gli utenti si sono formati su migliaia di siti che offrono una versione ottimizzata per la stampa accessibile già a video.Che? Quali utenti? Quanti siti? Su che pianeta?
Io ho imparato solo una cosa in questo lavoro. MAI dare niente per scontato.# - postato da Cheope - 19 Settembre 2007 - 10:16
4
Che? Quali utenti? Quanti siti? Su che pianeta?
Io ho imparato solo una cosa in questo lavoro. MAI dare niente per scontato.D’accordissimo :), però non possiamo negare che esistano delle convenzioni che valga la pena di rispettare se non altro per essere chiari e diretti nei confronti di coloro che già le condividono. Prima di arrivare sul nostro sito i nostri utilizzatori hanno sicuramente già usato altri siti web dove gli è stato “insegnato” che la versione stampabile è accessibile da un pulsantino o da un link vicino al titolo del contenuto.
A qualcosa ci si deve pur affidare: purtroppo non si può fare sempre un test di usabilità :)
Però, restando in topic, mi viene in mente un’articolo di Joe Clark:
http://joeclark.org/appearance.....media2007/Anche questo mi sembra uno di quei temi di cui al momento si preoccupano gli sviluppatori ma che invece dovrebbe riguardare chi confeziona i browser, che magari dovrebbe preoccuparsi di inserire - prima che la stampa avvenga - una finestra in cui si chiede che tipo di stampa debba verificarsi.
Certo, se aspettiamo che IE si evolva… Che ne dite?
5
Sono daccordo con la soluzione del link ad una pagina “ottimizzata” per la stampa. Un utente medio, che è in realtà l’utente e basta, non conosce il valore print… ma si affida a ciò che vede. Proprio da questo deriva lo studio delle interfacce. Chiaramente anche la versione “ottimizzata”, benchè visualizzata a schermo avrà il suo bel css “ottimizzato” per la stampa, che sarà certamente diverso da quello a video ma, questo, all’utente “medio” non è dato saperlo ne interesserebbe.
Don’t make them think!
6
Carissimo Cesare, approfitto di questo post per lanciare il mio “buuuuuuuu” ;)))
In effetti, anch’io detesto il fatto di non avere i commenti inclusi nella versione stampata. Vada per la colonna leterale e i menu in testa, ma i commenti sarebbe bene apparissero anche in stampa.
Ma questa è un’opinione tutta mia. Finora ho risolto con un copia-incolla in Word e poi da lì in stampa.
Credo che vadano valutate certe scelte. Non si può imporre qualcosa dall’alto. E’ un po’ come la storia della musica di sottofondo. Chi te l’ha chiesta???? (Ah, sì, il cliente, perché “fa figo”).
Proposta: doppio link. “Stampa solo l’articolo”, “Stampa l’articolo e i commenti”. Ognuno legato ad un CSS specifico.
Poi ci sarà sempre chi sceglie la via breve (da “utonto”) di fare clic sull’icona della stampante nel browser. In tale evenienza direi che andrebbe prevista la versione più completa.
Pierluigi.
# - postato da P&M - 19 Settembre 2007 - 12:13
7
Pierluigi, come potrai immaginare, per inserire la parte con i commenti nella stampa basta un secondo. Il fatto è che per un breve periodo, agli inizi, li avevamo inseriti e qualcuno si era lamentato perché voleva solo il testo del post… Ecco dimmi tu cosa fare… :)
8
Sì, ho capito: è come quella barzelletta [accento romanesco ON] “e prima levàmo, e poi rimettemo…” [/accento romanesco OFF] ;))))
L’ipotesi l’ho fatta: doppio link!
Comunque, anche la soluzione - ti dicevo - l’ho trovata.
Certo però che accontentarli tutti……..
# - postato da P&M - 19 Settembre 2007 - 17:40
9
@@@Cheope: ti quoto a manetta!!
Se c’è una cosa vera tra gli utenti del web è che non si potrà mai prevedere niente di niente…
Ogni giorno capita di tutto… l’imprevisto dell’imprevisto dell’imprevisto…
Avvisare o non avvisare l’utente del metodo di stampa utilizzato può portare soddisfazione a certi utenti/clienti ma provocare panico in altri…
Mostrare avvisi a cui la gente comune non è abituata comporta il peggioramento dell’interazione… Purtroppo a parer mio non c’è rimedio… E’ questione che la gente non sa, non sa fare e non vuole sapere come si fa!! ma vuole tutto già pronto nel modo che preferisce…
Perciò ritengo che una soluzione vada ricercata nella fascia di utenti a cui punta il target del sito che si deve realizzare… Sperando bene…
10
Vabbè: ho fatto la mia bella figuretta di m####… Basta disattivare il CSS di stampa dalla toolbar di Firefox :(((
# - postato da P&M - 20 Settembre 2007 - 17:05







