Following an email from a user who prefers to browse the web with JS off - can we please audit the codebase to find those places where the user cannot acheive their goals?
The user mentioned checksums in particular.
The menu on the top just seems to vanish when JS is disabled:

with JS:

I just spent some 5 minutes trying to figure out how to log in, until it occurred to me to try with JS on. Perhaps until PyPI is at a point where it's fully(-ish) usable without JS (if that's even a goal), it should at least display some notification bar at the top, telling the user that they should retry with JS on?
This is due to the client-side include failing (which requires Javascript).
It should be possible to add some "default" HTML for the logged-out user which would be replaced if the CSI is successful here: https://github.com/pypa/warehouse/blob/master/warehouse/templates/base.html#L184-L185
Probably worth mentioning that this same HTML is currently inside the include as well, so this shouldn't be duplicated twice and instead should become a macro probably: https://github.com/pypa/warehouse/blob/master/warehouse/templates/includes/current-user-indicator.html#L77-L82
@nlhkabu Hi, I've started working on the login bit
Another thing to audit here is the click-to-copy feature for file hashes on the "Files" page, I suspect it doesn't work at all without JS enabled.
Most helpful comment
Another thing to audit here is the click-to-copy feature for file hashes on the "Files" page, I suspect it doesn't work at all without JS enabled.