“The root of all margin-collapsing evil”

I liked this page I just learned of called Incomplete List of Mistakes in the Design of CSS. It might not mean much to you if you don’t write CSS, but could be fun to check out if you do. Here are some choice quotes:

  • border-radius should have been corner-radius.
  • It shouldn’t be !important — that reads to engineers as “not important”. We should have picked another way to write this.
  • white-space: nowrap should be white-space: no-wrap.

It reminded me of a similar list called Known Anomalies in Unicode Character Names. Here’s one example:

U+02C7 CARON
U+030C COMBINING CARON

The “caron” should have been called hacek and combining hacek. The term “caron” is suspected by some to be an invention of some early standards body, but it has also been claimed by others to have been in use at Linotype before the days of digital typography. Its true origin may be lost in the mists of time.

These are great because they simply say “this is how we messed up.” They are succinct and candid about problems. More work needs to be done at this point, of course – the CSS list only really contains the “simple,” low-level observations, and I think for both CSS and Unicode fixes cannot simply be made because people and systems rely on the existing behaviour – but the first step is admitting you have a problem, right?

If you’re on the outside, it can be comforting to realize “oh, it wasn’t just me, other people don’t like this, too.” (Scanning bug reports from other users can help in a similar way.) If you’re on the inside, consider making a list like this for a long-standing project. It might do you or your team good!

If you are aware of more documents like these, I’d love if you could send them over.