MDFTextAccessibility 2.0.1

MDFTextAccessibility 2.0.1

测试已测试
语言语言 Obj-CObjective C
许可 Apache-2.0
发布上次发布2021年3月

Adrian SecordGoogleRandall LiIan GordonIan GordonAndrew OvertonJeff VerkoeyenRobert Moore 维护。



  • Google Inc.

MDFTextAccessibility 协助选择满足 W3C 标准《可访问性》的文本颜色。

Build Status Code Coverage

文本可访问性

为了覆盖最广泛的用户范围,应确保用户可以读取在任何背景上显示的文本。虽然文本的可读性取决于许多因素,但一个好的开始是提供一个足够大的 对比度 之间的前景文本颜色和它们的后景颜色。两种颜色的对比度是两个颜色的亮度差异的衡量。例如,黑色背景上的白色可能有 9:1 的对比度比,而白色背景上的中等灰色可能只有 4:1 的对比度比。一般来说,更大的对比度比更好,并将确保最广泛的用户可以轻松读取您的应用程序中的文本。

W3C 的 Web 内容可访问性指南 包含关于文本对比度的两个建议

  1. 最小对比度:文本的对比度比应至少为 4.5:1,除非是“大号”文本,其对比度比可以为 3:1。
  2. 增强对比度:文本的对比度比应至少为 7:1,除非是“大号”文本,其对比度比可以为 4.5:1。

"大号"文本的标准定义是正常字体样式中至少 18pt 或加粗字体样式中至少 14pt。有关更多信息(包括一些重要的异常),请参阅 指南

计算对比度比率

计算可接受的对比度比率涉及到前景颜色、背景颜色、文字大小,以及如果有,前景颜色的透明度。MDFTextAccessibility提供了方便的方法来访问将自动给出可接受对比度比率的颜色。

对于返回UIColor的方法,颜色及其alpha值保证提供符合W3C推荐的最低对比度比率的对比度。返回的alpha值可能大于请求的alpha值,以确保可接受的对比度,也就是说,返回的颜色可能比请求的更不透明,以确保文本保持可读。

在图像上显示可读文本

因为在任意图像上显示可读的文本是有难度的,因为图像内容可能与文本冲突。具有平滑渐变或模糊区域的图像可能导致更可读的文本;具有许多细节和高对比度的图像不太可能导致可读的文本。

MDFTextAccessibility提供了尝试选择特别图像上显示文本的良好颜色的方法,但结果质量将取决于图像内容。如果不知道图像内容(例如,当用户提供的图像时),则考虑使用图像和文本之间的半透明隔离层来提高对比度。

使用方法

基本使用

最简单的使用方法是根据背景颜色选择黑色或白色文本,不考虑字体。

label.textColor = [MDFTextAccessibility textColorOnBackgroundColor:label.backgroundColor
                                                         textAlpha:1
                                                              font:nil];

许多用户界面设计标准使用不是完全不透明的文本颜色。然而,透明文本可能会降低可读性,因此您可以请求尽可能接近特定alpha值的颜色,同时仍然保持可读。

label.textColor = [MDFTextAccessibility textColorOnBackgroundColor:label.backgroundColor
                                                   targetTextAlpha:0.85
                                                              font:nil];

由于W3C建议为“正常”和“大号”文本推荐不同的对比度比例,包括字体可以使文本颜色在适当的时候更接近您的目标透明度

label.textColor = [MDFTextAccessibility textColorOnBackgroundColor:label.backgroundColor
                                                         textAlpha:0.85
                                                              font:label.font];

高级用法

对于更高级的用法,例如从除白色和黑色之外的颜色集中选择,请参阅MDFTextAccessibility的textColorFromChoices:onBackgroundColor:options:

许可证

MDFTextAccessiblity是基于Apache许可证版本2.0授权的。