Contraste de luminance relative
Calculez le contraste de luminance relative de deux couleurs RGB à trois canaux sur huit bits.
def contrast_ratio(left, right):
def luminance(rgb):
if type(rgb) not in (list, tuple) or len(rgb) != 3:
raise ValueError("rgb.container")
rgb = tuple(rgb)
if len(rgb) != 3 or any(type(c) is not int or not 0 <= c <= 255 for c in rgb):
raise ValueError("rgb.channel")
channels = [c / 255 for c in rgb]
linear = [c / 12.92 if c <= 0.04045 else ((c + 0.055) / 1.055)**2.4
for c in channels]
return sum(c * w for c, w in zip(linear, (0.2126, 0.7152, 0.0722)))
a, b = sorted((luminance(left), luminance(right)))
return (b + 0.05) / (a + 0.05)Projet
Testez noir contre blanc, couleurs identiques et arguments inversés, en rejetant canaux non entiers ou hors limites sans présenter le ratio comme une évaluation complète d’accessibilité.
Vérifiez avant d’appliquer
Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
Modèles
Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
def contrast_ratio(left, right):
def luminance(rgb):
if type(rgb) not in (list, tuple) or len(rgb) != 3:
raise ValueError("rgb.container")
rgb = tuple(rgb)
if len(rgb) != 3 or any(type(c) is not int or not 0 <= c <= 255 for c in rgb):
raise ValueError("rgb.channel")
channels = [c / 255 for c in rgb]
linear = [c / 12.92 if c <= 0.04045 else ((c + 0.055) / 1.055)**2.4
for c in channels]
return sum(c * w for c, w in zip(linear, (0.2126, 0.7152, 0.0722)))
a, b = sorted((luminance(left), luminance(right)))
return (b + 0.05) / (a + 0.05)Reliez un calcul de couleur à l’interface qu’il décrit
LumaGauge est un logiciel de programmation avec IA pour Windows destiné à examiner les modifications d’interface dépendant de calculs de couleur. Ouvrez le projet et décrivez l’élément, l’arrière-plan et l’état à étudier. L’assistant connecté peut aider à examiner le code concerné et discuter d’une modification, tandis que vous gardez au centre de la tâche l’interface rendue et ses entrées réelles.
L’exemple luminance.py suggère une demande ciblée sur un calcul de contraste. Demandez d’où viennent les valeurs de couleur et si elles correspondent aux couleurs finalement affichées. Une application peut transformer ces valeurs avant le rendu ; la fonction auxiliaire ne suffit donc pas à trancher la question visuelle. Utilisez l’exemple comme contexte du projet, puis suivez le résultat jusqu’au composant qui l’utilise et au comportement qu’il influence.
Un modèle d’IA sans restrictions peut être sélectionné via un point de terminaison compatible OpenAI ou Anthropic pris en charge qui en propose un. Le service configuré fournit les capacités du modèle, les outils pris en charge et les éventuelles restrictions. Après examen d’une modification proposée, exécutez des vérifications numériques et inspectez les états d’écran concernés. Tenez compte des couleurs finales de premier plan et d’arrière-plan au lieu de vous fier uniquement aux variables de design. Ce travail aide à distinguer un défaut de calcul d’une entrée incorrecte ou d’un problème de présentation nécessitant une autre correction.
Examiner les comportements logiciels liés aux couleurs
Un rapport fourni par la fonction auxiliaire certifie-t-il l’interface ?
Non. La valeur décrit les couleurs fournies selon les hypothèses du calcul. Examinez l’état réellement rendu et les critères applicables à l’élément. Un seul résultat numérique n’établit pas l’accessibilité de tout l’écran ou de l’application.
Et si l’opacité CSS modifie la couleur visible ?
Retracez les couleurs effectives de premier plan et d’arrière-plan avant de traiter les variables sources comme des entrées finales. Inspectez l’élément rendu et toute superposition. Demandez si le calcul reçoit les couleurs que voit l’utilisateur plutôt qu’une valeur de design antérieure.
Quelles entrées sont utiles pour tester le calcul ?
Utilisez des paires de référence connues, des couleurs identiques et des valeurs aux limites acceptées des canaux. Incluez des conteneurs et des valeurs de canal invalides pour vérifier le rejet. Comparez les résultats à une valeur attendue indépendante plutôt que de simplement enregistrer la sortie de la nouvelle fonction.
Faut-il ajuster la fonction auxiliaire ou la palette du thème ?
Identifiez d’abord si l’écart vient de la formule, des entrées ou du design visuel voulu. Chacun appelle une modification différente. Examinez les composants voisins si une valeur de palette partagée change, car leurs relations de contraste peuvent changer aussi.
LumaGauge · Mis à jour 2026-10-25