{"id":804,"date":"2018-04-19T16:17:47","date_gmt":"2018-04-19T14:17:47","guid":{"rendered":"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/"},"modified":"2019-08-12T15:38:46","modified_gmt":"2019-08-12T15:38:46","slug":"web-typography-tabelle","status":"publish","type":"article","link":"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/","title":{"rendered":"Web typography: progettare tabelle da leggere non da ammirare"},"content":{"rendered":"<div class=\"main-content pre-article\">\n<p class=\"editors-note\"><strong>Nota degli editori:<\/strong> Siamo lieti di condividere con voi un estratto dal Capitolo 2 dal nuovo libro di <a href=\"http:\/\/book.webtypography.net\/\">Richard Rutter, <cite>Web Typography<\/cite><\/a>.<\/p>\n<\/div>\n<p>I buoni designer passano molto tempo a sudare sulla tipografia. Agonizzano su caratteri tipografici, iterano su scale di caratteri e applicano meticolosamente lo spazio bianco, tutto al servizio del lettore. Poi arriva una tabella e, con la tentazione di essere creativo, tutte le attenzioni verso il lettore vengono buttate fuori dalla finestra. Eppure le tabelle sono l\u00ec per essere lette, referenziate e usate, non semplicemente guardate.<\/p>\n<div class=\"paragrafo\">\n<h2 id=\"section1\">Impostate le tabelle come testo da leggere<\/h2>\n<p>Le tabelle sono disponibili in molte forme. Alcune contengono semplici numeri, altre sono complesse, con un mix di dati numerici e informazioni testuali. Alcune richiedono una lettura riga per riga, altre si possono scorrere verticalmente. Il potenziale uso per le tabelle \u00e8 tanto vario quanto la parola scritta. Possono essere rendiconti finanziari, orari degli autobus, dizionari multilingua, sommari, conversioni numeriche, opzioni di prezzo, comparazioni di caratteristiche, specifiche tecniche e cos\u00ec via.<\/p>\n<p>Nonostante l&#8217;enorme variet\u00e0 in dimensioni, complessit\u00e0, contenuti e scopo delle tabelle, ognuna condivide due semplici principi di progettazione: devono essere leggibili e supportare il senso dei dati contenuti all&#8217;interno. Non dovrebbero essere rese pi\u00f9 belle per soddisfare un senso estetico per la sola osservazione. Detto questo, una tabella ben progettata pu\u00f2 ancora essere un bell&#8217;oggetto ma con la forma che segue la funzione. Le tabelle non sono immagini di dati: sono cataloghi di dati da esaminare, analizzare, farvi riferimento e consultarli. Una tabella ben progettata consentir\u00e0 di leggere e comprendere le informazioni e riveler\u00e0 i modelli e le correlazioni inerenti ai dati. Come Jan Tschichold, il virtuoso del design tipografico, ha detto in <cite>Tipografia asimmetrica<\/cite><sup><a href=\"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/147\/#note1\">1<\/a><\/sup>:<\/p>\n<div id=\"figure1\" class=\"quote\">\n<blockquote><p>La materia tabulare non deve pi\u00f9 essere un lavoro piuttosto spiacevole da progettare: al contrario, pu\u00f2 diventare un esercizio davvero affascinante e artistico, in nessun modo meno interessante di qualsiasi altra area.<\/p><\/blockquote>\n<\/div>\n<p>Laddove possibile, pianificate in anticipo la leggibilit\u00e0 di ogni tabella. Il vostro processo di progettazione dovrebbe essere un&#8217;indagine per rendere i dati non impegnativi da leggere, semplici da seguire e facili da estrarre.<\/p>\n<p>Proprio come non si progetterebbe il corpo del testo con lo scopo di inserire pi\u00f9 parole possibili sullo schermo, cos\u00ec non si dovrebbe trattare la progettazione di una tabella come un esercizio per far stare quanti pi\u00f9 dati possibili in uno spazio. Potreste essere tentati di ridurre le dimensioni del testo della vostra tabella e, se i dati sono interamente numerici, potreste riuscire a farla franca. Il vostro lettore dovrebbe essere ancora in grado di leggere e interpretare comodamente la tabella dalla sua posizione normale, senza bisogno di sporgersi in avanti.<\/p>\n<h3 id=\"section2\">Non allungate le tabelle<\/h3>\n<p>Molti designer applicheranno istintivamente una larghezza alle loro tabelle, proprio come farebbero con le immagini, estendendole per riempire la colonna o la pagina di testo. E questo \u00e8 l&#8217;appeal dell&#8217;impostare le tabelle a tutta larghezza: potete farle sembrare un po&#8217; come delle immagini quando le si osserva da lontano. Tuttavia, mentre una tabella distribuita su tutto lo schermo potrebbe sembrare preferibile da una certa distanza, a un&#8217;analisi pi\u00f9 attenta sar\u00e0 pi\u00f9 difficile leggerla, poich\u00e9 i dati saranno inutilmente separati. Per aggiungere al danno la beffa, le tabelle impostate a tutta larghezza sono spesso piene di colori di sfondo e bordi per dare alla tabella l&#8217;apparenza di un&#8217;immagine, quando ci\u00f2 che realmente richiede il lettore \u00e8 l&#8217;aspetto del testo. Per il bene dei vostri lettori, evitate queste tentazioni.<\/p>\n<p>Potreste considerare di rendere tutte le colonne di larghezza uniforme. Anche questo non fa nulla per la leggibilit\u00e0 dei contenuti. Alcune celle della tabella saranno troppo larghe, lasciando i dati persi e scollegati dai loro vicini. Le altre celle di una tabella saranno troppo strette, posizionando i dati in maniera disagevole. Le colonne della tabella devono essere ridimensionate in base ai dati che contengono. Le colonne di piccoli numeri dovrebbero essere strette e le colonne di paragrafi dovrebbero essere relativamente ampie. Questo sembra un grande sforzo, e per un print designer lo sarebbe, dato che dovrebbe dimensionare manualmente ogni colonna nel software di layout. Fortunatamente, i browser Web sono molto abili quando si tratta di preparare le tabelle e fanno tutto quel duro lavoro al posto vostro. I browser hanno disposto le tabelle automaticamente in base a complessi algoritmi da molto tempo prima che arrivasse <abbr class=\"c2sc\">CSS<\/abbr>: lasciategli fare il loro mestiere.<\/p>\n<h3 id=\"section3\">Tenete al minimo gli accessori e il riempimento della tabella<\/h3>\n<p>Edward Tufte, esperto di statistica e information designer, ha introdotto il concetto di data-ink nel suo classico del 1983, <cite>The Visual Display of Quantitative Information<\/cite>. Definisce il data-ink come &#8220;il nucleo non cancellabile del grafico&#8221;, mentre il non-data-ink \u00e8 l&#8217;inchiostro utilizzato nel grafico, non per rappresentare direttamente i dati ma per scale, etichette, riempimenti e bordi. Tufte prosegue definendo il rapporto data-ink come la proporzione di inchiostro utilizzata per presentare i dati effettivi rispetto alla quantit\u00e0 totale di inchiostro utilizzata nell&#8217;intero grafico. L&#8217;obiettivo \u00e8 quello di progettare un grafico con il pi\u00f9 alto rapporto data-ink possibile (tendente a 1.0) senza eliminare ci\u00f2 che \u00e8 necessario per una comunicazione efficace.<\/p>\n<p>Dove Tufte parla di grafica, include grafici, diagrammi e tabelle, e dove usa &#8220;inchiostro&#8221; possiamo pensare ai pixel. In termini di tabelle, sta dicendo che nel design dovremmo rimuovere quasi tutto quello che non \u00e8 n\u00e9 dati n\u00e9 spazio bianco. Riducendo al minimo gli accessori, si massimizzano le informazioni. Questo \u00e8 un primo principio ideale da tenere presente quando si considera il progetto <em>tipografico<\/em> di una tabella.<\/p>\n<p>Come punto di partenza, evitate qualsiasi bordo o cornice attorno alla tabella. Si tratta di un abbellimento vittoriano che \u00e8 del tutto inutile in quanto l&#8217;allineamento del testo modeller\u00e0 sufficientemente bene la tabella.<\/p>\n<p>Cercate di ottenere una tabella leggibile usando solo allineamento, spaziatura e raggruppamento. Evitate strisce zebrate, tinte e riempimenti e qualsiasi altro sfondo. Questi possono essere superficialmente belli ma di solito sono una distrazione. Servono a distorcere il significato dei dati evidenziando una riga s\u00ec e una no a scapito delle righe adiacenti. Usate i colori solo come un delicato mezzo per guidare gli occhi del vostro lettore, e solo se non potete organizzare i dati per tale scopo. Se scegliete di usare il colore, fatelo solo nella direzione principale della lettura: verso il basso se sono liste, da una parte all&#8217;altra altrimenti.<\/p>\n<p>Quando si tratta di linee e bordi tra righe e colonne, a cui tipograficamente si fa riferimento come a <dfn>rules<\/dfn>, si applica lo stesso principio: usateli con giudizio e preferibilmente evitateli. Jan Tschichold riassume meravigliosamente questo concetto in <cite>Asymmetric Typography<\/cite>:<\/p>\n<div id=\"figure2\" class=\"quote\">\n<blockquote><p>Le tabelle non dovrebbero essere impostate perch\u00e9 appaiano come reti con ogni numero racchiuso all&#8217;interno. Provate a fare del tutto senza rules. Dovrebbero essere usate solo quando sono strettamente necessarie. Le righe verticali sono necessarie solo quando lo spazio tra le colonne \u00e8 cos\u00ec sottile che potrebbero verificarsi degli errori durante la lettura senza righe. Le tabelle senza le righe verticali sono pi\u00f9 belle. Le righe sottili sono migliori di quelle spesse.<\/p><\/blockquote>\n<\/div>\n<p>Evitate di usare i bordi delle righe o delle colonne a meno che l&#8217;allineamento dei dati, la spaziatura e il raggruppamento non siano sufficienti a guidare l&#8217;occhio del lettore. Se avete bisogno di usare le righe a questo scopo, usatele solo in una direzione e utilizzate un colore pi\u00f9 leggero per ridurre l&#8217;impatto delle linee: state facendo una distinzione, non costruendo una barricata.<\/p>\n<h3 id=\"section4\">Allineate a sinistra il testo, a destra i numeri e i titoli con i dati<\/h3>\n<p>Nello spirito di trattare le tabelle come artefatti da leggere, non centrate il testo all&#8217;interno delle tabelle. Allineate il testo della tabella come fareste in qualsiasi altro posto, ossia a sinistra. Dal momento che il testo nelle tabelle finisce in colonne strette, non giustificate nemmeno il testo, lasciandolo sfilacciato, o finirete con dei fiumi che scorrono lungo le tabelle, causando potenzialmente confusione e di sicuro danneggiandone la leggibilit\u00e0. Potete unire con un trattino, comunque, in particolar modo se le colonne della tabella altrimenti avessero uno sfilacciamento pronunciato.<\/p>\n<p>Allineate a destra i numeri per aiutare il lettore a fare dei confronti di grandezza pi\u00f9 semplici quando scorre lungo le colonne. Per favorire la scansione in questa maniera dovrete avere una precisione consistente nei vostri dati numerici: ossia, usate lo stesso numero di cifre decimali dopo la virgola.<\/p>\n<p>Per consistenza e facilit\u00e0 di comprensione, abbinate l&#8217;allineamento dei titoli all&#8217;allineamento dei dati. Allineate a destra i titoli dei dati numerici e allineate a sinistra i titoli delle colonne con il testo. Per esempio:<\/p>\n<p><!-- th.nums, td.nums { text-align: right; } --><\/p>\n<div id=\"figure3\" class=\"fig-table\">\n<table class=\"ex-alignment\" border=\"0\">\n<thead>\n<tr>\n<th>Country<\/th>\n<th class=\"nums\">Area<\/th>\n<th class=\"nums\">Population<\/th>\n<th class=\"nums\"><abbr class=\"c2sc\">GDP<\/abbr><\/th>\n<th>Capital<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Austria<\/td>\n<td class=\"nums\">83,858<\/td>\n<td class=\"nums\">8,169,929<\/td>\n<td class=\"nums\">339<\/td>\n<td>Vienna<\/td>\n<\/tr>\n<tr>\n<td>Belgium<\/td>\n<td class=\"nums\">30,528<\/td>\n<td class=\"nums\">11,007,000<\/td>\n<td class=\"nums\">410<\/td>\n<td>Brussels<\/td>\n<\/tr>\n<tr>\n<td>Denmark<\/td>\n<td class=\"nums\">43,094<\/td>\n<td class=\"nums\">5,564,219<\/td>\n<td class=\"nums\">271<\/td>\n<td>Copenhagen<\/td>\n<\/tr>\n<tr>\n<td>France<\/td>\n<td class=\"nums\">547,030<\/td>\n<td class=\"nums\">66,104,000<\/td>\n<td class=\"nums\">2,181<\/td>\n<td>Paris<\/td>\n<\/tr>\n<tr>\n<td>Germany<\/td>\n<td class=\"nums\">357,021<\/td>\n<td class=\"nums\">80,716,000<\/td>\n<td class=\"nums\">3,032<\/td>\n<td>Berlin<\/td>\n<\/tr>\n<tr>\n<td>Greece<\/td>\n<td class=\"nums\">131,957<\/td>\n<td class=\"nums\">11,123,034<\/td>\n<td class=\"nums\">176<\/td>\n<td>Athens<\/td>\n<\/tr>\n<tr>\n<td>Ireland<\/td>\n<td class=\"nums\">70,280<\/td>\n<td class=\"nums\">4,234,925<\/td>\n<td class=\"nums\">255<\/td>\n<td>Dublin<\/td>\n<\/tr>\n<tr>\n<td>Italy<\/td>\n<td class=\"nums\">301,230<\/td>\n<td class=\"nums\">60,655,464<\/td>\n<td class=\"nums\">1,642<\/td>\n<td>Rome<\/td>\n<\/tr>\n<tr>\n<td>Luxembourg<\/td>\n<td class=\"nums\">2,586<\/td>\n<td class=\"nums\">448,569<\/td>\n<td class=\"nums\">51<\/td>\n<td>Luxembourg<\/td>\n<\/tr>\n<tr>\n<td>Netherlands<\/td>\n<td class=\"nums\">41,526<\/td>\n<td class=\"nums\">16,902,103<\/td>\n<td class=\"nums\">676<\/td>\n<td>Amsterdam<\/td>\n<\/tr>\n<tr>\n<td>Portugal<\/td>\n<td class=\"nums\">91,568<\/td>\n<td class=\"nums\">10,409,995<\/td>\n<td class=\"nums\">179<\/td>\n<td>Lisbon<\/td>\n<\/tr>\n<tr>\n<td>Spain<\/td>\n<td class=\"nums\">504,851<\/td>\n<td class=\"nums\">47,059,533<\/td>\n<td class=\"nums\">1,075<\/td>\n<td>Madrid<\/td>\n<\/tr>\n<tr>\n<td>Sweden<\/td>\n<td class=\"nums\">449,964<\/td>\n<td class=\"nums\">9,090,113<\/td>\n<td class=\"nums\">447<\/td>\n<td>Stockholm<\/td>\n<\/tr>\n<tr>\n<td>United Kingdom<\/td>\n<td class=\"nums\">244,820<\/td>\n<td class=\"nums\">65,110,000<\/td>\n<td class=\"nums\">2,727<\/td>\n<td>London<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id=\"section5\">Allineate al punto decimale<\/h3>\n<p>Potreste trovarvi nelle condizioni di non aver controllo sulla precisione numerica, o magari i dati con cui state lavorando sono arrotondati allo stesso <em>numero significativo<\/em> piuttosto che aderire alla stessa precisione. In questo caso, semplicemente allineare a destra una colonna di numeri non aiuter\u00e0 il lettore a esaminare la colonna: i numeri piccoli, ad alta precisione a un primo sguardo appariranno come grandi numeri. Al contrario, allineate i numeri al punto decimale. Questo permetter\u00e0 al lettore di confrontare pi\u00f9 rapidamente gli ordini di grandezza tra una variet\u00e0 pi\u00f9 ampia di dati:<\/p>\n<pre id=\"snippet1\" class=\" language-css\"><code class=\" language-css\">+-------------+\n| Call charge |\n+-------------+\n|     $1.30   |\n|     $2.50   |\n|    $10.80   |\n|   $111.01   |\n|    $85      |\n|    N\/A      |\n|      $.05   |\n|      $.06   |\n+-------------+\n<\/code><\/pre>\n<p>Allineare al punto decimale era teoricamente possibile usando l&#8217;attributo <code>char<\/code> di <abbr class=\"c2sc\">HTML 4<\/abbr> su un tag <code>&lt;td&gt;<\/code>, ma in realt\u00e0 non \u00e8 mai stato supportato. Il modo moderno per allineare i numeri a un punto decimale (o a qualsiasi altro carattere, in realt\u00e0) \u00e8 attraverso un nuovo valore della propriet\u00e0 <code>text-align<\/code>, sebbene al momento in cui scrivo questo langue nel <abbr class=\"c2sc\">CSS<\/abbr> Text Module Level 4<sup><a href=\"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/147\/#note2\">2<\/a><\/sup> e il supporto \u00e8 disomogeneo nel migliore dei casi.<\/p>\n<p>La sintassi del nuovo valore \u00e8 semplice. Includete l&#8217;allineamento del carattere (solitamente un punto o una virgola) tra virgolette, seguito da uno spazio e dalla keyword di allineamento desiderato, che ha come default <code>right<\/code> se la omettete. Per esempio, quello che segue centra i dati e li allinea a un punto decimale come nel nostro precedente esempio:<\/p>\n<pre id=\"snippet2\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">td <\/span><span class=\"token punctuation\">{<\/span> <span class=\"token property\">text-align<\/span><span class=\"token punctuation\">:<\/span> <span class=\"token string\">\".\"<\/span> center<span class=\"token punctuation\">;<\/span> <span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>Specificando diversi caratteri per l&#8217;allineamento potete creare il layout di tabelle pi\u00f9 complesse in maniera utile: in questo esempio, allineiamo le cifre a \u2018\u00d7\u2019 e \u2018:\u2019.<\/p>\n<div id=\"figure4\" class=\"fig-table\">\n<table class=\"ex-align\" border=\"0\">\n<caption>Selected display standards<\/caption>\n<thead>\n<tr>\n<th>Video standard<\/th>\n<th colspan=\"3\">Resolution<\/th>\n<th class=\"ex-align-num\">Pixels<\/th>\n<th colspan=\"3\">Aspect<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">QQVGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">160<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">120<\/td>\n<td class=\"ex-align-num\">19k<\/td>\n<td class=\"ex-align-num1\">4<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">3<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">HQVGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">240<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">160<\/td>\n<td class=\"ex-align-num\">38k<\/td>\n<td class=\"ex-align-num1\">3<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">2<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">QVGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">320<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">240<\/td>\n<td class=\"ex-align-num\">76k<\/td>\n<td class=\"ex-align-num1\">4<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">3<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">WQVGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">480<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">272<\/td>\n<td class=\"ex-align-num\">130k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">9<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">VGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">640<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">480<\/td>\n<td class=\"ex-align-num\">307k<\/td>\n<td class=\"ex-align-num1\">4<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">3<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">SVGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">800<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">600<\/td>\n<td class=\"ex-align-num\">480k<\/td>\n<td class=\"ex-align-num1\">4<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">3<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">XGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">1024<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">768<\/td>\n<td class=\"ex-align-num\">786k<\/td>\n<td class=\"ex-align-num1\">4<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">3<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">HD<\/abbr><\/td>\n<td class=\"ex-align-num1\">1260<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">768<\/td>\n<td class=\"ex-align-num\">967k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">9<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">WXGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">1280<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">800<\/td>\n<td class=\"ex-align-num\">1,024k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">10<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">SXGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">1280<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">1024<\/td>\n<td class=\"ex-align-num\">1,310k<\/td>\n<td class=\"ex-align-num1\">5<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">4<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">UXGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">1600<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">1200<\/td>\n<td class=\"ex-align-num\">1,920k<\/td>\n<td class=\"ex-align-num1\">4<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">3<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">FHD<\/abbr><\/td>\n<td class=\"ex-align-num1\">1920<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">1080<\/td>\n<td class=\"ex-align-num\">2,073k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">9<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">DCI<\/abbr> 2K<\/td>\n<td class=\"ex-align-num1\">2048<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">1080<\/td>\n<td class=\"ex-align-num\">2,211k<\/td>\n<td class=\"ex-align-num1\">19<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">10<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\"><abbr class=\"c2sc\">WQXGA<\/abbr><\/td>\n<td class=\"ex-align-num1\">2560<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">1600<\/td>\n<td class=\"ex-align-num\">4,096k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">10<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\">4K <abbr class=\"c2sc\">UHD<\/abbr><\/td>\n<td class=\"ex-align-num1\">3840<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">2160<\/td>\n<td class=\"ex-align-num\">8,294k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">9<\/td>\n<\/tr>\n<tr>\n<td class=\"no-c2sc\">8K <abbr class=\"c2sc\">UHD<\/abbr><\/td>\n<td class=\"ex-align-num1\">7680<\/td>\n<td class=\"ex-align-char\">\u00d7<\/td>\n<td class=\"ex-align-num2\">4320<\/td>\n<td class=\"ex-align-num\">33,177k<\/td>\n<td class=\"ex-align-num1\">16<\/td>\n<td class=\"ex-align-char\">:<\/td>\n<td class=\"ex-align-num2\">9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3 id=\"section6\">Usate numeri lining tabellari nelle tabelle di numeri<\/h3>\n<p>Molte tabelle, come i bilanci o gli orari, sono costituite per la maggior parte da numeri. In linea generale, il loro scopo \u00e8 di fornire al lettore dei dati numerici, presentandoli o su colonne o su righe e a volte in una matrice di due. Il vostro lettore potrebbe usare la tabella scorrendo lungo le colonne, oppure cercando un data point o facendo dei confronti tra i numeri. Il vostro lettore potrebbe anche dare un senso ai dati semplicemente dando un&#8217;occhiata alla colonna o alla riga. \u00c8 molto pi\u00f9 semplice confrontare i numeri se gli uno, le decine e le centinaia sono tutte allineate verticalmente, ossia, tutte le cifre dovrebbero occupare esattamente la stessa larghezza.<\/p>\n<p>Cifre della stessa larghezza possono per loro natura essere trovate nei font monospace e non c&#8217;\u00e8 niente di sbagliato nello scegliere un carattere monospace adatto a presentare una tabella di dati (si veda \u2018Combining typefaces\u2019). Tuttavia, molti font con spazi proporzionali (quelli in cui <em>1<\/em> \u00e8 pi\u00f9 stretto di <em>8<\/em> e <em>W<\/em> \u00e8 pi\u00f9 largo di <em>I<\/em>) hanno anche delle serie aggiuntive di cifre che sono monospace. Questi sono chiamati <dfn>numeri tabellari<\/dfn>. Oltre ad essere di uguale larghezza, i numeri tabellari saranno delicatamente progettati in modo diverso dai numeri proporzionali standard. Ad esempio, un <em>1<\/em> normalmente avr\u00e0 una barra per la base e uno <em>0<\/em> (zero) potr\u00e0 essere progettato leggermente pi\u00f9 stretto per adattarsi meglio alla larghezza del numero scelto. I numeri tabulari sono solitamente disponibili nelle varianti vecchio stile e rivestimento. Utilizzate i numeri lining tabulari per fornire al vostro lettore il modo pi\u00f9 efficace per esaminare verticalmente e orizzontalmente le tabelle di dati.<\/p>\n<div id=\"figure5\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" style=\"width: 60%;\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-numerals.png\" alt=\"Una tabella di dati\" width=\"100%\" border=\"0\" \/><\/p>\n<p>Confronto tra vari stili numerici.<\/p>\n<\/div>\n<p>Per specificare i numeri lining tabellari, impostate la propriet\u00e0 <code>font-variant-numeric<\/code> al valore di <code>lining-nums<\/code> e <code>tabular-nums<\/code>:<\/p>\n<pre id=\"snippet3\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">table <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">font-variant-numeric<\/span><span class=\"token punctuation\">:<\/span> lining-nums tabular-nums<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>Le propriet\u00e0 equivalenti per i browser legacy che richiedono <code>font-feature-settings<\/code>, usate il feature tag di OpenType <code>lnum<\/code> e <code>tnum<\/code>.<\/p>\n<h4 id=\"section7\">Numeri proporzionali<\/h4>\n<p>Se \u00e8 necessario specificare i numeri proporzionali, impostate la propriet\u00e0 <code>font-variant-numeric<\/code> al valore <code>proportional-nums<\/code>. Per i browser legacy che richiedono <code>font-feature-settings<\/code>, usate il feature tag di OpenType <code>pnum<\/code>.<\/p>\n<h3 id=\"section8\">Mettete al lavoro lo spazio bianco per raggruppare e separare<\/h3>\n<p>Dopo aver eliminato righe e riempimenti (bordi e sfondi) dalla tabella, dovrete applicare uno spazio bianco alla tabella in modo che il lettore possa darle un senso. \u00c8 a questo punto che dovreste cancellare dalla vostra mente tutte le visioni di fogli di calcolo e altre griglie cos\u00ec uniformi, e pensare invece in termini di tipografia e semplici principi di raggruppamento gestalt.<\/p>\n<p>Dovrete principalmente separare i dati in modo che ciascun elemento possa essere individualmente identificato e letto come separato dagli altri. Per avere pi\u00f9 controllo sulla spaziatura, prima riducete la spaziatura tra i bordi:<\/p>\n<pre id=\"snippet4\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">table <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">border-collapse<\/span><span class=\"token punctuation\">:<\/span> collapse<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>Nelle tradizionali tabelle <abbr class=\"c2sc\">HTML<\/abbr>, le celle adiacenti hanno ognuna i bordi distinti, separati gli uni dagli altri, con la separazione ancora presente anche se i bordi non lo sono. Nel border model collapsed, le celle adiacenti della tabella condividono i bordi. Dal momento che stiamo rimuovendo (quasi) tutti i bordi delle celle e quelli che preserveremo saranno singole linee chiave, il border model collapsed \u00e8 il pi\u00f9 appropriato.<\/p>\n<p>Ora, applicate il padding alle celle della tabella per separare i dati. Scoprirete che aggiungere una piccola quantit\u00e0 di padding al top della cella \u00e8 un modo utile per fornire una separazione visivamente equilibrata tra le righe sopra e sotto. Per assicurare che tutto si allinei bene, applicate lo stesso padding delle celle dati alle celle di heading. Dal momento che le lunghezze delle righe sono spesso molto corte nelle tabelle, potete ridurre la line height direttamente verso il basso. Nell&#8217;esempio seguente, abbiamo rimosso tutta l&#8217;interlinea aggiuntiva, ma potreste servirvene di pi\u00f9 in base alla scelta del font e alla quantit\u00e0 di testo nelle celle della tabella.<\/p>\n<pre id=\"snippet5\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">td, th <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">padding<\/span><span class=\"token punctuation\">:<\/span> 0.125em 0.5em 0.25em 0.5em<span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">line-height<\/span><span class=\"token punctuation\">:<\/span> 1<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>I principi di raggruppamento gestalt pi\u00f9 utili nelle tabelle sono quelli di prossimit\u00e0 e somiglianza. Spostate i dati correlati pi\u00f9 vicini per essere distinti dagli altri dati: in altre parole, distanziate i gruppi di righe o colonne. Un sottoprodotto del raggruppamento di righe \u00e8 che i dati diventano molto pi\u00f9 facili da analizzare e consultare rispetto a una tabella consistente in una successione di righe indifferenziate. Assicuratevi che i dati di un contenuto o di un significato simili abbiano un aspetto simile a prima vista, cosa che potete fare attraverso l&#8217;allineamento, il colore e lo stile dei caratteri.<\/p>\n<h4 id=\"section9\">Opzioni della tabella<\/h4>\n<p>Ci occuperemo delle specifiche tipografiche delle didascalie della tabella in \u2018Choosing typefaces for functional text\u2019 ma vale la pena notare ora come usare il markup per le didascalie delle tabelle. Se state scegliendo di mettere la vostra tabella all&#8217;interno di un elemento <code>&lt;figure&gt;<\/code>, che \u00e8 una cosa perfettamente ragionevole da fare, allora usate un elemento <code>&lt;p&gt;<\/code> prima o dopo la tabella. Se la vostra tabella non \u00e8 all&#8217;interno di un elemento <code>&lt;figure&gt;<\/code>, o se avete pi\u00f9 item nella figure, usate l&#8217;elemento opportunamente chiamato <code>&lt;caption&gt;<\/code>, fornito da <abbr class=\"c2sc\">HTML<\/abbr> specificamente per le tabelle. Scrivete sempre il tag <code>&lt;caption&gt;<\/code> immediatamente dopo l&#8217;apertura del tag <code>&lt;table&gt;<\/code> e prima di qualsiasi dato della tabella, cos\u00ec:<\/p>\n<pre id=\"snippet6\"><code class=\"language-html\">&lt;table&gt;\n    &lt;caption&gt;\n    Imperial to metric conversion factors\n    &lt;p&gt;&lt;i&gt;Values are given to three significant figures&lt;\/i&gt;&lt;\/p&gt;\n    &lt;\/caption&gt;\n    &lt;thead&gt; \u2026 &lt;\/thead&gt;\n    &lt;tbody&gt; \u2026 &lt;\/tbody&gt;\n&lt;\/table&gt;<\/code><\/pre>\n<p>Potete posizionare la didascalia o sopra o sotto la tabella, usando la propriet\u00e0 <code>caption-side<\/code> e un valore corrispondente a scelta tra <code>top<\/code> o <code>bottom<\/code>.<\/p>\n<pre id=\"snippet7\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">caption <\/span><span class=\"token punctuation\">{<\/span> <span class=\"token property\">caption-side<\/span><span class=\"token punctuation\">:<\/span> bottom<span class=\"token punctuation\">;<\/span> <span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>La seguente tabella mostra una didascalia e dimostra i principi Gestalt di raggruppamento separando i dati in righe correlate:<\/p>\n<div id=\"figure6\" class=\"fig-table\">\n<table class=\"ex-complextable noborders\" border=\"0\">\n<caption>Imperial to metric conversion factors<\/p>\n<p><em>Values are given to three significant figures unless exact<\/em><\/p>\n<\/caption>\n<thead>\n<tr>\n<th><\/th>\n<th>To convert<\/th>\n<th>into<\/th>\n<th class=\"nums nobr\">multiply by<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th rowspan=\"4\">Length<\/th>\n<td>inches<\/td>\n<td>millimetres (mm)<\/td>\n<td class=\"nums\">25.4<\/td>\n<\/tr>\n<tr>\n<td>feet<\/td>\n<td>centimetres (cm)<\/td>\n<td class=\"nums\">30.48<\/td>\n<\/tr>\n<tr>\n<td>yards<\/td>\n<td>metres (m)<\/td>\n<td class=\"nums\">0.91444<\/td>\n<\/tr>\n<tr>\n<td>miles<\/td>\n<td>kilometres (km)<\/td>\n<td class=\"nums\">1.61<\/td>\n<\/tr>\n<tr class=\"group\">\n<th rowspan=\"4\">Area<\/th>\n<td>square inches<\/td>\n<td class=\"nobr\">sq. millimetres (mm\u00b2)<\/td>\n<td class=\"nums\">645<\/td>\n<\/tr>\n<tr>\n<td>square feet<\/td>\n<td>square metres (m\u00b2)<\/td>\n<td class=\"nums\">0.0929<\/td>\n<\/tr>\n<tr>\n<td>square yards<\/td>\n<td>square metres (m\u00b2)<\/td>\n<td class=\"nums\">0.836<\/td>\n<\/tr>\n<tr>\n<td>acres<\/td>\n<td>hectares<\/td>\n<td class=\"nums\">2.47<\/td>\n<\/tr>\n<tr class=\"group\">\n<th rowspan=\"4\">Volume<\/th>\n<td>cubic inches<\/td>\n<td>millitres (ml)<\/td>\n<td class=\"nums\">16.4<\/td>\n<\/tr>\n<tr>\n<td>cubic feet<\/td>\n<td>litres<\/td>\n<td class=\"nums\">28.3<\/td>\n<\/tr>\n<tr>\n<td>imperial gallons<\/td>\n<td>litres<\/td>\n<td class=\"nums\">4.55<\/td>\n<\/tr>\n<tr>\n<td><abbr class=\"c2sc\">US<\/abbr> barrels<\/td>\n<td>cubic metres (m\u00b3)<\/td>\n<td class=\"nums\">0.159<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Notate che, in questo esempio, i numeri non si allineano al punto decimale. Questo perch\u00e9 lo scopo della tabella \u00e8 che il lettore possa facilmente identificare ed estrarre un fattore moltiplicativo. In questo caso non esiste un caso d&#8217;uso ovvio per confrontare le grandezze relative dei fattori, che \u00e8 dove l&#8217;allineamento decimale tornerebbe utile.<\/p>\n<h3 id=\"section10\">Non eccedete con gli stili delle tabelle<\/h3>\n<p>Lo scrittore-aviatore francese Antoine de Saint-Exup\u00e9ry scrisse<sup><a href=\"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/147\/#note3\">3<\/a><\/sup> <q>La perfezione non si ottiene quando non c\u2019\u00e8 pi\u00f9 nulla da aggiungere, bens\u00ec quando non c\u2019\u00e8 pi\u00f9 nulla da togliere<\/q>. Citare de Saint-Exup\u00e9ry pu\u00f2 esser un clich\u00e9 ormai, ma la sua frase \u00e8 perfetta per il design delle tabelle. Non c&#8217;\u00e8 bisogno di far apparire una tabella come un foglio di calcolo. Uno spreadsheet \u00e8 un tool di per s\u00e9, una tabella serve a presentare dati e informazioni che possano essere letti. Il software dei fogli di calcolo offre una moltitudine di opzioni per gli stili delle tabelle, che aggiungono la formattazione del testo, i bordi, il riempimento dello sfondo e tutta un&#8217;altra serie di abbellimenti. Cos\u00ec si ottengono delle belle immagini ma non si fa nulla per la leggibilit\u00e0 della tabella, quindi non cercate di emulare quegli stili. Le tabelle possono essere belle ma non sono capolavori artistici. Invece di dipingerle e decorarle, progettate tabelle per i vostri lettori.<\/p>\n<div id=\"figure7\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-table-0.png\" alt=\"Tabella iniziale progettata male\" width=\"100%\" border=\"0\" \/><\/p>\n<p>Una tipica tabella con gli stili di un foglio di calcolo, impostata a tutta larghezza, con bordi, riempimenti e allineamento al centro.<\/p>\n<\/div>\n<div id=\"figure8\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-table-1.png\" alt=\"Miglioramento nel design della tabella\" width=\"100%\" border=\"0\" \/><\/p>\n<p>1. Rimuovete stretch e ridimensionate le colonne in base ai dati.<\/p>\n<\/div>\n<div id=\"figure9\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-table-2.png\" alt=\"Miglioramento nel design della tabella\" width=\"100%\" border=\"0\" \/><\/p>\n<p>2. Rimuovete riempimenti, linee della griglia, bordi e grassetto.<\/p>\n<\/div>\n<div id=\"figure10\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-table-3.png\" alt=\"Miglioramento nel design della tabella\" width=\"100%\" border=\"0\" \/><\/p>\n<p>3. Allineate a sinistra il testo, allineate a destra i numeri e allineate i titoli con i dati.<\/p>\n<\/div>\n<div id=\"figure11\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-table-4.png\" alt=\"Miglioramento nel design della tabella\" width=\"100%\" border=\"0\" \/><\/p>\n<p>4. Mettete al lavoro lo spazio bianco per raggruppare e separare.<\/p>\n<\/div>\n<div id=\"figure12\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-table-5.png\" alt=\"Miglioramento nel design della tabella\" width=\"100%\" border=\"0\" \/><\/p>\n<p>5. Usate i numeri lining tabella, precisione consistente e rimuovete le ripetizioni.<\/p>\n<\/div>\n<h3 id=\"section11\">Adattate le tabelle ai piccoli schermi<\/h3>\n<p>Le tabelle regolarmente richiedono un bel po&#8217; di spazio orizzontale per visualizzare le informazioni che contengono. Anche se progettata e modificata con giudizio, una tabella tipica potrebbe dover essere pi\u00f9 ampia dei 45-75 caratteri che normalmente usiamo per il testo. Per schermi di piccole dimensioni, come i telefoni, la progettazione di tabelle leggibili che funzionano in condizioni cos\u00ec ristrette ci pone una seria sfida. I migliori approcci trattano sempre ogni tabella caso per caso, ma ci\u00f2 non \u00e8 sempre possibile se abbiamo bisogno di assegnare degli stili generali a qualsiasi cosa provenga dal database di un <abbr class=\"c2sc\">CMS<\/abbr>.<\/p>\n<p>Un approccio immediato \u00e8 di usare o un font condensato <em>o<\/em> una dimensione leggermente pi\u00f9 piccola (ma non contemporaneamente pi\u00f9 piccola e condensato). In entrambe i casi, la leggibilit\u00e0 deve rimanere di primaria importanza e dovreste esplorare anche altre opzioni.<\/p>\n<h4 id=\"section12\">Considerate di impostare i titoli in obliquo per risparmiare spazio<\/h4>\n<p>Un modo per risparmiare spazio orizzontale, particolarmente quando avete piccoli pezzi di dati ma titoli lunghi, \u00e8 di impostare i titoli a un angolo obliquo.<\/p>\n<div id=\"figure13\" class=\"img full\"><img decoding=\"async\" class=\"img-nocolour img-nopadding\" style=\"width: 25%;\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-oblique-headings.png\" alt=\"Tabella che mostra Fahrenheit rispetto a Celsius con i titoli in obliquo.\" border=\"0\" \/><\/p>\n<p>Usare i titoli in obliquo per risparmiare spazio.<\/p>\n<\/div>\n<p>Per ottenere questo effetto si pu\u00f2 semplicemente usare una semplice traslazione CSS. Dovrete anche posizionare in maniera assoluta i titoli cos\u00ec che la larghezza originale delle colonne non venga conservata e possano stringersi invece attorno ai dati.<\/p>\n<pre id=\"snippet8\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">th <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">transform-origin<\/span><span class=\"token punctuation\">:<\/span> bottom left<span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">position<\/span><span class=\"token punctuation\">:<\/span> absolute<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token selector\">th.degC <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">transform<\/span><span class=\"token punctuation\">:<\/span> translate(2.58em,-2em) rotate(-60deg)<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token selector\">th.degF <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">transform<\/span><span class=\"token punctuation\">:<\/span> translate(5.14em,-2em) rotate(-60deg)<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<h4 id=\"section13\">Lasciate che sia il browser a gestire le tabelle con lo scroll orizzontale<\/h4>\n<p>La soluzione pi\u00f9 semplice per aiutare le tabelle di ogni dimensione e complessit\u00e0 \u00e8 di lasciare che sia il browser a disporre la tabella come meglio pu\u00f2 e rendere la tabella fuori dallo schermo se necessario. Purch\u00e9 poi mettiate il vostro lettore in condizione di scorrere la tabella di lato indipendentemente dal resto del testo, la tabella pu\u00f2 essere messa a fuoco in maniera relativamente semplice.<\/p>\n<div id=\"figure14\" class=\"img full\"><img decoding=\"async\" class=\"img-nopadding img-nocolour\" style=\"width: 50%;\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-crawl.png\" alt=\"Una tabella pi\u00f9 larga dello schermo del telefono\" width=\"100%\" border=\"0\" \/><\/p>\n<p>Usare una barra di scorrimento per visualizzare la tabella.<\/p>\n<\/div>\n<p>Per farlo, per prima cosa avvolgete la tabella in un elemento <code>&lt;figure&gt;<\/code>:<\/p>\n<pre id=\"snippet9\"><code class=\"language-html\">&lt;figure class=\"fig-table\"&gt;\n&lt;table&gt; \u2026 &lt;\/table&gt;\n&lt;\/figure&gt;<\/code><\/pre>\n<p>Poi applicate le seguenti semplici regole per nascondere la porzione off-screen della tabella e mettere il vostro lettore in condizione di scorrere la tabella senza influenzare il resto del testo:<\/p>\n<pre id=\"snippet10\" class=\" language-css\"><code class=\" language-css\"><span class=\"token selector\">.fig-table <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">max-width<\/span><span class=\"token punctuation\">:<\/span> 100%<span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">overflow-x<\/span><span class=\"token punctuation\">:<\/span> scroll<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>\u00c8 importante non impostare una larghezza alla tabella: il browser pu\u00f2 comprimere la tabella finch\u00e9 pu\u00f2 prima di farla defluire fuori dallo schermo. Per preservare la leggibilit\u00e0, fate un buon uso dei non-breaking spaces e di <code>white-space:nowrap<\/code> per limitare la quantit\u00e0 di data wrap nelle celle. \u00c8 meglio avere una tabella leggibile che richiede lo scrolling piuttosto che una illeggibile che non lo richiede.<\/p>\n<h4 id=\"section14\">Delineate le tabelle semplici come liste<\/h4>\n<p>Potete tranquillamente linearizzare le tabelle di dati semplici quando lo spazio \u00e8 limitato. Le tabelle che meglio si adattano a questo trattamento sono gli elenchi di dati strutturati, come per esempio un elenco degli impiegati:<\/p>\n<div id=\"figure15\" class=\"fig-table\">\n<table class=\"ex-rtable1\" border=\"0\">\n<thead>\n<tr>\n<th>Name<\/th>\n<th>Email<\/th>\n<th>Title<\/th>\n<th>Phone<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Jones, Claire<\/th>\n<td>claire.jones\u200b@domain.com<\/td>\n<td>Managing Director<\/td>\n<td>01234 567890<\/td>\n<\/tr>\n<tr>\n<th>Smith, Darren<\/th>\n<td>darren.smith\u200b@domain.com<\/td>\n<td>Head of Sales<\/td>\n<td>01234 567891<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Quando non c&#8217;\u00e8 spazio abbastanza perch\u00e9 la tabella venga mostrata con un certo agio, possiamo impostarle un layout completamente diverso. Questo \u00e8 in generale meno compatto e occupa pi\u00f9 spazio in verticale, ma riesce a far stare la tabella in una viewport molto pi\u00f9 stretta:<\/p>\n<div id=\"figure16\" class=\"fig-table\">\n<table class=\"noborders ex-rtable2\" border=\"0\">\n<tbody>\n<tr>\n<th>Name:<\/th>\n<th>Jones, Claire<\/th>\n<\/tr>\n<tr>\n<td>Email:<\/td>\n<td>claire.jones@domain.com<\/td>\n<\/tr>\n<tr>\n<td>Title:<\/td>\n<td>Managing Director<\/td>\n<\/tr>\n<tr>\n<td>Phone:<\/td>\n<td>01234 567890<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table class=\"noborders ex-rtable2\" border=\"0\">\n<tbody>\n<tr>\n<th>Name:<\/th>\n<th>Smith, Darren<\/th>\n<\/tr>\n<tr>\n<td>Email:<\/td>\n<td>darren.smith@domain.com<\/td>\n<\/tr>\n<tr>\n<td>Title:<\/td>\n<td>Head of Sales<\/td>\n<\/tr>\n<tr>\n<td>Phone:<\/td>\n<td>01234 567891<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>I due rendering della nostra tabella con l&#8217;elenco degli impiegati usano esattamente lo stesso markup, compresi gli elementi HTML convenzionali che ci si aspetterebbe in una tabella. La sola aggiunta dell&#8217;attributo <code>data-title<\/code> su ogni cella ci permette di ripetere l&#8217;etichetta nella vista dell&#8217;elenco, nel caso ne avessimo necessit\u00e0.<\/p>\n<pre id=\"snippet11\"><code class=\"language-html\">&lt;th data-title=\"Name\"&gt;Jones, Claire&lt;\/th&gt;\n&lt;td data-title=\"Email\"&gt;claire.jones@domain.com&lt;\/td&gt;\n&lt;td data-title=\"Title\"&gt;Managing Director&lt;\/td&gt;\n&lt;td data-title=\"Phone\"&gt;01234&amp;nbsp;567890&lt;\/td&gt;<\/code><\/pre>\n<p>Ci sono quattro semplici passi per trasformare una tabella in una lista, usando una media query e CSS (non serve JavaScript).<\/p>\n<ol>\n<li>Identificare la larghezza della viewport a cui la tabella comincia a vedersi male.<\/li>\n<li>Applicare <code>display:block<\/code> a tutti gli elementi relativi alla tabella, cos\u00ec che si allineino verticalmente invece che come tabella.<\/li>\n<li>Nascondere la riga header e ogni cella vuota.<\/li>\n<li>Mostrare le etichette per ogni data item (opzionale).<\/li>\n<\/ol>\n<p>Dovrete applicare alcuni stili in pi\u00f9 per estetica e leggibilit\u00e0, ma la responsiveness descritta pu\u00f2 essere ottenuta con queste poche righe di codice CSS:<\/p>\n<pre id=\"snippet12\" class=\" language-css\"><code class=\" language-css\"><span class=\"token atrule\">@media (max-width: 25em) <\/span><span class=\"token punctuation\">{<\/span>\n  <span class=\"token selector\">table, caption, tbody, tr, th, td <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">display<\/span><span class=\"token punctuation\">:<\/span> block<span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">text-align<\/span><span class=\"token punctuation\">:<\/span> left<span class=\"token punctuation\">;<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token selector\">thead, th:empty, td:empty <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">display<\/span><span class=\"token punctuation\">:<\/span> none<span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">visibility<\/span><span class=\"token punctuation\">:<\/span> hidden<span class=\"token punctuation\">;<\/span>\n  <span class=\"token punctuation\">}<\/span>\n  <span class=\"token selector\">th[data-title]:before, td[data-title]:before <\/span><span class=\"token punctuation\">{<\/span>\n    <span class=\"token property\">content<\/span><span class=\"token punctuation\">:<\/span> attr(data-title) <span class=\"token string\">\": \"<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">display<\/span><span class=\"token punctuation\">:<\/span> inline-block<span class=\"token punctuation\">;<\/span>\n    <span class=\"token property\">width<\/span><span class=\"token punctuation\">:<\/span> 3.5em<span class=\"token punctuation\">;<\/span>\n  <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span><\/code><\/pre>\n<p>Questa tecnica \u00e8 stata resa popolare per la prima volta da Aaron Gustafson<sup><a href=\"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/147\/#note4\">4<\/a><\/sup>.<\/p>\n<h4 id=\"section15\">Rendete le tabelle responsive in base al loro scopo<\/h4>\n<p>Ci sono molte tecniche diverse<sup><a href=\"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/147\/#note5\">5<\/a><\/sup> a nostra disposizione per rendere responsive le tabelle di dati. Alcune sono semplici metodi <abbr class=\"c2sc\">CSS<\/abbr>-only (ne abbiamo gi\u00e0 visti due), altre sono complesse, rese possibili da JavaScript. Quando considerate quale tecnica usare, chiedetevi in che modo il vostro lettore user\u00e0 la tabella. In particolare, considerate se il vostro lettore probabilmente confronter\u00e0 le righe o le colonne: questo tipo di tabelle richiede un&#8217;attenzione extra dovuta al modo in cui vengono usate.<\/p>\n<p>Quando \u00e8 importante essere in grado di confrontare le colonne, un metodo consiste nel nascondere i campi non essenziali e fornire un&#8217;opzione per riattivarle. Questa tecnica \u00e8 stata resa popolare da Filament Group<sup><a href=\"https:\/\/alistapart.com\/it\/article\/web-typography-tabelle\/147\/#note6\">6<\/a><\/sup> usando le tabelle finanziarie come esempio:<\/p>\n<div id=\"figure17\" class=\"img full\"><img decoding=\"async\" class=\"img-nopadding\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-tablesaw1.png\" alt=\"Tabella con 7 righe e 9 colonne di dati di borsa\" width=\"100%\" border=\"0\" \/><\/p>\n<p>Una tabella ricca di dati visualizzata su un grande schermo.<\/p>\n<\/div>\n<div id=\"figure18\" class=\"img full\"><img decoding=\"async\" class=\"img-nopadding\" style=\"width: 60%;\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/2-tables-tablesaw2b.png\" alt=\"Tabella con 7 righe, 2 colonne di dati di borsa\" width=\"100%\" border=\"0\" \/><\/p>\n<p>La stessa tabella con colonne nascoste e opzioni da attivare.<\/p>\n<\/div>\n<p>Le tabelle sono un aspetto frequentemente trascurato della lettura, a volte con stili eccessivi, a volte progettato male. La responsiveness \u00e8 un problema particolarmente spinoso in quanto le soluzioni migliori dipendono molto dall&#8217;utilit\u00e0 della tabella. Le tabelle possono essere piene di dati, ricche di contenuti e di significati. Date loro l&#8217;attenzione che meritano.<\/p>\n<h2 id=\"section16\">Volete saperne di pi\u00f9?<\/h2>\n<p>Questo estratto da <cite>Web Typography<\/cite> vi aiuter\u00e0 a partire. <a href=\"http:\/\/book.webtypography.net\/\">Ordinate la versione integrale<\/a>.<\/p>\n<div id=\"figure19\" class=\"img full\"><img decoding=\"async\" src=\"http:\/\/alistapart.com\/it\/wp-content\/uploads\/sites\/2\/2018\/04\/cover.png\" alt=\"Cover of Web Typography\" border=\"0\" \/><\/div>\n<div class=\"entry-footnotes\">\n<h1>Note<\/h1>\n<ul class=\"the-footnotes\">\n<li id=\"note1\">1. <cite>Asymmetric Typography<\/cite> di Jan Tschichold (1967, l&#8217;originale \u00e8 del 1935).<\/li>\n<li id=\"note2\">2. <a href=\"https:\/\/drafts.csswg.org\/css-text-4\/#character-alignment\">Character-based Alignment in a Table Column<\/a><span class=\"outlink\"> (http:\/\/wbtyp.net\/103)<\/span> nel <abbr class=\"c2sc\">CSS<\/abbr> Text Module Level 4.<\/li>\n<li id=\"note3\">3. <cite>Terre des Hommes<\/cite> (tradotto in Inglese come <cite>Wind, Sand and Stars<\/cite>) di Antoine de Saint-Exup\u00e9ry (1939).<\/li>\n<li id=\"note4\">4. \u2018<a href=\"http:\/\/blog.easy-designs.net\/archives\/responsive-tables\/\">Responsive Tables<\/a>\u2019<span class=\"outlink\"> (http:\/\/wbtyp.net\/16)<\/span> di Aaron Gustafson su <cite>Easy Designs blog<\/cite> (2013).<\/li>\n<li id=\"note5\">5. Si veda <span class=\"no-c2sc\"><abbr class=\"c2sc\">CSS<\/abbr>-Tricks\u2019<\/span> \u2018<a href=\"https:\/\/css-tricks.com\/tag\/responsive-tables\/\">Responsive Tables<\/a>\u2019<span class=\"outlink\"> (http:\/\/wbtyp.net\/148)<\/span> per le opzioni pi\u00f9 recenti.<\/li>\n<li id=\"note6\">6. Filament Group\u2019s \u2018<a href=\"https:\/\/github.com\/filamentgroup\/tablesaw\">Tablesaw<\/a>\u2019<span class=\"outlink\"> (http:\/\/wbtyp.net\/15)<\/span> responsive table plug-ins.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Potreste non pensarci spesso, ma le tabelle devono essere lette. In questo estratto dal Capitolo 2 del suo libro, Web Typography, Richard Rutter spiega come la tipografia possa migliorare la UX delle nostre righe e colonne.<\/p>\n","protected":false},"author":818,"featured_media":7000834,"comment_status":"open","ping_status":"open","template":"","categories":[208,275],"tags":[],"coauthors":[522],"class_list":["post-804","article","type-article","status-publish","has-post-thumbnail","hentry","category-numero-230-6-novembre-2017","category-tipografia-web-font"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article\/804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/types\/article"}],"author":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/users\/818"}],"replies":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/comments?post=804"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media\/7000834"}],"wp:attachment":[{"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/media?parent=804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/categories?post=804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/tags?post=804"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/alistapart.com\/it\/wp-json\/wp\/v2\/coauthors?post=804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}