I will soon have to design several data tables collecting text data to compare different tech services.

I am therefore wondering what the best practices to make data tables are today.

They don't have to be design-heavy, but:

  • they should look good on mobile and desktop,
  • they should be easy to print,
  • they should be compatible with screen readers for the visually impaired,
  • it should be quick to edit/design/publish,
  • there should be some design elements, like fonts and cell color, header title.

I only found this article while trying to understand how people make tables in the age of mobile, which suggests a code-based workflow.

I gave InDesign (which I use everyday for layout) a try at making tables, but I found the workflow too cumbersome and I'm currently using Apple Numbers and exporting to PDF then edit the PDF in Illustrator and InDesign.

  • You might want to give Indesign a second change. The only reason I can think of why you feel that workflow beats doing it in Indesign is that you are not using table and cell styles: helpx.adobe.com/indesign/using/table-cell-styles.html — It's not very clear to me how mobile fits into all of this...
    – Joonas
    Oct 3, 2018 at 23:07
  • You are absolutely right, when I got into it the whole process of creating a style seemed to take as long as the whole job in Numbers... And so technical as well Oct 4, 2018 at 0:42
  • 2
    @MicroMachine If you don't like the process of creating styles then InDesign is not for you. The entire point of the application is creation of styles. But then you don't need to create them more once and then you can recycle them. It is a fairly typical feature of professional apps that they don't make things exactly easy, usually you can find a consumer oriented app that does it easier, rather the point is to give more flexibility in defining what you want. This more than likely is more work than simple software are even capable of giving you.
    – joojaa
    Oct 4, 2018 at 6:13
  • Would TeX or XSL-FO be a acceptable solution for you?
    – joojaa
    Oct 4, 2018 at 8:38
  • I think learning a new language seems like a long and tedious option? Oct 4, 2018 at 15:49

2 Answers 2


Do them in pure HTML and style with CSS. That is the whole point of it.

  • they should look good on mobile and desktop. Checked.

  • they should be easy to print. Checked.

  • they should be compatible with screen readers for the visually impaired. Checked.

  • it should be quick to edit/design/publish. Checked. Sort of*.

  • there should be some design elements, like fonts and cell color, header title. Checked.

HTML has many, and I mean, Many features that need to be addressed to maximize them.

For example, there are some tags, like colgroups, col, captions, thead, tbody and tfoot to organize the meaning of the elements. This opens the door to optimize the user experience, for example, you can collapse unnecessary columns, keep the headers fixed, etc.

You also can easily stabilize them using CSS, and prepare stylesheets for print.

The point marked as * is relative because it depends a bit if you are using an application or pure code, if you are using a database, make them generated in an automatic way, etc. There are many ways to edit the data, but once you establish a method it is easy. That is the point at the end.

Additional requirements:

  • are efficient. Checked.

  • responsive. Checked.

  • and accessible. Checked. It is free.

  • workflows... here is a specific topic that its too board to address. A workflow can be a team of persons or a simple way you work. You simply need to learn to do solid steps, and you can reuse some elements you did well in a past project.


Html world is a wide collection of things you can plug... or need someone else to plug it for you. Either you go to the store to buy a screwdriver you need, some calipers, etc, so you can make your own toolset, or you can look for a premade thing assembled by someone else.

When I say to them in pure HTML is a thing you can do. A do it yourself. And it is not a bad thing, it is not an "unprofessional" thing. I mostly do not think in premade applications.

And when I say "Make them generated in an automatic way" I think in a custom PHP script. But also this PHP script is based on the needs of the project, which in your case is not defined.

I do not think your project needs any database at all. Because you are thinking of "manual" solutions as InDesign and PDF. A custom made database will generate you tables from thousands of data, but you probably do not need more than a handful.

At the end. Your project needs to be defined further more than a post on a forum can.

  • Thank you Rafael for this very thorough answer. When you say "if you are using an application or pure code, if you are using a database, make them generated in an automatic way", do you have in mind HTML applications with automated table tools? Oct 4, 2018 at 17:13

Try cloud based stuff like Google Sheets or Airtable, which also work as mobile apps, are responsive for browser viewing, shareable and can also be exported to PDF for print.

  • Do you have examples you can show? Oct 4, 2018 at 6:17
  • Edited with links.
    – Lucian
    Oct 4, 2018 at 6:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.