Its been a long time since I’ve used Wordpress. Working on a few upcoming posts that need to display some data to my surprise I discovered that the basic but otherwise fine WYSIWYG editor is lacking an option to insert tables.
Wondering if there was just some option I’d missed that would add a whole load more features to the editor, I decided to ask some people more experienced with wordpress about it. The conversation went a little bit like this - its not an exact transcript and “Bob” isn’t a real name:
Me: Do you know if there is an option to insert HTML tables via the “Write Post” editor?
Bob: No - you should never use tables. You have to use css.
Me: But this is just some tabular data - a standard HTML table will be fine.
Bob: No it wont be fine! You have to use divs and css!
Me: Whats the point of that supposed to be?
Bob: Because html tables are bad! You have to use css these days.
I guess it is good that the whole “tables are bad” message is getting through, but I think “Bob” doesn’t quite get it. I cant blame him as it seems a lot of people are a bit confused about this.
Tables are not banned!
Lets get this straight - you can still use HTML tables. They have not been replaced by CSS, or banned by Google or Apple or someone! Where HTML tables suck is for layout. “Bob” was totally right about using CSS and DIVs instead of HTML tables for laying out the site, but HTML tables are perfectly acceptable for displaying tabular data.
In fact HTML tables are more than just “perfectly acceptable” - they actually imply some highly valuable semantic information about the data presented in the table. For example if you consider a timetable used for buses or trains, the very fact that the timetable is displayed as “rows and columns” allows us to run our finger down the timetable and find out what time we need to be at the bus stop to get to our destination on time.
Using HTML tables for presentation of data offers a very important semantic value and is a valuable tool in the web designer’s tool kit - ignore it at your peril!