Reader mode in Safari (at least on iOS) renders this nicely for me automagically, and turns the grey to a nice black.
For the desktop I was going to recommend Distill Mode in Chrome (add --enable-dom-distiller to the command line/launcher, then it's available from the vertical "..." menu top right) but it didn't behave the way I remembered it. You get a nicely formatted page with all (or at least most) of the extraneous crap filtered out, but the grey remains.
Internet Explorer supposedly has a Reading Mode too, but I can't find it on my desktop.
So right. I have a grease monkey script globally to inject css to make text black. Which works well except when the background is dark of course. But I find reading light text on dark background also an effort so I usually just skip that.
The text is larger, and thicker than usual text in a newspaper or book, and it is just as black, or even more black (measured on a calibrated display).
You might want to change your monitor, or recalibrate it, because it seems like this is an issue with your display.
Photo: https://i.imgur.com/o5bknYs.jpg (The text on the newspaper there is #574839, while the text on the linked site is #454545. The text in the newspaper is the equivalent of 10px tall, and 1px thick, the text on the site is 16px tall and 2.5px thick)
> Poor contrast and unreadable font is still visible even on your screenshot,
That’s an artifact of the camera, not the page. On a properly calibrated screen supporting the Rec.2020 colorspace with at least 1000 nits of color, this will have more than enough contrast.
The big problem is that today, between #454545 and the background a user with a 1000 nits screen and one with a 100 nits screen will see a difference in contrast of almost an order of magnitude.
TL;DR: Either you need to calibrate your screen, need a better one, or we need a way to specify the absolute brightness that a page should be shown with in code.
I have the latest MacBook pro with a Retina display. It is a superb display, and if that needs to be calibrated at all to view a web page, something is definitely wrong with the web page.