WCAG 2.0 通用闪光定义中的“最大相对亮度”指的是什么?

问题描述

我正在尝试编写视频分析软件来检查是否符合 WCAG 2.0 扣押指南。但是,在 definition of 'general flash' 中,它声明了以下内容

一般闪光被定义为相对亮度的相对变化最大相对亮度的 10% 或更多 (...)

我对“最大相对亮度”的使用感到困惑。没有指定我们在哪个上下文中考虑最大值。它是指 1.0 亮度吗?或者网页中达到的最大亮度?还是别的什么?

我找不到任何说明。我只是假设它指的是 1.0 亮度,但是,如果这个假设是错误的,我的代码会由于不正确的高阈值而在闪光检测中产生假阴性。

抱歉,如果我遗漏了一些明显的东西,或者这里问错了。

解决方法

最大相对亮度只是使用本答案末尾的公式得出的最大亮度。

使用“最大相对亮度”的原因是还有其他颜色空间,但由于这是网络,因此使用了 RGB 颜色空间。 (例如,您可以使用 CMYK 颜色空间并使用不同的计算。但最终结果是相同的,1 表示白色,0 表示黑色)。

10% 最大值是指最大亮度与最小亮度之间的差异(但最大亮度的 10% 作为差异而不是最小值的 10%,因为这会导致更小的差异)。

例如:-

  1. 如果最亮值的亮度为 0.9,则最暗点的最小亮度为 0.81(0.9 * 10% = 0.09,0.9 - 0.09 = 0.81)。
  2. 由于第二条规则,尽管方差大于 10%,但以下是可以接受的 - 最亮值 0.99,最暗值 0.8 - 这有大约 20% 的差异,但最暗值的相对亮度为 0.8,所以没问题。
  3. 如果最亮值的亮度为 0.9,但最暗的亮度为 0.72,那么这将要求每秒闪烁少于 3 次,因为差异为 20% (1 - (0.9 / 0.72) = 0.2 或 20%)

由于以下规则注释,第二个语句是可以的:

一般闪光被定义为一对相对亮度的相对变化为最大相对亮度的 10% 或更多,其中 较暗图像的相对亮度低于 0.80;并且其中“a一对相反的变化”是先增加后减少,或先减少后增加

有一个很好的代码笔解释了相对亮度方程(点 1 到 4):

https://codepen.io/bcdon/full/qBWwWyx

包含,因为您必须使用代码笔包含代码...这是使用 RGB 颜色空间的亮度公式。

 L = 0.2126 * R + 0.7152 * G + 0.0722 * B
,

WCAG 2.0 有一个 wiki 页面Relative Luminance

The relative brightness of any point in a colorspace,normalized to 0 for darkest black and 1 for lightest white.

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...