This may be a sensitive issue to many, especially those that like getting their hands deep into HTML, but should we even have HTML editors in CMSes?

Most users don't care about the HTML details — they just want to make their content look nice. For instance, my last post included a table. Since I didn't have a quick and easy way of embedding a nice-looking table, I created a table in InDesign, took a screenshot, and then included that screenshot in the blog post. Yuck. Obviously not a good thing to do, but I didn't want to spend a few hours getting an HTML table looking half-decent. A couple days later the table was still bothering me enough that I did spend an hour or two (using help from Smashing Magazine) to put in a pretty nice-looking table into the blog post. But it was a one-time workaround and I don't have an especially clean way of doing this the next time I need a table. People do these sorts of workarounds in CMSes all the time. When this occurs on a big site, the extra work, inconsistency, quality and frustration multiplies quickly.
Just taking a table as an example, here's the process to creating and using table that would be great:
- User indicates where they'd like to insert their table.
- User creates the table content, giving headings to the table, perhaps merging some cells, adding columns and rows, highlighting some particular cells, and inputting content. Then publish.
- The table then appears on the site with a nice-looking, consistent format -- let's say it has rounded corners.
- User adds a column and row, and the rounded corners still appear.
- Globally the CSS is changed in one place in one file and the highlighted cells are now longer yellow but blue. A similar change could be made for the rounded corners, cell padding, globally dropping Arial for Verdana, etc.
Notice a few key elements in this:
- User doesn't have to know anything about HTML (hiding for instance the fact that the first and last column and first and last row have to be classed differently)
- The table looks nice and will be consistent across the entire site without effort by the user
- Styling changes can be made globally to all tables
When putting together requirements for selecting CMSes, I often hear about the need for the editor to completely control the HTML. But I think this is based on a broken model since most users are just dropping into HTML since the system isn't set up to easily allow them to do what they need. Another reason this model is broken: it shifts the burden of consistency across content to training / documentation / content publisher when the system could both be providing consistency for the site visitor as well as easier use for the content publisher.
When looking at improving your system or selecting a new CMS, consider how common elements are published and whether deep HTML editing is needed for your content publishers. Obviously this will depend on your industry (for instance newspapers would want very streamlined publishing without HTML control) and how distributed your publishing is (this is more important for a large number of publishers), but make sure to think about the tradeoffs of deep control and ease of publishing.