Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework understanding for 1.4.1 to be firmly only about visual aspect #1500

Merged
merged 7 commits into from
Dec 15, 2020

Conversation

patrickhlauke
Copy link
Member

@patrickhlauke patrickhlauke commented Oct 31, 2020

Closes #1076, #1032

  • removes mentions of braille displays and assistive technologies - this is not what SC 1.4.1 is about. while related, these are covered in separate SCs ... 1.4.1 is purely about visual aspects for users who cannot perceive color (but are still sighted)
  • adds the "oh no, this is not just a difference of color - they have different lightness/luminosity, so as long as contrast is 3:1 or higher that counts as another visual cue" redefinition of what "color" means from being a side note in a technique (F73: Failure of Success Criterion 1.4.1 due to creating links that are not visually evident without color vision) to actually being part of the understanding document itself

while it seems the publishing pipeline adds it anyway automagically (just looking at https://www.w3.org/WAI/WCAG21/Understanding/use-of-color.html), this makes it clean/explicit and consistent with the links to other techniques
@patrickhlauke
Copy link
Member Author

In addition, it would be nice to pull in the key term/definition for "contrast ratio" into the understanding document (and ideally link it from the new note)...but I'm not quite sure how that can be done easily - seems there's some automagic behavior that pulls in key terms somehow that currently escapes me.

@JAWS-test
Copy link

I am unsure whether in addition to the 3:1 exception it should be mentioned that color coding can also be an error if the contrasts of the used colors are higher than 3:1. This is always the case when the color itself conveys information and not only the color difference:

  • Example for color coding: red for error, green for success - the color itself is important
  • Example for color difference: Blue for active menu item, white for inactive menu item - the color is not important, only the contrast

@patrickhlauke
Copy link
Member Author

Example for color coding: red for error, green for success - the color itself is important

I believe in these cases, relying on the user's ability to recognise the intrinsic meaning of a particular color (rather than the more narrow case of being able to simply distinguish between colors) falls more under 1.1.1 and 1.3.1.

@mraccess77
Copy link

In my opinion not being able to distinguish a certain color such as activate the green button - would fall under SC 1.4.1. The understanding doc for 1.3.3 for sensory characteristics points users to guideline 1.4 which seems appropriate to me.

@patrickhlauke
Copy link
Member Author

ah, on reflection, yes that seems appropriate as this is still about providing a visual thing (where 1.1.1 and 1.3.1 are mainly AT-based). ok, wondering now if that should be another note, or at which point it's not worth making notes and instead just plain core understanding text itself.

@patrickhlauke
Copy link
Member Author

added an extra clarification to the note about situations where sufficient contrast still doesn't absolve the need for something else. maybe a bit verbose, but hopefully gets the point across.

@JAWS-test
Copy link

@patrickhlauke Thanks a lot! I think the addition is very good and not at all to verbose

@yatil
Copy link
Contributor

yatil commented Nov 9, 2020

I’m not comfortable with a change in that direction. While it aligns with the G183 loophole, color as hue-only is not defined in WCAG proper. That is emphasized that the definition of relative luminance uses color for all aspects of a color not only for hue. I don’t think color should mean something different in different places in the same document.

I think a better, easier to teach and implement version is to interpret color in its commonly used meaning as the combination of all properties of a color, thus rendering G183 a failure, which it IMHO always should have been.

@JAWS-test
Copy link

I think a better, easier to teach and implement version is to interpret color in its commonly used meaning as the combination of all properties of a color, thus rendering G183 a failure, which it IMHO always should have been.

I think that would not be correct. Every visual representation on the web works with color differences, e.g. black text on a white background is also just a color difference with contrast 21:1, i.e. a minimum contrast must be defined, otherwise each content would violate 1.4.1

@yatil
Copy link
Contributor

yatil commented Nov 9, 2020

The minimum contrast for text is already defined elsewhere. Also the form of the letters conveys the information of the text, not the color alone. This issue is about 1.4.1.

@JAWS-test
Copy link

@yatil

The minimum contrast for text is already defined elsewhere.

That's right. Maybe the example was not so good. But if I do not define a minimum contrast in 1.4.1, I would not allow e.g. the active menu item to be white on black and the inactive menu items to be black on white, although the contrast difference between active and inactive is 21:1. Is this intended? If so, probably many sites would violate 1.4.1 that have always claimed the 3:1 exception so far

@yatil
Copy link
Contributor

yatil commented Nov 9, 2020

But if I do not define a minimum contrast in 1.4.1, I would not allow e.g. the active menu item to be white on black and the inactive menu items to be black on white, although the contrast difference between active and inactive is 21:1. Is this intended?

From 1.4.1:

Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.

So, yes. This is what the SC says. Of course that somehow would make 1.4.11 redundant, but it just shows how generalized the SC 1.4.1 is. If we want to change it to

Hue is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element.

then go for it. I stand by my statement that having different combinations of color attributes labeled with the word ”color” in the same spec is bad for understanding.

@bruce-usab
Copy link
Contributor

bruce-usab commented Nov 9, 2020

@yatil wrote:

I think a better, easier to teach and implement version is to interpret color in its commonly used meaning as the combination of all properties of a color

I was struck by how remarkably sensible this is! It needs a little tweaking, as we would not want to have a formal definition of color that uses the word color as part of the definition. But a formal WCAG 2.x definition of the term color could mention hue, brightness, and both commonly used meaning and all properties.

thus rendering G183 a failure, which it IMHO always should have been.

Nuts, you lost me right there! Please explain, as it very much seems to me that G183 relies on the commonly used meaning of color as its unstated implicit rationalization.

I stand by my statement that having different combinations of color attributes labeled with the word ”color” in the same spec is bad for understanding.

+1

@patrickhlauke
Copy link
Member Author

patrickhlauke commented Nov 9, 2020

it very much seems to me that G183 relies on the commonly used meaning of color

do mere mortals, when asked, say "red and pink are the same color ... they just have different lightness" ?

i personally don't think so...

[edit: ah sorry, I misremembered, thinking G183 was using the same example as F73, where the red/pink thing happens.]

and to be clear, I've not been a total fan of this reinterpretation of color in F73 ... but if this is indeed the party line, then this PR aims to bubble up this unorthodox interpretation at least one level up to the understanding, not buried in a technique

@Myndex
Copy link
Member

Myndex commented Nov 10, 2020

I disagree with these changes IN PART.

While I certainly agree with the spirit of some of the changes, there is need of further revision IMO.

On commit 2622d7f:

I agree with the added word sighted: ...ensure that all sighted users...

But I disagree with the removal of "text only displays". These types of displays certainly affect sighted users. The world is a big place, while here in the US we may rarely see text only and limited color displays in direct use, we can't say that is true for the rest of the world.

And we do have a "text-only" here when we enter reader mode that ignores much of the CSS styling including color as in hue.

And if we are going to open this up for a change, we can clarify and modernize further. Here is a suggested alternate paragraph:

  <p>Color is an important asset in the design of Web content, enhancing its aesthetic appeal,
     its usability, and its accessibility. However, some users have difficulty perceiving color. 
     People with Color Vision Deficiency may be unable to recognize different hues, such as an
     inability to tell the difference between red and green. People with partial sight, cognitive and neurological
     impairments, as well as many older users, can have functionally limited color vision. People with these and
     other visual needs may use their own CSS styles that overwrite the author's original colors. Further, people
     using text-only, limited-color, or monochrome displays and browsers will be unable to access
     or understand information that is presented only as a difference in color.
  </p>

Later in this commit is this note, quoted only in part:

    <p>This criterion does not directly address the needs of users with assistive technologies.
        It aims to ensure that sighted users who cannot perceive color can still understand content.
        How information is conveyed to assistive technology users is covered separately ......

This may be true if assistive technologies only means screen-readers. However I consider extensions like "DarkMode" and other user adjustments to be assistive technology as well, and if we consider those then this SC does still apply, and I suggest it does apply to all sighted users. WHich brings us to this sentence:

     ...ensure that sighted users **who cannot perceive color** can still understand...

All sighted users can perceive color with the very rare exception of "rod only achromatopsia" (no cones) and "blue cone monochromacy" who have no red or green cones, and neurological (i.e. stroke damage to visual cortex). Those are the only ones that are truly "color blind". But they are not only incredibly rare (1:33,000, 1:100,000, and unknown, respectively) they also suffer a profound impairment as rods and blue cones are very poor in resolution, and rods become bleached even in dim room light causeing severe photophobia. They need assistive technology regardless.

The remaining individuals with Color Vision Deficiency still perceive some color. They have a more limited gamut of color, and difficulty in differentiating between certain hues. I have a CVD simulator that demonstrates this clearly. But again, this SC does not only apply to CVD, it applies to all sighted users, and is primarily a restriction from coding information strictly with hue, which is bad design practice and I'll get to that in a moment.

The statement "...who cannot perceive color" is repeated a couple times. All need to be revised to something like "those who cannot differentiate between some color hues."

Objection RE: Note on Coding Information

I most strongly object to the note of commit 9b74ac0, which implies that luminance contrast is useful for coding. It is not. Multiple international standards including the FAA/NASA have restrictions on coding using luminance contrast, for good reason.

Let's discuss.

Luminance contrast (light/dark, disregarding hue and saturation) is critical for things like letters, fonts, objects, so that the visual stimuli gets through the thalamus, and in the visual cortex is filtered by V1, sent to V4, and then to the VWFA (Visual Word Form Area) for decoding as whole words and letter pairs. For this to happen efficiently, we need ample luminance contrast, and hue/chroma contrast is not much a part of this.

But that does not mean that luminance contrast is useful for information coding based on contrast alone, and if in combination with hue only to support the hue coding, and the 3:1 reference is unsupported here. And luminance contrast should not be a part of this SC at all, it is not relevant (other than luminance contrast shall not be used for coding information). Luminance contrast can be useful for things like "focus" but not so much for things like "good/bad".

Something this SC does not appear to touch on (perhaps I missed it) is that color hues are also NOT absolute in meaning and are interpreted differently in different cultures. Words and symbols convey meaning. Color hues do not reliably convey meaning, and luminance contrast does not either (with the possible exception of "on/off").

Summary:

  • Luminance contrast is important for details of content such as fonts, words, drawings of objects... But luminance contrast itself does not convey the meaning, the meaning is conveyed by the details in the stimuli.

  • Color as in hue/chroma/saturation is less important for "details" and lexical processing. Hue/chroma is a third the strength of luminance in terms of contrast and resolution (this is how image data compression like jpeg gets away with throwing out most of the color information in an image).

    • Color hue & sat can be useful for coding information, but a number of limitations exist, some of which affect all users regardless of impairment.
    • Thus color hue can not be the only informational coding.
    • A STOP sign is not just a big red octagon. It is emblazoned with the word STOP. And here again, we have multiple information codings. The sign is reflective red, but it is also an octagon, and it also has a lexical, literal statement of meaning.
  • Meaning is found in words and symbols.

    • Luminance contrast serves to makes THOSE words and symbols readable, but does not add meaning. However, consistent contrast of specific items (such as roads on a map) can help make that information more clear and organized.
    • Color hue/chroma can add meaning in some cases, but it can also detract and interfere with understanding if used improperly. For instance, what does Cerulean Blue mean? The answer is unknown without a legend. Color does not have universal meaning on its own.
  • There are other kinds of contrast: size, shape, motion — but contrasts are not really relevant for this SC, which is about information coding. Contrast is better covered elsewhere.

SIde Bar on CVD

Keep in mind that color as in hue is already full of luminance contrast. Full green #0F0 is more than three times the luminance of full red #F00. But someone with protanopia won't even see red on one of the new UHD monitors. in eRGB, they see red a bit darker than we do, but most important can not distinguish between red and green. Protan and Deutan are the most common CVD types, and thus colors that vary only in their red to green ratios present a significant problem for them.

Again, luminance contrast does not convey information, but makes lexical information more clear. Examples:

Here is red and green, set to the same luminance (no luminance contrast). It does not matter if you have CVD or not, it is plainly hard to read:

Screen Shot 2020-11-09 at 8 21 41 PM

But how do people with CVD see it?

Screen Shot 2020-11-09 at 8 19 55 PM

There's an odd fact: the protanopia sees it BETTER because they see red darker, it actually improves their contrast. But it is literally unreadable to the deuteranopia and might as well be invisible.

Now let's boost the luminance contrast to a reasonable 80 (APCA):

Screen Shot 2020-11-09 at 8 21 04 PM

This contrast boost did not add any real "information" it just made the words easier to read.

Screen Shot 2020-11-09 at 8 20 49 PM

And both protan and deutan see it better as well. Now let's flip it around:

Screen Shot 2020-11-09 at 8 55 56 PM

About the same APCA 80 contrast here...

Screen Shot 2020-11-09 at 8 56 02 PM

But again the deutan and protan can really glean no "information" because they cannot distinguish red from green. The luminance contrast does not convey information, it just make information clearer. (Sounds like a BASF commercial, LOL).

Andy

@patrickhlauke patrickhlauke force-pushed the patrickhlauke-repoint-1.4.1 branch from 1db2b27 to 820c5bd Compare November 12, 2020 20:55
@carlosapaduarte
Copy link

The ACT CG is working on a rule to partially check SC 1.4.1 (act-rules/act-rules.github.io#1010)

Currently we have a blocking issue that is understanding what is meant by color in SC 1.4.1 (hue only?)
This PR would make it cleat what the SC applies to. Is there any way that we can help this move forward, or help in reaching out an understanding (even it is the opposite of what the PR currently proposes)?

@StommePoes
Copy link

All sighted users can perceive color

This assumes we're only talking about what a human's eye can do, and that everyone who sees is seeing through a human eye. Other SCs consider the limits of AT (ie what can a screen reader do, what can a Braille display do, what can speech recognition do... and what kinds of users most commonly use them).

Adjusting things to help me see them may reduce or eliminate colours, just as when I magnify I'm changing the size (oh and we have 2 SCs about that, and both mention how technology may work when users do this).

I feel this point cannot be forgotten.

@alastc
Copy link
Contributor

alastc commented Dec 15, 2020

Noting this PR was accepted, with an update (to be done) to replace the 'blue' example with a filled-stars one. I can tackle that later tonight.

@alastc
Copy link
Contributor

alastc commented Dec 15, 2020

Actually the example wouldn't make sense as a filled star, so I adjusted it to remove the 'instructions' aspect, so it doesn't obviously fail 1.3.3.

@alastc alastc merged commit c8fc1c3 into master Dec 15, 2020
@alastc alastc deleted the patrickhlauke-repoint-1.4.1 branch December 15, 2020 22:17
@patrickhlauke
Copy link
Member Author

Actually the example wouldn't make sense as a filled star, so I adjusted it to remove the 'instructions' aspect, so it doesn't obviously fail 1.3.3.

yup, looking good to me

@patrickhlauke patrickhlauke removed the request for review from michael-n-cooper December 15, 2020 23:04
alastc added a commit that referenced this pull request Jan 5, 2021
* Initial draft

* removing explanation, covered in #1500

* Remving explantation from G183, Pat's review

* removing stray left-over

* Adding back in the hover steps.

* Updates based on Pat's feedback

* Adjust procudure steps.

* Minus 'alone'

* Update G183.html

incorporating a refernce to focus change

* Adding link to SC.

Co-authored-by: michael-gower <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1.4.1: Use of Color - understanding document needs to be clear if it's about "visual" or more
10 participants