Zebra Striping: Does it Really Help?

The conclusions in this A List Apart article about zebra striping, the method of using alternating row colors in tables, strike me as odd. My first reaction to the article was, "Why do you need to study the usability of that technique?" I wonder if the issue isn't so much a question of usability, but rather of aesthetic sensibility. Bad table row style without zebra striping can adversely affect readability as much as good zebra striping or horizontal rule style.

Personally, I've never questioned whether zebra striping was a waste of time or not. I usually try to use methods that skirt the issue by using adequate spacing of rows and columns, using alignment well, and when necessary designing thin, faint horizontal borders that might aid in readability in the larger tables. I then use background color where categories or layers are warranted. This practice comes to us from Tufte's Envisioning Information in the third chapter, where he talks about freeing tables from the imprisonment of grids and using typography instead to suggest the grid.

I wonder if the author might have just been after a way to justify removing zebra striping. But the problem with the study was that the implementation of borders in combination with background colors on the tables that were tested compared bad zebra striping to non-striped tables. A better study would have added a table that was designed as I describe above.

In large tables or spreadsheets it might be difficult to follow a row across a large set of columns. In those cases, some light horizontal rules might help. When designed well, tables can go without borders and zebra striping or light horizontal rules can aid in this quick scanning across a row. More than a few times in the past, I've found myself working with large tables skimming across and then not knowing if I was in the right row.

The point here is, they can be helpful, so if there's no harm in using this stylistic technique, why question whether they're worth the trouble. You can create them with code that looks for odd/even rows and applies classes where appropriate. I don't buy the argument that they cost us time in implementation. I just think we need to lean on better ways to style them.