2025-01-16

Legal Teams: Insist on your webdevs using print CSS media queries for terms documents!

Intro and TL;DR:

I'm aiming this posting at legal teams, because I figure that's a leverage point for influence on this, though it's arguably really aimed at the web developers themselves, and their management.

I'll start with the TL;DR: insist on CSS media queries for print on all your legal terms web pages, so that they can print cleanly.

Now, what does this all mean?  Why am I calling for this?

Well, I'm one of those apparently-extremely-unusual people[0] who actually reads terms of service before signing up for something.  I've been doing this for as long as I can remember, really... certainly since back when things were all in paper, and someone put it in my head that it was important to know what you were signing, and... perhaps because I'm autistic, I took that literally, and have basically always read carefully anything I sign, whether I'm signing in actual ink, or just in a modern digital equivalent, even if that's just a simple checkbox.

Further, I'm somewhat of an information packrat.  not only do I want to have read what I've signed, I want to keep a copy.  This used to mean lots of photocopies.  These days, it means "printing" (saving) off a PDF of things that I can just store on a hard drive (or I suppose these days it's an SSD), and calling it a day at that.

So, here's where the problems come in.  Frequently, when I go to "print" to PDF, and I get the print preview showing up, I can see that some of the text is obscured — by a navbar, perhaps, or a footer that shows up at the bottom of every page, instead of the bottom of a document, or by a chat bubble icon, or some other thing that might be useful on the on-screen display, but is at best unnecessary and at worst wholly in the way when trying to create a printout (whether to PDF, or on actual paper).  So, the PDF literally doesn't serve it's purpose, because I can't reference the entire document.  Not acceptable.  (There's also frequently a whole bunch of stuff that's not in the way in the same way, but just isn't needed in the printout — links to other parts of the website in a footer, or a header navbar that manages to not cover anything up, or what have you.  Also there are sometimes other styling choices that are unfavorable to the task — e.g. making the text very narrow, and thus making a 5 page document take 13, say, or things like that.)

My solution for these times, as a web developer[1] myself, is to invoke the "inspector" mode of the browser's developer tools, and start hacking away at the HTML and/or CSS of the site, to get rid of the offending elements and/or styling.  Frequently, this can be as easy as deleting one or two elements from the DOM — perhaps a header tag, or an iframe.  Those are the good times, because I can quickly be on my way (notwithstanding that I often have to do this multiple times: for the main terms, for the privacy policy, for this supplement, and that supplement... it grows wearisome).  Other times, it's a long and complicated discovery journey as I figure out how to hack away at things to get rid of website features that get in the way of the printout, without getting rid of any actual important content.

And then there are the pages that use collapsible sections, where it's set up to only expand one section at a time, and... in such cases, I may have to not only mess with HTML and CSS, but also JavaScript -- disabling some of theirs, and/or writing some of my own to apply or remove a CSS class from a whole bunch of elements (or going through a very tedious process of adding/removing things by hand, if I've managed to successfully defeat their javascript that puts it all back to how it was).  I don't have a great solution for some sites, which... ends up having me not use that service, probably.  If I'm really determined to do so, maybe I'll put the work in to save a copy of the HTML locally, edit it with a conventional text editor, and get it so I can make a workable PDF.  Mostly, though, I just don't use the site.

So, what can you do?

As a web developer:

If you're a web developer, add CSS that's targeted for print.  Probably to your whole website, but especially to any pages that host legal terms.  Try printing those pages to PDF.  In many cases, you won't have to actually save (let alone physically print) the PDF, just look at the preview, and scroll through it.  Look for any sections where text is obscured.  Look for anything that wouldn't be needed in a physical printout that you might want to take in to a courtroom or a meeting with a lawyer or whatever.  Like, that 'Was this page helpful?' text, with a big "Yes" and a big "No" button under it?  Yeah, how are you going to click that on a piece of paper?  Maybe getting that feedback is helpful on the website, so it's useful to have those things on the site (though I'm not sure I'm convinced that people actually pay attention to the feedback, so... you'd need to sell me on that), but I can tell you with certainty that it's not a useful feature on a printout of the terms.  So throw a class on there like "noprint", and put a media query for print that's something like this (which'll also skip any nav elements, because hey, it's hard to navigate a paper document in that way):

    @media print {
        nav, .noprint {
            display: none;
        }
    }

Not so hard, now, is it?  With a well crafted web page, that might be all you'd need to do.  Other times, you might need much more to get something nice, but... do that work, whatever it is.

As a legal team or management:

If you're a corporate lawyer, or a manager of either a legal team or a web development team, or anyone else in the influence chain for stuff like this, insist that the web team does this work.  Don't sign off on the site being OK unless you could print it out on actual paper in a way you'd be comfortable carrying it into a courtroom and handing to a judge, and have them not come back at you wondering what words are obscured, or why there are 3 extra pages of meaningless cruft.  The company is paying you a lot of money for your time.  Tell them to stop wasting their money and your time by not having this stuff in place and good.  Your job is to pay attention to the words of the contracts these terms represent... But your job is made harder by not being able to read those words on a printed page, or having to shuffle through extra pages that don't have any contract terms on them.  Make it make sense.



And, finally, whoever you are, thank you for reading.  I imagine a world where more people care about this stuff, and where a bit of extra work from a few web developers can save many hours of headache for people like me who read these terms, people like lawyers, judges, and juries who may have to interpret them, and the trees we cut down to print the extra pages, when that happens.  I believe that world is possible, and that's why I write on this blog.  But of course, it'll never happen if these ideas don't get shared.  So, thank you for reading, so I could put the idea into your brain.  Hopefully you'll spread the ideas (whether or not you share this post; the ideas are what I care about).  Anyway, thanks.



Footnotes:

[0] where my fellow terms-readers at?  Surely there are some of you out there, somewhere, no?!?

[1] I don't really identify as a web developer as my main thing, but I have that skill set.