When presenting data tables, we recommend stripping away backgrounds and grids and using alignment, formatting, and whitespace to guide the eye along the rows and columns of the data.
But what if you have lots of rows with many columns that stretch across a screen or page? Or perhaps you have large gaps between fields because of varying text lengths. In both these cases, tracking across rows can be difficult.
To combat this, Stephen Few recommends zebra striping, where a light shaded colour is used on alternating rows to aid scanning across.
Problem solved, right?
Maybe not. They’re almost always poorly done. If your fill colour is too dark, it overemphasizes rows that shouldn’t be and hampers vertical scrolling. Even with subtle shading, it’s like looking through a pair of those horrible shutter sunglasses from the eighties. Worst of all, they might not even help. A List Apart ran a study that suggests zebra stripes don’t actually increase accuracy or speed.
For both aesthetic and performance reasons, I suggest we find an alternative. I propose fat zebras.
Fat zebras have less visual noise because they switch back and forth less frequently. As for tracking, I find them even easier, simply following the top, middle, or bottom row of the filled section across. (We will have to wait for a follow-up study to see if they actually help - it seems people don’t prefer the look of them on smaller tables, but there is no indication on their performance.)
One potential drawback to consider when using fat zebras is ‘implied grouping’. Depending on your data set, people may think the fill colours indicate that data share some specific quality. For this reason, it is vitally important, as with regular stripes, that the background fill be as subtle as possible. I would also recommend avoiding it when there are only a few rows of data visible as it’s even more likely to appear as data grouping.
Edward Tufte claims that “good typography can always organize a table, no stripes needed.” When working with large tables, however, I prefer to show my stripes, even if they are fat.