=====================
Web Checkbox Contrast
=====================
Visión general
==============
Oscurece el borde de las casillas de verificación, los botones de opción y los
interruptores **sin marcar** en todo el backend de Odoo.
En Odoo 18 ese borde se pinta con el gris claro de los separadores
(``--border-color``, ``#dee2e6``), que sobre fondo blanco da un contraste de
1,3:1: una casilla sin marcar casi no se ve, y menos aún en un campo de sólo
lectura o en una celda de lista, que Odoo atenúa además al 50 %. WCAG 1.4.11
pide 3:1 para el contorno de un control.
Con el módulo instalado:
* casilla editable sin marcar: gris ``--gray-600``, contraste 4,7:1;
* casilla de sólo lectura sin marcar: ``--gray-900`` atenuado al 50 %, 3,1:1.
Los estados marcado, indeterminado, foco y hover conservan los colores de Odoo.
El alcance global es intencionado: es justamente lo que hace este módulo. Es un
módulo de sólo CSS: no define modelos, campos ni vistas. Para volver al aspecto
estándar de Odoo basta con desinstalarlo.
Sólo afecta al backend (``web.assets_backend``): ni el sitio web, ni el portal,
ni el TPV cambian.
Nota técnica: no se sobrescribe ``border-color`` sino la propiedad
personalizada ``--border-color`` sobre el propio ``.form-check-input``.
Bootstrap sólo la lee en el ``border`` base del control; el resto de estados
fijan ``border-color`` de forma explícita, así que ganan siempre, sin depender
de la especificidad ni del orden de carga de los assets.
Instalación
===========
Instalar el módulo:
::
docker-compose run --rm odoo odoo -d odoo --stop-after-init -i web_checkbox_contrast
No tiene más dependencias que ``web``, así que se puede instalar y desinstalar
en cualquier momento sin afectar a datos.
Configuración
=============
No requiere configuración. El efecto se aplica al instalar el módulo y
desaparece al desinstalarlo.
Para cambiar la intensidad del borde, edita los dos valores de
``--border-color`` en ``static/src/css/web_checkbox_contrast.css``.
Uso
===
No hay nada que usar: una vez instalado, cualquier casilla, botón de opción o
interruptor sin marcar del backend (formularios, columnas booleanas de las
listas, ajustes, filtros...) muestra un borde bien visible.
Contribuidores
==============
* Criptomart
Créditos
========
Autor
-----
* Criptomart