w3c / silver

Accessibility Guidelines "Silver"
https://w3c.github.io/silver/
Other
201 stars 34 forks source link

What is the method for calculating the APCA CONTRAST LOOKUP TABLE, for a given score level / use case #551

Open sdw32 opened 3 years ago

sdw32 commented 3 years ago

This issue was discussed on a group call, the following represent Sam Waller's minutes from this call

We spent some time discussing the APCA contrast lookup table. SDW described his understanding was that this table represented the equivalent of score 4 within the APCA contrast calculator, although this was challenged, and there is still some uncertainty regarding this issue. SDW requested the source evidence of where this table had come from. Chris checked the contrast Wiki https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup#Conformance_Scoring_Levels and found the maths that supports the calculation of Lc. However, we were not able to find the supporting evidence that describes how the APCA contrast lookup table was derived. It was agreed that this evidence was necessary. If it comes from existing published work then the link to this needs to be clear, and if it comes from empirical evidence then this needs to be published so that it can be reviewed.

SDW noted that the pt sizes reported in the above table do not match the equivalent pt sizes that would be obtained on his phone. SDW suggested that this pt size calibration was perhaps based on a monitor/laptop of some kind. SDW suggested that this column heading should be labelled with the device, and in fact multiple columns could show the pt sizes for different devices, and at least one of these should represent a mobile device.

SDW noted that in terms of visual processing, spot reading of individual words is very different to fluent reading of body paragraphs of text. In spot reading of individual words, the eye is focused on the word, so the most sensitive part of the eye (the macular) is doing most of the work. For fluent speed reading of body paragraphs of text, peripheral vision is doing some of the work, and the words are being processed as shapes. As such, SDW expected that the contrast lookup table should be different for spot reading versus fluent reading. For spot reading, it makes sense to pass larger text at lower contrasts, and SDW expects that bold text can be slightly smaller than the equivalent regular weight text.

However, for fluent reading of body paragraphs, SDW proposed that it's odd to be passing large font sizes at lower contrasts, this doesn't represent a practically useful situation. Furthermore, SDW believes that bold weight paragraphs of text may even be harder to speed read than normal weight body paragraphs, or might offer no advantage, so bold weights for body paragraphs should not allow the font-size to be smaller. This was challenged regarding whether bold text may be of benefit for people with visual impairments reading body paragraphs of text, even if it doesn't help people with good vision to speed read the text. It was noted that this linked to the previous discussion regarding the intended real-world interpretation of the scores, and whether this was to defined for people with good vision, or mild visual impairments.

At this point we agreed to pause the discussion, pending further review of the intended meaning of the scores, and further review of the existing evidence regarding how the APCA contrast lookup table is currently derived.

Myndex commented 3 years ago

This is the FIRST I've heard of this question, no one ever asked me directly here, and was I on this call? Nevertheless, the primary sources for the metrics for critical contrast and for critical size come from Barten, Bailey/Lovie-Kitchin, and Legge, and we have a limited sample size of empirical data here in the lab, and more planned after the completion of some other pressing tasks.

I am going to address a few things:

SDW proposed that it's odd to be passing large font sizes at lower contrasts, this doesn't represent a practically useful situation.

It is a useful situation for a number of reasons, design, aesthetic, and otherwise. For instance, the MAXIMUM contrast for larger stimuli has a cap (currently Lc90, but potentially slightly lower). Contrast modulation is a useful design tool/technique.

The reason for a max cap for LARGE text and large non-text is that some people such as dyslexics have difficulty with excessive contrast. Because of the spatial frequency filtering function of V1 of the visual cortex, larger stimuli have a substantially higher apparent contrast given the same color distance. A large very bold font does not need the same high lightness contrast as body text.

SAM KNOWS THIS, I've not only described it to him, but he wanted to use my infographic that specifically demonstrates this for one of his papers in February ??!?!?.

REGARDING PUBLISHING: I have more than one paper in progress, and further empirical studies, they will be published when ready.

Thank you,

Andy

sdw32 commented 3 years ago

Many thanks to Andy for following up on this topic. The meeting where this was discussed was on 29th of July 2021. I believe you were invited to this call but did not attend. More recently, my attention has been focused on the supplemental guidance for WCAG 2, which is perhaps why this thread hasn't been brought to your attention before.

Regarding the issue of large text at low contrasts, the full statement that I made was

However, for fluent reading of body paragraphs, SDW proposed that it's odd to be passing large font sizes at lower contrasts, this doesn't represent a practically useful situation.

Obviously, I am well aware that individual words can be perceptible when they are both large and low contrast. However, the point that I was making specifically referred to fluent reading of body paragraphs of text, and I maintain that its impractical for body paragraphs of text to exceed font sizes circa 30px. An excessive amount of scrolling that would be required to read body paragraphs that contained such large text.

Furthermore, I remain keen to discover the source algorithms that the APCA tool uses to convert the perceived lightness contrast into a minimum viable font-size, for different font-weights. I'm currently thinking that these relationships ought to be different for spot reading of individual words, compared to fluent reading of body paragraphs of text. I remain keen to discover how these algorithms are linked to published evidence in this regard, and I will look forward to further discussions on this topic.

Myndex commented 3 years ago

Hi Sam @sdw32 I am answering your post in reverse order.

Furthermore, I remain keen to discover the source algorithms that the APCA tool uses.....

I'm sure you are, LOL.

.... to convert the perceived lightness contrast into a minimum viable font-size, for different font-weights. I'm currently thinking that these relationships ought to be different for spot reading of individual words, compared to fluent reading of body paragraphs of text. I remain keen to discover how these algorithms are linked to published evidence in this regard, and I will look forward to further discussions on this topic.

STOP

I am not going to discuss unreleased intellectual property publicly. Period.

Any such discussions shall be under NDA.

That said, the values ARE different for spot reading vs fluent reading, as has been discussed, and I believe I even specified the offset in one of my posts in LVTF or on the Visual Contrast Wiki. I've written about 145,000 words on this, and the locations are the Wiki, my Myndex pages, and the WCAG 695 thread among other places.

Nothing more is going to be made public until I publish in a more official capacity. While I tried to be open early on, it has only led to interference.

the point that I was making specifically referred to fluent reading of body paragraphs of text, and I maintain that its impractical for body paragraphs of text to exceed font sizes circa 30px. An excessive amount of scrolling that would be required to read body paragraphs that contained such large text.

Thank you Sam, it is an interesting but uninformed opinion. Regarding readability, I recommend Legge and Bailey/Lovie-Kitchin. Regarding design and typography, HTML and CSS, there are a few options. I usually suggest anyone interested in any form of design start with life drawing using the Nicolaides method, then branch from there.

Sam, I've been doing typography since the late 1970s. Back before computers, when layouts were done on a light table using razor blades and hot wax. You can't make general blanket statements like "An excessive amount of scrolling" nor dictate a design opinion like that, when the object here is only the definition of what is body text and for that, the question is at what point does body-text become not-body-text meaning at what point do certain metrics regarding spacing, font type, etc shift from those of blocks to just the fluent reading category.

I did indicate somewhere that a reasonable upper bound for something to still be called body text regardless of a number of lines might be 36px. Even with that, I could show you fonts that were still TOO SMALL, because if you understood typography, you'd understand that font body size does not directly specify the glyph size. I have a number of posts that demonstrate this.

Finite Elements of... Design

Sam, I read your thesis on compressible branching structures. I consider you an expert in the finite element analysis of pin jointed second-order hierarchical compressible columns.

I do FEA using Solidworks Simulator, formerly Cosmosworks. Here's an example stress plot of a table I designed for a furniture company some years ago:

250 lb side load small

Does this make me an FEA expert? No, I wouldn't presume.

And if I had a question regarding FEA I'd likely ask you. But at the same time, if I tried to lecture you on Euler-yield failure modes I'd bet you'd be a little insulted? Because if I did you'd immediately recognize my knowledge in the field of mechanical or structural engineering is cursory compared to yours. Similarly if I told you you could discard your chapter 4 on perfect trusses as being redundant and unnecessary, that should rightly make you angry. And again, I would never presume to do that.

However, you are doing these things to my work, my work that I have been working on for this project for two and a half years, which is in a field where I have many decades of real world work experience and actual applications, published articles, and received multiple industry awards. So, please recognize that it is trivial for me to grasp someone's understanding of the field(s) I am an expert in, just as easily as you saw the gaps in my knowledge regarding FEA in what I stated above.

I welcome analyzing the math or models, asking questions, and I get that you are interested in this which is great, you are literally the first person to properly examine the math. But graphic design is not a pin jointed branching structure, and typography is not a stress strain curve, and visual perception is not FEA, though I am sure in reading this you see the abstracted parallels. I am not telling you to leave my work alone. I am asking that you approach my work the way you'd have had someone approach your thesis while you were working on it.

Thank you.

And to add in finality:

We could maybe say the x-height upper bound is 24px...ish, basically double the "expected norm" x height for the regular block text, which is a x height of 9px to 12px. But I would like to examine that more before making a blanket statement.