I recommend people with similar interests take a look at uBlock's filter language (yes, the ad blocker). It's a short and shallow learning curve until you can inject your personal CSS into webpages, and incrementally tweak them.
> If you want to inject CSS, use a "user styles" manager like Stylus.
Unfortunately, Firefox on Android only supports a limited number of extensions, and Stylus is not currently one of them.
It's really sad, because I used to have some nice site-specific user styles.
I really don't understand Mozilla's decisions. They destroyed their password security, they destroyed their extension advantage. One wonders what's next — a pivot to Gopher? Oh well, despite all their numerous mistakes, Firefox is still preferable to Chrome.
They kinda do, but it is quite cumbersome. You have to use Firefox Nightly, and create an Add-on Collection on the marketplace, and then add that collection to Firefox. That is how I use uBlock on Android.
(Last time I try, if you want to add an extension, you have to create a new collection and ... reinstall Firefox, but maybe that's just me.)
The addon API has been left incomplete and the Fenix team doesn't seem very interested in bringing the rest of the ecosystem to mobile.
The rewrite also took other things like the ability to past IPv6 addresses in the URL bar or the ability to open about:config (only accessible in beta/nightly/forks) because you could edit settings and mess up badly enough that the entire app stops breaking.
It's been a few years now and I simply don't expect Firefox for Android to regain its previous functionality anymore. It's now a slightly more privacy friendly, slightly slower Chrome replacement that occasionally asks you to please sign up for its VPN. If you want something fixed, you'll have to open a pull request and hope the Fenix people don't see your bug as a feature.
Right, that's why I didn't link to Stylish. uBO is great for blocklists but all my custom styles go in stylesheets eventually. You can use both (I do)!
For a more future oriented version (as setting a font to black wont work with dark pages), check out the CSS Color Module Level 5 spec for color-contrast(), which will automatically choose a color that has a proper contrast ratio: https://www.w3.org/TR/css-color-5/#funcdef-color-contrast
One caveat is it's currently only supported in Safari technical preview.
Another thing worth mentioning is the relative brightness algo used in the repo for the linked plugin is using the WCAG 2 formula for relative luminance. This works pretty well in light mode for non-colored backgrounds, but doesn't incorporate perceived luminosity differences of different hues very well. A better algorithm to use here is the Advanced Perceptual Contrast Algorithm (APCA), which is the one used in the WCAG 3 working spec. It more accurately accounts for hue: https://github.com/Myndex/SAPC-APCA
I actually really appreciated the comment above. Downvote it if you don't like it. If it gets enough downvotes because the community hates it, then it'll go away.
You really appreciated a comment that effectively said "hey look I said the same thing two days ago" ...? Yikes dude. Reddit infiltration has totally ruined this place.
Come on, take it easy. I thought that could be helpful. This comment also links to a related, recent story that probably caused this one and that's probably what is most important in this comment. It has been upvoted several times and the person you respond to tells you they found it helpful too. You can't really argue with this. In the past I also linked to comments or stories I've not posted myself and I thought relevant to the context so it's not just me seeking for validation or something. I just like linking connected stuff. I can understand full well how one could find my comment a bit cringy. But please reconsider because what's actually happening is probably not what you think it is. But if you don't, it's fine, I don't really mind. I attempted something, found out that some people liked it (which encourages me to do it again), some don't (which encourages me to be careful not to send the wrong signals - thanks for your feedback), in the end that's expected.
Your comment about Reddit, in addition to be outside HN's guidelines, is however totally wrong. I don't frequently browse Reddit, I don't have any account there, that cannot be some Reddit infiltration so I suggest you to consider another analysis. Of this thread of course, but of HN in general.
It's 10 years too early for you to lecture me about what I can or can't comment about, or HN guidelines. I've already commented about how that particular guideline is wrong and has harmed HN community quality so I will continue to ignore it.
A better analogy for your comment would be in a Twitter conversation, you replying to an OP with a quote tweet of a similar comment you made in the past. Yes, I do find those annoying.
I'm really not concerned whether the severe drop in SNR comes primarily from entryists from Reddit, Twitter, or some obscure web forum (likely it's diffuse). But on its face, the rise of jokes, puns, and other low-effort comments - having to collapse threads to find the comments with something useful to add to the convo - is very reminiscent of Reddit threads, where entertainment and cheap memetics are valued equally or greater than logos. HN used to distinguish itself by obliterating that type of cruft, with a "lurk moar" sting, but it no longer does thanks to lazy gatekeeping.
Now I'm not going to change any of this by pointing it out - the horse bolted years ago and closing the stable door won't change anything now - but you should know the "signals" you're intent on following are worthless as they're from a Reddit-lite entity, not HN classic.
I find there's often a high degree of educated comments here on HN. But, when it comes to monitors, readability and the physics of light something happens. #000 on #fff won't burn out your retinas. :)
There’s a massive difference between the contrast of that outdoors on a shitty panel (where you’re lucky to get 5:1 contrast) and indoors in a light-controlled environment (where 200:1 contrast is easily reached).
And yes, that 200:1 contrast can get painful, especially if you’ve got astigmatism.
Alternative option: Contrast is only an issue if your monitor is worse than a Fujitsu Siemens P17-2, a monitor from 2004 that nowadays retails for 20 €.
If you bought a monitor at any point in the past 18 years that can’t show enough contrast, that’s on you.
I think the trouble is that even educated humans struggle to talk intelligently about medical and psychological problems. We all worry about our health and mortality, and the idea that a psychological or medical condition threatens your life is somewhere between an existential threat, and a worrying cloud over your life. As a result, people easily become wedded to the idea that a particular condition is affecting them, or someone close to them. And they lose their normal objectivity when it comes to swallowing up medical jargon and scientific-sounding names for nebulous psychological / educational phenomena.
I'm from a biology/healthcare background and come to HN for the interesting tech discussions, trivia and the different perspective. I've learnt loads over the past few years and got into a few amateur programming projects in my free time and I'm grateful for that. But I've stopped going to the comments section of anything related to my actual fields of knowledge because the comments are often so wrong/borderline crazy it's hard to know where to start. Makes me wonder if the comments on the tech stuff I don't know so much about are often just as bad but I can't tell...
Ok but I didn't intend my comment to be about HN readers; it's basically educated humans in western anglophone countries I'm criticizing. People just love giving scientific-sounding diagnoses to their problems in their lives, even totally nebulous things like children behaving badly or not doing well academically.
There's a difference between using "soft black" and using low-contrast gray like you're Apple in the 2010s.
The thing about pure black isn't that it's unnatural, but that when paired with white its contrast can actually be uncomfortable and less accessible than a slightly toned down color combination (especially on full brightness).
Then turn down the brightness. Pure black/white should never be uncomfortable, if it is then your monitor needs adjusted. In fact I suspect a lot of this stupid low-contrast trend comes from designers who don't know that and are trying to compensate for it in software.
Monitors come with the brightness set ridiculously high so they'll look good in a showroom (and possibly to make the backlight wear out faster, but that's another rant...), but it's definitely not where normal use should be, unless you're in direct sunlight.
On all my computers? And my phone? And my tablet? And my...
You could say the same about sites where the body text is set unreadably small. "Just zoom in!" It does not persist across devices, sessions, users etc the way a well-designed site would.
I have my phone on auto brightness and my displays on max brightness. Black on white is perfectly readable to me, even in the dark.
I don't know what ultra HDR monitor you're using or what light sensitivity issue you may have, but I don't want to have to install addons in my browser because you can't find the brightness slider.
> Sounds like you don't need to, you're happy changing the setting in many places (every device), than one (a stylesheet)
But now I need to change my settings or your site's stylesheet to make your text readable
> "Make the user fix it" was the old thinking. Now we consider a more robust set of platforms, devices and users.
Exactly, that's why you choose clearly contrasting text over blurry grey-on-white so that every device can display the text comfortably according to the characteristics and preferences set by the manufacturer (or the user, if the user disagrees with the manufacturer about what constitutes "too much contrast")
"There's a difference between using 'soft black' and using low-contrast gray."
> every device can display the text comfortably according to the characteristics and preferences set by the manufacturer (or the user, if the user disagrees with the manufacturer)
Right, every device; seems complicated, requires intervention. That or, design the site well.
Nope, just a lot more device variety than 10 years ago, and a11y becoming more than just alt attrs. Put bright pink on bright yellow as hyperbole, there's such a thing a too much contrast in a color theme! Even monochrome.
Users aren't unknowing, they know how to adjust the brightness whether the site is designed well or not. I said one was "changing the setting in many places."
> The thing about pure black isn't that it's unnatural, but that when paired with white its contrast can actually be uncomfortable and less accessible than a slightly toned down color combination (especially on full brightness).
Can you find a citation for that statement? WCAG 2.1[0] mentions minimum contrast, but not maximum. The success criterion page itself is written in #000 on #fff. :)
I don't have a citation, but a personal anecdote: When I was in charge for a website, an elderly woman contacted us and asked, if we could change the black text to a dark grey. She mentioned that the contest was too high, resulting for her in seeing ghost images of the letters. I changed the text color from black to something like #eee or #ddd (at least a change barely noticeable) and she later contacted us to to thank us, so it must have had an effect on her. So it seems, for some people with limited eyesight, contrast can be too high as well.
However, I agree with the generell sentiment that in modern web design, contrast is often too low.
A lot of high contrast combinations are less accessible and even if it doesn't make the text illegible, too much contrast is going to be a strain on the eyes for most people.
Generally, WCAG AA or AAA is enough for most people and you hit that already with #555 on a white background. Something like #1a1a1a is close to the darkest I'd use in most cases.
I'm sympathetic to the idea that some people need reduced contrast to read comfortably. They are in the same boat as people who need maximum contrast because of other visual impairments, most commonly focal issues.
Why wouldn't people who need less contrast simply reduce the contrast on their monitors, though?
It seems to me as though designing for those who need low contrast excludes those who need high contrast, but not the other way around.
From your link:
> The solution for contrast sensitivity
> If you feel that your child may be suffering from this issue, the first thing to do is test some tinted acetate sheets placed over the page of text.
> Why wouldn't people who need less contrast simply reduce the contrast on their monitors, though?
Because I don't want to make everything else look worse just to lower contrast in text?
And support for low contrast doesn't mean excluding others, it can just be a setting. Like Windows has been doing for a long time with its high-contrast mode. Websites and apps are increasingly adopting dark themes, next we should push for a switch between high and lower contrast. It's just as easy from a technical standpoint. Browsers are already pretty far, letting the user set specific fonts and font sizes, and Firefox' reader mode and its options are great as well.
As far as I can tell based on what I've read, there can be a conflict between users with accessibility needs, where you may want as high contrast as possible, and typical users, where excess contrast may impair readability in some cases. The WCAG minimums are within the realm of reasonable for both sets of users though, so there isn't really an excuse not to meet those minimums.
My first job was building monitoring software used by operators of nuclear power plants. I have no citations, but they leveraged some specialized human factors research that said "don't use black". The standard in the industry is dark grey.
> The thing about pure black isn't that it's unnatural, but that when paired with white its contrast can actually be uncomfortable and less accessible than a slightly toned down color combination (especially on full brightness).
For those with fuzzy vision (obviously an extremely common situation), contrast is reduced naturally when the black and white bleed into each other. Reducing contrast harms those users, belying your "actually less accessible" assertion.
Monitors or anything backlit are terrible to read from for any length of time. Paper or e-ink is superior. I don't see anything wrong with lowering the contrast of text on a screen to compensate for that fact.
This thinking likely stems from art studies: in classical painting, black is generally taught as one of the forbidden pigments because of ”nothing in nature is black” and, more functionally, because it cannot be used to darken other colors without losing vibrancy and thus a black area cannot smoothly blend to another color.
I am sure designers will stop using grey text on solid white as soon as someone shows them that paper isn't really pure white, but is a bit off white and it has texture and gradients, depending on the light source. Maybe they'll start embracing skeuomorphism again. /s
Generally I prefer a mid-saturation blue-tinted grey in the #111111 horizontal line for my base text colours, which is basically indistinguishable from black but works better with the other hues on our website.
That being said, it's easy using the prefers-contrast CSS property to override that to #000000 for people who are hard of sight.
It's supported by edge, safari, chrome, opera but it's a bit finnicky in Firefox.
On one of my old phones (Samsung S4), the display would treat pure black differently to dark grey. Pure black would smear across the display when scrolling, a kind of ghosting effect. Probably some effect of the pixels being turned fully off.
Dark greys didn't have this effect.
I suspect a lot of these "dark grey text" conventions may be related to this hardware issue.
OLED pixels take slightly longer to turn back on from fully off. I remember some VR headsets had trouble with this and they just set the minimum brightness to "1" instead of "0".
Edit: note this is per-subpixel, so you need to set some value in each color channel.
Another extension that nukes grey text is BeeLine Reader. But instead of replacing grey text with black, it uses user-configurable color gradients, which wrap between lines and improve visual tracking. Disclosure: I'm the creator.
I'm so glad to see this. I don't feel alone anymore. This is one of my biggest headache-producing tasks, reading poor contrast websites.
On the flip side, it is a great job candidate filter for design positions to show them a website and see if it's among the improvements they recommend.
Anybody has some extension to change colors when background is black and text is white? I don't know if this is common or not, but I just cannot look at that for more than a few seconds, my eyes burn. I never found an extension for Chrome that fixed this.
Yes, you want DarkReader which is an extension available on most web browsers. Aside from being able to dark mode websites it has ways to complete customise the background and text colours. I am writing this with high contrast orange text on dark brown background on ios safari.
I'm using Reader mode on such sites, but some sites are structured in a way that only part of the text, if any, shows up in the Reader view.
I'm just hoping that sites with a fixed dark-mode design stay the minority because many of those that I've seen are horribly bad and literally hurt my eyes.
Hacker news is one of the worst readible websites on the planet (especially non-link posts) and somehow this is the place where everyone likes to complain about other websites readability.
Sometimes this works for me. Highlight the text with your mouse, or whatever works on mobile devices. Then the highlight colors are sometimes easier to read.
On this site I get white text on medium brown, not as good as the standard colors for me at least.
It's great and should be a built-in option - I prefer to minimize the number of plugins but this one is basic usability that will improve the readability of hundreds of thousands of websites.
Not really, tweak everything you read to have proper contrast but not pure black on pure white, and keep your monitor with max contrast, it's a pure pleasure. Tone down contrast overall and what you get is mud no matter what, giving fatigue with prolonged time in front of the screen.
I find dark mode to help too. Not a black theme, a dark theme. Full contrast screen at its best.
Depends on the monitor. If you’re using a normal LCD or you’ve spent your money on features other than contrast (namely resolution and latency), black text already looks grey. No need to make it any more grey than it already is.
What contrast do you want? A billion to one? At some point it's excessive, right? So there's some value less than infinite that you're after. Why is your monitor's maximum contrast the right value?
Yes, billion to one. Or at least like 1000:1, which todays monitor easily achieves.
Whatever maximum contrast value of whatever monitor I look atm is OK, anything lower is not (including OLEDs).
I don't get why we should be "forced" to look at #aaa text on #eee background "contrasting" text.
For me, even #222 is "too much", to the point I usually notice something is off and then Imma mess with inspector and fix colors, which is annoying, takes my time, and wastes CPU cycles, especially when one tries to use some plugin to fix this automatically. The extension is usually CPU hog, so the "low contrasting text websites" are actually harmful to society much like needlessly JSheavy sites.
The research upheld the "any color as long as its black" popular wisdom for text, but found that black text on a ~15% tinted background (any color) did not impede readability. (Deeper background tints impeded readability.)
> Why is your monitor's maximum contrast the right value?
Please give me maximum contrast and let me adjust my monitor.
When ever there are discussions about accessibility there are always voices calling for "moderation" ... does every building really need a ramp? why does every single restaurant need an accessible bathroom? do those people really need all that contrast?
...and in response to your initial two questions, however rhetorical they may have been: yes, every building needs a ramp and every restaurant needs an accessible bathroom. You may be fortunate enough never to need the second one, but you likely hope to live long enough to need the first. (I needed ramps long before age would’ve normally dictated it — stuff happens — so I tend to get a bit perturbed when people wonder about the necessity of ramps.)
But you can exceed accessibility requirements without using absolute black and white.
And for example some people require larger fonts for accessibility reasons - but we don't make all website with 100 point fonts do we? Instead we use tools to magnify the screen - the same way your OS can increase contrast for you if you need it. There's moderation there.
The point is: we should strive to make accessibility parametric. If someone wants 50 pt fonts - let them. If someone wants 100 pt fonts - let them. If someone wants high-contrast - let them. Don't hard-code it, because you're making assumptions about people's accessibility requirements.
I can’t, as then I’d have to re-calibrate it again. But you can easily just increase the contrast setting on your monitor and leave sensible defaults for the rest of us :)
And that’s why I replace all the panels on my laptops with proper ones, and only use monitors with good contrast ratios.
As low-budget option I can recommend the Fujitsu Siemens P17-2, it’s from 2004, available used around 20 € and has better contrast, brightness, and viewing angles than any TN panel even today.
It’s ridiculous that a monitor from 2004 is still better than anything the complainers in this thread are using today.
Two small examples:
"Show all text on the internet as black"
"Show comment text on HN as bold"