Chrome desarrolladores revelaron una fase de desarrollo puede ayudar a los desarrolladores hacer el sitio más amigable con las herramientas de desarrollo daltónicos visión en color Deficiencia (CVD, trastorno de la visión del color / color de la ceguera).
De acuerdo con ColourBlindAwareness.org decir, el mundo hay unos 300 millones de personas de color ciego. El nuevo pueblo de estilo analógico color cromo-ciego para ver la ceguera a todo color, ciega ciega rojo y verde y así en una determinada página por DevTools. Tenemos que incluir lo siguiente:
- La introducción del Protocolo DevTools Chrome (CDP) de la API (Emulación # setEmulatedColorVisionDeficiency), a fin de que puedan apoyar analógica mediante programación a través de CDP.
- La introducción de la nueva API titiritero, el apoyo programático estas simulaciones a través de CDP.
- Expand DevTools contraste corrector colorpicker widget para comprobar el contraste entre el conocido problema de la ceguera de color.
- Faro se puede añadir a una auditoría de acceso de prueba, para usar las nuevas características, y comprobar el nivel de contraste de cada simulación.
A la larga, en circunstancias ideales CVD obtendrá un nivel de soporte de parpadeo Renderizador, para que pueda aplicar filtros a los documentos en el caso no cambie el documento o no afecta al cálculo de estilos. El siguiente es un ejemplo sencillo, este ejemplo utiliza GraphicsContext :: SetColorFilter incondicionalmente añadir filtros:
diff --git a/third_party/blink/renderer/platform/graphics/graphics_context.cc b/third_party/blink/renderer/platform/graphics/graphics_context.cc
index 7cbbd9656eff..d700d15a5cb4 100644
--- a/third_party/blink/renderer/platform/graphics/graphics_context.cc
+++ b/third_party/blink/renderer/platform/graphics/graphics_context.cc
@@ -113,6 +113,16 @@ GraphicsContext::GraphicsContext(PaintController& paint_controller,
paint_state_stack_.push_back(std::make_unique<GraphicsContextState>());
paint_state_ = paint_state_stack_.back().get();
+ // clang-format off
+ const float kAchromatopsiaColorMatrix[20] = {
+ 0.299f, 0.587f, 0.114f, 0.000f, 0.000f,
+ 0.299f, 0.587f, 0.114f, 0.000f, 0.000f,
+ 0.299f, 0.587f, 0.114f, 0.000f, 0.000f,
+ 0.000f, 0.000f, 0.000f, 1.000f, 0.000f,
+ };
+ // clang-format on
+ paint_state_->SetColorFilter(SkColorFilters::Matrix(matrix));
+
if (ContextDisabled()) {
DEFINE_STATIC_LOCAL(SkCanvas*, null_sk_canvas,
(SkMakeNullCanvas().release()));
Chrome 82 se espera que se añade a la herramienta, pero la versión actual puede utilizar la experiencia de Canarias.
Los detalles de la herramienta pueden ver el documento: goo.gle/devtools-cvd .