|Perl Monk, Perl Meditation|
I want to say that I already mailed JJ a while back for the use of CSS and JS to hide the sidebars on the old version of perldoc (which, design-wise, I also thought looked nice, or at least, was not a bad visual design). So I think all that's needed is, anyone with better ideas can send them to him. He is the one doing the hard work of maintaining this site after all (and I am very happy that there IS a site). Since Perldoc is pretty much nothing more than a collection of text documents, one should be able to have any combination of "extras" (JS, CSS, colour, certain screen sizes, being a sighted person!, anything) and have access to everything (I understand now about the search, though there's also an error there).
The only thing one can guarantee ANY user agent supports is HTML. With the proliferation of mobile devices this is even moreso, and even though battery technology is always improving, scripts still shorten the lives of mobile devices. This can make internet surfing last a few minutes! Yes, it's that bad. There are also still plenty of mobiles who don't support scripts at all, as well as other things like zooming or Flash.
I've run into the selects/inputs being too long problem (though I actually don't see it currently on the perldoc site) and it turned out that if you didn't actually specify a width on those, the Windowing system (not the browser so much, though I always saw this problem with FF specifically) would change the widths of those. For instance, a form without set widths on inputs would never fit right on my FF on Ubuntu (the problem was Gnome, not FF, though Opera was ok cross-OS). So setting a width for dropdown selects and inputs in the CSS in em's or some flexible unit would help cross-OS and cross-browser with these sorts of things. I have found Epiphany (with the Gecko engine, not the webkit version) can't seem to get the sizes of anything correct, at least not any site using em's as a sizing unit.
The problem of the site not being a flex-width could be solved a few ways: so long as the source was content-first (which can be nicely done Layout-Gala style for post-content sidebars), one could have the layout have a max-width and no min-width and so could shrink as needed for smaller windows (a mobile-specific css sheet might be better though than just letting the screen shrink indefinitely), letting the sidebars drop down underneath the content.
Another solution is to write an alternate CSS sheet and let those who want, say, the old design back or something else, choose that. However whether this is done via JS or the server, some sort of session would be needed to keep the chosen stylesheet consistent as the user goes from page to page. I mean, you can select your desired stylesheet without JS or a cookie (except in IE6 blah blah) but you'd have to select it for every page you go to without a session.
A final solution could be, someone makes a stylesheet that mimics the old style (or something else that's pretty basic), and let anyone download and use it as a "User Style Sheet" which should always be able to override the author's styles (unless the author unwisely used !important). People can make their personal stylsheets however they want, whatever fonts and colours and contrast etc, and it's selectable via the browser, no Greasemonkey necessary if one doesn't want to have to spend time scripting against a site.
Edit: btw Opera can be added the the list as a "modern browser" : ) Poor thing, everyone forgets it! Pretty popular on mobiles though (OperaMini).