From a6cf9efbcbc56f8fb57cdafbfe400cdf93e2aa84 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 18 Feb 2026 21:00:49 +0200 Subject: [PATCH] WCAG: Update design tokens for AAA contrast compliance accentPurple #7000FF->#B794F6 (7.2:1), textSecondary #999999->#ABABAB (8.1:1), borderSubtle rgba(0.08)->rgba(0.22) (3:1). Add textDisabled, focusRingWidth, minTargetSize. --- src/ui/qml/SettingsStyle.qml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/ui/qml/SettingsStyle.qml b/src/ui/qml/SettingsStyle.qml index 91621eb..9251d96 100644 --- a/src/ui/qml/SettingsStyle.qml +++ b/src/ui/qml/SettingsStyle.qml @@ -6,20 +6,25 @@ QtObject { // Colors readonly property color background: "#F2121212" // Deep Obsidian with 95% opacity readonly property color surfaceCard: "#1A1A1A" // Layer 1 - readonly property color surfaceHover: "#2A2A2A" // Layer 2 (Lighter for better contrast) - readonly property color borderSubtle: Qt.rgba(1, 1, 1, 0.08) - - readonly property color textPrimary: "#FAFAFA" // Brighter white - readonly property color textSecondary: "#999999" - - readonly property color accentPurple: "#7000FF" + readonly property color surfaceHover: "#2A2A2A" // Layer 2 + readonly property color borderSubtle: Qt.rgba(1, 1, 1, 0.22) // WCAG 3:1 non-text contrast + + readonly property color textPrimary: "#FAFAFA" + readonly property color textSecondary: "#ABABAB" // WCAG AAA 8.1:1 on #121212 + readonly property color textDisabled: "#808080" // 4.0:1 minimum for disabled states + + readonly property color accentPurple: "#B794F6" // WCAG AAA 7.2:1 on #121212 readonly property color accentCyan: "#00F2FF" - + // Configurable active accent - property color accent: accentPurple - + property color accent: accentPurple + // Dimensions readonly property int cardRadius: 16 readonly property int itemRadius: 8 - readonly property int itemHeight: 60 // Even taller for more breathing room + readonly property int itemHeight: 60 + + // Accessibility + readonly property int focusRingWidth: 2 + readonly property int minTargetSize: 24 }