ottawadeveloper / coloranalyzer
提供有关 CSS 颜色的 WCAG 信息。
v0.1
2016-02-05 06:27 UTC
Requires (Dev)
- phpunit/phpunit: 4.8
This package is not auto-updated.
Last update: 2024-09-16 20:29:27 UTC
README
此项目提供工具来分析 CSS 代码中的颜色,以查看哪些组合符合 W3C 推荐的对比度比。
由于这是一个个人项目,我利用这个机会使一些元素非常健壮(比它们可能需要的要健壮得多),以便它可以由其他解决方案扩展。
颜色支持
默认情况下,此库支持以下内容
- 表示灰色色调的两位十六进制代码
- 表示网络安全色的三位十六进制代码
- 六位十六进制代码颜色
- 表示具有 alpha 值的颜色,八位十六进制代码
- 官方 CSS 颜色关键字
- 有效的 rgb()、rgba()、hsl() 和 hsla() 调用
利用此库的其他应用程序可以通过提供实现 ColorProcessor 接口的对象并将其添加到 ColorFactory 中来扩展默认支持的方法。
报告支持
默认情况下,此库提供报告功能,允许其他应用程序定义它们希望在报告中看到的列,以及一个单独的格式化器。报告是通过将每种颜色与其他颜色配对,然后运行每对的颜色报告组件来生成的。默认情况下,以下列得到支持
- ColorTextReport:显示颜色的名称,使用 ColorProcessor 实例显示颜色。请注意,您必须将其添加两次到报告中:一次用于前景,一次用于背景。
- LuminosityContrastReport:显示两种颜色之间亮度的对比度比(1到21之间的值)。
- Wcag2ComplianceReport:显示颜色是否符合 AA 标准或 AAA 标准。
您可以通过实现 ReportComponent 接口并将其实例添加到您的报告中来自定义报告列。
混合支持
此库提供混合两种颜色的支持,并允许其他应用程序选择策略。默认情况下,使用 alpha 合成方法(支持透明背景)进行混合。当计算亮度对比度时,自动将混合应用于不透明颜色。
要更改混合策略,您可以实现 ColorBlender 接口,然后将实现传递给 ColorFactory。只能使用一种混合策略。
用法
请参阅 example-report.php 以获取生成报告的示例。
许可
此项目根据 MIT 许可证提供,这意味着您可以根据自己的意愿重复使用它,只要您保留与它一起的 LICENSE.txt 文件。