w3c / wcag

Web Content Accessibility Guidelines
https://w3c.github.io/wcag/guidelines/22/
Other
1.09k stars 247 forks source link

1.4.3 Minimum Contrast, 1.5 multiplication factor — from which research paper? #1705

Closed huayunh closed 4 months ago

huayunh commented 3 years ago

I was checking 1.4.3 Contrast (Minimum)'s page to gain a better understanding of where the 4.5:1 minimum contrast ratio requirement comes from. It cited the paper

Arditi, A. and Faye, E. (2004). Monocular and binocular letter contrast sensitivity and letter acuity in a diverse ophthalmologic practice. Supplement to Optometry and Vision Science, 81 (12S), 287.

I checked the American Academy of Optometry's website. According to the abstract provided, the only place they ever mentioned the number "1.5" is this sentence:

The regression of log CS on log MAR resulted in an intercept of 1.50 and a slope of -0.63.

Which, for me, seems unrelated to the topic.

My question is, is this Arditi-Faye 2004 paper the correct paper to refer to? If not, where does the 1.5 multiplication factor come from?

jlukosky commented 3 years ago

The NIH has more full version of the Arditi and Faye paper. It is more technical than I can comprehend.

huayunh commented 3 years ago

Appreciate the help! However, it appears that the NIH paper is different from what WCAG is citing...

Myndex commented 2 years ago

Hi @huayunh

Appreciate the help! However, it appears that the NIH paper is different from what WCAG is citing...

Correct, The paper he linked to is not relevant to WCAG 2 contrast, in fact it's from 2013, about 6-8 years after WCAG2 contrast was created. Nevertheless, I do have answers to your questions, in detail below.

An Air Or Occured

.....If not, where does the 1.5 multiplication factor come from?

I've combed through all the related papers, email chains, and much more ... there are two slim abstracts, the one you linked and another I linked to below. It takes some mental gymnastics, but it's possible the available data in 2007 was insufficient relative to what we know today, as today we know that logCS is not "strongly" correlated to logMAR, and is very dependent on the impairment.

In general I'd consider it an error to set a contrast standard based on acuity measurements, and they are independent metrics.

I looked into this back in 2019. If you're not familiar with it, I started thread number #695 in April 2019, while investigating the WCAG 2 contrast issue.

I don't think anyone is to blame here — It's a dense, abstract, and complex subject that's still filled with unsettled science and active research. I had no involvement in the original WCAG 2 contrast, but I can tell you that even experts get things wrong in this field, and back in 2005, there was a definite lack of accurate information. I've adopted the assumption that the several errors in WCAG 2 contrast were the result of well meaning but erroneous notions arising from apparent misunderstandings of the nature of the human vision system in the context of digital content presented on self-illuminated displays.

This is unsurprising given the changing and nuanced nature of the subject matter. In fact around that time here in Hollywood, there were similar misunderstandings during Hollywood's transition from chemical imaging to digital.

Splitting Logs

In this case, the misunderstanding may have arisen from the fact that logMAR increases as visual acuity decreases. But logCS increases as contrast sensitivity increases. In other words logCS is higher when someone has better contrast sensitivity, the opposite of logMAR for acuity.

Also, it is worth mentioning that logCS is independent of logMAR, and while CS and VA do affect each other, the correlation is loose, and very dependent on the given impairment. Here's a slide from this 2020 study that details the different slopes:

Click to enlarge

LogMAR and logCS graphs for various impairments Legge 2020

For reference, a chart showing the general relationship of logCS and logMAR, though again, the slope and alignment varies depending on several specifics.

Click to enlarge

New2022 LogMAR and logCS chart, showing acuity and the ideal font sizes

More of the History

To the best of my knowledge, Dr A was not involved in any of these misunderstandings nor the the 4.5:1 thing. Dr. A's work is exemplary, and I've studied his papers thoroughly during the development of APCA. The only cite I could find from Dr A regarding WCAG2 ratios was one where he recommended 7:1. But his recommendation was only used in part for the AAA level.

According to people I spoke with who were around back in 2007, the 7 to 1 ratio was receiving pushback over concerns it was too high. And for some things it is too high, while for other things it's not high enough, but that's a separate issue.

Part of the motivation at the time was to be able to have a "three way" of colors, #000, #767676, #fff. And while it is true that #767676 purports to be about 18%, commonly regarded as middle grey, that is not middle contrast which due to spatial frequency and other psychophysical factors such as local adaptation, is closer to about #a0a0a0.

You can determine the flip point yourself, I have an interactive experiment on CodePen, and also this article that discusses the "flip point," i.e. for a given color where should you have black text versus white text.

One issue that emerges from this is that the WCAG 2 math is not perceptually accurate, that is, the math does not follow human perception. The unfortunate result is evidenced in the following example:

Click to enlarge

WCAGvAPCA2Panels1 shows a panel with a white background and gray text and a panel with a gray background and black text and how we can to report them both as being the same contrast while the darker panel is actually unreadable

I discuss the history of WCAG 2 contrast a bit more, along with corrective measures in this recent article "A Contrast of Errors".

So What Now?

I've been the research lead with the Visual Taskforce (which is now merged into the Low Vision Task Force) since shortly after I brought this problem to the attention of the W3 in 2019. The intention is/was developing a state-of-the-art method for Silver/WCAG_3.

The result of the work is the APCAAccessible Perceptual Contrast Algorithm.

What is APCA in three sentences:

It is a supra threshold visual contrast prediction model that is specifically tuned to readability on self-illuminated displays. It follows human perception, including critical aspects such as spatial frequency, meaning font weight and size. The APCA guidelines also inform various use cases, such as body text, fluent text, spot reading text, and non-text items.

WCAG_2 compatibility?

APCA is enough of a paradigm shift that it is not backwards compatible with the old WCAG2 contrast, and WCAG_3 is some time away from being the recommendation.

So in the meantime, I published the Bridge-PCA, which is backward compatible to WCAG_2, but using APCA technology. One of the urgent reasons Bridge-PCA is needed is the rise in popularity of "Dark Mode."

Bridge PCA for Dark Mode

As shown above, WCAG 2 contrast fails most with dark colors, and the results are relatively meaningless for colors for Dark Mode. APCA and Bridge PCA do very well with contrast prediction and guidance for dark mode.

Here's a linktree of related links.

TL;DR

The short answer is,it's hard to find a rational basis to simply multiply VA by 1.5 CS, and there are issues with the overall contrast math that extend beyond that. New mwthods have been developed, and is now entering the validation testing phase.

Thank you for reading, I am open for further questions.

Andy

bruce-usab commented 2 years ago

I concur that Aries Arditi never suggested 4.5:1.

I am grateful for that 2007 abstract where he concludes 7:1 as the ratio to be using. Note that has @GreggVan as co-author.

It seems odd to me that 1.4.3 Understanding does not just reference that, but instead uses "Following analogous empirical findings and the same logic, the user with 20/80 visual acuity would require contrast of about 7:1." This seems more complicated to me! Also, the math for getting from 20/40 is 4.5 so 20/80 is 7 -- feels like it should just be another ratio, but it is not leaping out at me.

The short answer is, there's no rational basis to multiply VA by 1.5 CS

My reading of the 2004 abstract is that Aries Arditi mapped visual acuity (VA) against contrast sensitivity (CS) and noted that 1.5 slope. So, in general, for someone with low vision, contrast is 50% more impactful than would be expected if VA and CS were in a linear relationship. It then follows that multiplying the minimal 3:1 ANSI recommendation by 50%, for 4.5:1 as a starting baseline. It is a rational basis, just not maybe a great one.

Part of the motivation at the time was to be able to have a "three way" of colors, #000, #767676, #fff.

That was not a prerequisite per se, just one of the factors for deciding between 5:1 (zero triples) and 4.5:1 (some triples, including two 8bit pure gray).

Myndex commented 2 years ago

Hi Bruce! @bruce-usab

It seems odd to me that 1.4.3 Understanding ....instead uses "Following analogous empirical findings and the same logic, the user with 20/80 visual acuity would require contrast of about 7:1." .......the math for getting from 20/40 is 4.5 so 20/80 is 7 -- feels like it should just be another ratio.....

Well there's a bunch of problems here, and one is conflating acuity and contrast sensitivity. Perhaps this was not as well known in 2005/07, but today we know that the logCS slope is no where near consistent relative the logMAR, and is largely a factor of the type of impairment, not a general correlation.

The short answer is, there's no rational basis to multiply VA by 1.5 CS

My reading of the 2004 abstract is that Aries Arditi mapped visual acuity (VA) against contrast sensitivity (CS) and noted that 1.5 slope. So, in general, for someone with low vision, contrast is 50% more impactful than would be expected if VA and CS were in a linear relationship. It then follows that multiplying the minimal 3:1 ANSI recommendation by 50%, for 4.5:1 as a starting baseline. It is a rational basis, just not maybe a great one.

I don't take that reading as what is actually being said, though to be sure it's a too-terse abstract paragraph that's hard to parse. From the abstract:

2004

RESULTS: Pearson correlation of log CS with log minimum angle of resolution (MAR) was 0.67 with 45% of the variance in log CS accounted for by log MAR. The regression of log CS on log MAR resulted in an intercept of 1.50 and a slope of -0.63. Binocular CS was 0.10 log unit higher than monocular, falling short of the 0.15 binocular summation predicted by the standard model.

2007

RESULTS: In the low vision population, log MAR declines with log contrast sensitivity with a slope of about -0.6 (Arditi & Faye, AAO meeting 2004). Thus, those with diminished acuity may be expected to require additional contrast at the rate of 0.6 log units per log unit of acuity lost. .....converting from Weber contrast to contrast ratio....should be ... relative luminance ratio is at least 7:1.


In 2004, intercept of 1.5 I take to mean logCS crosses Y at 1.5 when x=0. LogMAR 0 is 20/20. More modern studies have the logCS intercept as above 1.66 to 1.8 (ish) IIR. This also mentions slope of -0.63, which modern studies have shown can very depending on impairment from -0.97 to -0.3 ...

In 2007, there's still the slope of -0.6 mentioned to support the "need 0.6 log units [CS] per log unit of acuity lost." maybe it's a lack of sleep, but I finding a "good" line of reasoning to "multiply 3:1 by 1.5". Breakdown: BUT:

0 logMAR is 20/20 and 1 logMAR is 20/200.

Most charts I have show logCS above 1.7 to 1.8 for 20/20, dropping to 1 logCS at about 20/200.... so I don't quite get what the 1.5 as intercept is referenced to, seems out of place. If I mess with the numbers enough, I can force a 1.4 to 1.6 contrast sensitivity ratio, but when I do the numbers look wrong at least in regards to more modern knowledge on the subject of CS, and it is useful to note that CS is among the newer areas of existing research.

I wish I had a more definitive set of answers on this, but based on what you mentioned, and my further playing with the numbers, I'm going to edit my post above to accommodate some hand waving regarding what we've just discussed.

Part of the motivation at the time was to be able to have a "three way" of colors, #000, #767676, #fff. That was not a prerequisite per se, just one of the factors for deciding between 5:1 (zero triples) and 4.5:1 (some triples, including two 8bit pure gray).

Well I mention it as it comes up a lot, and the way it's handled in APCA is by separating use cases and spatial frequency, and not regarding color because the reality is there is not enough contrast range on an sRGB monitor.

huayunh commented 2 years ago

Hi Andy @Myndex !

I genuinely admire all the effort you put in towards the color contrast! I've followed the 2019 GitHub issue thread a little bit but I was an amateur on this topic so I didn't dig as deep.

Does APCA have a "cut-off" line? Is it defined so that, say, 99% of the population can read an Lc30 text when the display is 50cm away from their eyes? I am asking because (1) I noticed that the spatial frequency sensitivity tests were generally measured at a distance (from the few papers I read dated in the 80s), and the 20/40 "cut off line" is, by definition, also measured at a distance. Does this measuring distance affect how people perceive the contrast? And (2) How are the thresholds in WCAG 2 / APCA drawn at the moment? My understanding is that WCAG AA means "most people can read on your site without reading aids" — how is the "most people" defined?

bruce-usab commented 2 years ago

@huayunh wrote:

most people can read on your site without reading aids

Where is that paraphrase / expectation from? I do not think I would be inclined to agree with the characterization!

There is a formal explanation for Understanding Levels of Conformance linked from 2.1 introduction on Layers of Guidance.

Myndex commented 2 years ago

Hi @huayunh

I genuinely admire all the effort you put in towards the color contrast!

Thank you!

Does APCA have a "cut-off" line? Is it defined so that, say, 99% of the population can read an Lc30 text when the display is 50cm away from their eyes?

Well, legibility is the minimum resolvable stimuli. In other words, the best you can make out under ideal conditions i.e. a doctors office test at maximum contrast with bold low spatial frequency letters. But this is not readability.

Readability is a range, doesn't really have absolute cut off's—but if you mean is there a cut off in terms of the conformance model then there are some generalizations. Well let's step back first and sort of get on the same page.

Readability can partially be defined as 10 to 20 times the legibility contrast, and 2 to 3 times the legibility size.

In research we use the term "visual angle" for defining the size of the image as it is focused onto the retina. CSS reference px is the canonical unit of measurement for web content, and it is 1px = 1.278 arc-minutes of visual angle. It is up to the manufacturer to determine the needed screen density based on the expected use-distance.

As to population, 45% or less have 20/20 vision. Worldwide, the median vision is 20/40.

I am asking because (1) I noticed that the spatial frequency sensitivity tests were generally measured at a distance (from the few papers I read dated in the 80s), and the 20/40 "cut off line" is, by definition, also measured at a distance. Does this measuring distance affect how people perceive the contrast?

I'm not sure which papers, but most of the important papers reduce this to a visual angle because that's the only transferable and canonical measure.

And (2) How are the thresholds in WCAG 2 / APCA drawn at the moment? My understanding is that WCAG AA means "most people can read on your site without reading aids" — how is the "most people" defined?

I'm not aware of any such claim anywhere in WCAG 2, nor would I expect there to be as there were no formal empirical studies.

And I'm not going to make any such claim for APCA pending the planned large scale study, other than, because it is perceptually uniform the conformance model thresholds could be set for any particular vision type, so it's more a matter of what a particular standard wants to specify as opposed to APCA itself.

That is, guidelines for minimum size of text and minimum contrast, are what determine the given impairment level that is accommodated—that's a matter for the standards body to determine what they want to acheive. APCA facilitates this by being perceptually uniform, so a shift is essentially a matter of simple linear math.

Myndex commented 1 year ago

This is just a quick add of some notes relating to the WCAG 2.0 cited references of ANSI and ISO:

WCAG 2 refs are:

BOTH Recite:

ISO Recites:

In other words, the 20/40 is already built into these low bar minimum standards, and I believe I mentioned this in some threads back in 2019 as well.

I may or may not have also mentioned that WCAG 2.0 was finalized in 2007, and rec in 2008, but does not cite any of the important peer-reviewed readability research nor perceptual contrast research that was done in 1990s.

APCA readability guidelines are based on or derived from the peer-reviewed scientific-consensus readability research.

What's advanced in APCA is the definition of spatial frequency related to text which is derived from the well-defined human contrast sensitivity curve, considering shifts that occur due to impairments, per a number of existing papers that discussed these spatial characteristics as they apply to suprathreshold contrast. APCA also ads polarity sensitivity, and gamma compensation for self-illuminated displays.

This summer (2023) will be releasing the protan compensator which is going to allow for using wide gamut and HDR color spaces, and the pure algorithmic spatial value.

Thank you for reading

fstrr commented 4 months ago

This issue is labelled as a discussion, so we’re moving this to Discussions. There doesn’t seem to be an update to make to the documentation, but if that changes, we can move it back to the issues list.