===================== 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