J. R. Boynton

Print Stylesheets: the Wrong Approach

Cascading stylesheets (css) allow for different stylesheets to be used for different media. One stylesheet for the screen for instance, and a different stylesheet for browsers that read the text aloud, or for printing. This is accomplished with a "media" attribute in the style tag.

The dumb-design-trick we want to nip in the bud is the notion that a print stylesheet replaces a "printer-friendly" version of a document.

The designers who will be most prone to this dreadful hack are the ones with dumb web servers. These are the folks who don't use content management systems, and who edit on their desktop the exact sequence of bytes that they display on the web server. Anyone using any automation at all has no problem with creating multiple versions of a document.

The value of separate versions – with separate urls, as well as separate page layouts and page elements:

1) Frequently when websites seek to gain more "hits" by splitting a single document into several pages, a "printer-friendly" version will let you read the entire document in peace in one page.

2) Many "designs" are significant barriers to accessibility. Up until now, the "printer-friendly" version has usually been more user-friendly. (The rule is: "no one cares about your dumb design"... they just want to read the content. Just stay out of the way. Alas, many designs are deliberately in the way of reading.)

3) The printer-friendly versions of documents usually have no animated ads. Any motion makes it more difficult to read, reducing the value of the website. By adding a printer-friendly page – viewable in the browser – web teams can salvage some of the value destroyed by animations and "busy" web pages.

The specific harms of eliminating the "printer-friendly" url are mostly in losing the value of the separate page.

But worst of all is that this print stylesheet hack prevents users from knowing what they will get if they print, and control over printing is stolen away. Remember that we have had something of a "what you see is what you get" paradigm in computers lately.

For example, I might want to print the page layout as it appears on my screen. For documents split into several webpages, I might still want to print the whole document as a unit. In fact, css would allow for that – under control of the designer. But if the designer chooses to have the print stylesheet print the entire document, it still might be that the user wants to print the single web page. Again, designers should stay out of the way.

What should websites do?

Continue to offer a separate url for a "printer-friendly" version of documents. The cost to this is very low. The original page can still have a print media stylesheet attached to it, but it shouldn't try to change the page layout. Instead, it should merely convert units of measure to those appropriate for printing. Actually, a print stylesheet can define page headers and footers and affect page breaks. These are all worthy, even when printing the screen user interface. Many designers specify type sizes in pixels – they can double their abusive pleasure by specifying font sizes in points for the print version.

Finally, I should say that the harm here isn't really that any given designer uses a print media stylesheet for a given weblog that only their own tribe reads. The designers with weblogs don't hurt anybody if their weblogs can't be read – that's the opposite of irony. These folks weren't making "printer-friendly" versions of their websites anyway.

The potential harm is that this stupid-css-hack will percolate through the weblogs, and designers will inflict it on us in websites where it matters. The web is new. Few people understand. Most of the people who think they understand don't. So it's a bad thing to lead people down the wrong path.




Copyright © 1998-2002 J. R. Boynton