Wcag: Problems with WCAG 2.0 Flash Definition

Created on 9 Dec 2018  路  7Comments  路  Source: w3c/wcag

I think there are a number of assumptions in the flash definition:
https://www.w3.org/TR/WCAG21/#dfn-general-flash-and-red-flash-thresholds

Some of these are no longer true due to the introduction of high pixel density displays and the updated definition of the px unit in CSS 3:

1) If the definition is meant in terms of device pixels then the note about 341 x 256 pixels doesn't work for high DPI retina displays.

2) If the definition is meant in terms of CSS pixels then the size calculations are wrong since the CSS spec defines the visual angle of a CSS pixel: https://www.w3.org/TR/css-values-3/#reference-pixel (10 visual degrees is 10 degrees / 0.0213 degrees per pixel = 469 CSS pixels)

3) Universally available browser zoom means that content falling under the sizes in 2.3.1 Three Flashes or Below Threshold threshold can become large enough to cause seizure problems when zoomed. Does this mean that anything failing 2.3.2 Three Flashes should fail 2.3.1 due to browser zoom?

Normative WCAG 2.2

Most helpful comment

Should we mark for review for WCAG 2.2?

All 7 comments

My personal interpretation here would be:

  1. back in the days of WCAG 2.0 where this was defined, a physical/device pixel was the same as a CSS pixel...but nowadays, the definition should be interpreted as CSS pixel.

  2. i'll trust your maths skills here - for my own part, the whole ".006 steradians within any 10 degree visual field" is incomprehensible and impenetrable (and the same holds true for any developer i've spoken to about this). i'd also note that the definition for the reference pixel is idealised, and real-world devices and user agents, though they often come close, don't really take this into account.

  3. i'd say that browser zoom is a user choice/setting, and not something that you'd take into account when testing (similar to the fact that if a user goes closer to a screen, even assuming the browser/OS followed the actual idealised reference pixel dimension, that would also increase the size of any flashing area within their field of view).

I think CSS pixel is probably the best/only option - and is backwards compatible with the 96-dpi pixel common when WCAG 2.0 was written. It's also defined as a visual angle, which ties in well with the rest of the definitions (or at least the parts I understand)

It's also not defined what the 'maximum relative luminance' is in this definition. It's probably the relative luminance of black vs white (i.e maximum contrast) but difficult to be certain given how opaque the rest of this definition is.

Given flashing content can cause seizures, with consequences including death, I think this success criteria should be evaluated very conservatively. Browsers sometimes remember zoom settings, so a user may end up on zoomed flashing content quite unexpectedly.

So there's a specific issue on the dimension usage, #585, are the other questions answered?

It's still not clear what 'maximum relative luminance' means in the general flash definition. It could mean any of:

  • the relative luminance between the darkest and lightest colors possible (black and white)
  • the relative luminance between the darkest and lightest colors on the page containing the image
  • the relative luminance between the darkest and lightest colors across all frames of the image
  • the relative luminance between the darkest and lightest colors in a single frame of the image

Agree that wording is dense and unclear.

A general flash is defined as a pair of opposing changes in relative luminance of 10% or more of the maximum relative luminance where the relative luminance of the darker image is below 0.80

My interpretation for that "maximum relative luminance" is that it refers to the relative luminance between the darkest and lightest colors possible (black and white). So, a flash is a change of 10% or more of the possible extreme change from white to black / vice versa. Assuming the math is linear, and not something logarithmic or exponential or whatever, if the extreme contrast ratio between pure white and pure black is 21:1 (at least per Color Contrast Analyser, but I believe its maths is correct), then a 10% change in relative luminance would be a contrast ratio of 2.1:1 between the two opposing colors.

Now personally, I find the second bit of that sentence even more vague/confusing... "where the relative luminance of the darker image is below 0.80". Relative to what? Also, why is this now talking about "image", rather than a specific color? Or does this mean the relative luminance overall across all of the image/area where the flashing occurs? This feels a bit out of context to me in any case.

Should we mark for review for WCAG 2.2?

Ok, so it sounds like the changes would be to:

  • Clarify it is CSS pixels;
  • Re-calculate the area (or replace the area definition) with something equivalent (see #585 and #553);
  • Find out what the relative luminance values actually refer to, and/or replace that with what we think it says?!

I'm working through the 'misc' issues marked with WCAG 2.2 now, so PRs welcome...

Was this page helpful?
0 / 5 - 0 ratings