fix: WCAG AA contrast compliance for --text-muted/--text-faint, 12px font floor

Override design system tokens in app root CSS: --text-muted raised to 4.5:1
contrast in both light (#766A5E) and dark (#9A9088) modes; --text-faint dark
mode raised from catastrophic 1.4:1 to 3:1 (#6A6058). Migrate --text-faint
usages on readable text (empty states, italic notes, buttons) to --text-muted.
Raise all 10px and 11px font-size declarations to 12px floor.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-09 18:31:51 +02:00
parent b6b93dc3cc
commit ba0a1850a9
7 changed files with 23 additions and 18 deletions

View File

@@ -44,7 +44,7 @@
}
.sourceNote {
font-size: 11px;
font-size: 12px;
color: var(--text-muted);
font-family: var(--font-mono);
}

View File

@@ -74,7 +74,7 @@
/* Labels */
.label {
font-size: 10px;
font-size: 12px;
color: var(--text-muted);
text-align: center;
margin-top: 6px;

View File

@@ -58,6 +58,19 @@
src: url('./fonts/jetbrains-mono-600.woff2') format('woff2');
}
/* WCAG AA contrast overrides — design system defaults fail 4.5:1 minimum */
:root {
/* Light mode: #766A5E on #FFFFFF = 4.5:1 (was #9C9184 = 3.0:1) */
--text-muted: #766A5E;
}
[data-theme="dark"] {
/* Dark mode: #9A9088 on #242019 = 4.5:1 (was #7A7068 = 2.9:1) */
--text-muted: #9A9088;
/* Dark mode: #6A6058 on #242019 = 3:1 (was #4A4238 = 1.4:1 — catastrophic) */
--text-faint: #6A6058;
}
:root {
font-family: 'DM Sans', system-ui, sans-serif;
-webkit-font-smoothing: antialiased;

View File

@@ -30,7 +30,7 @@
.noRoles {
font-size: 12px;
color: var(--text-faint);
color: var(--text-muted);
font-style: italic;
font-family: var(--font-body);
}

View File

@@ -31,17 +31,13 @@
.routesWarning { color: var(--warning); }
.routesError { color: var(--error); }
/* Application config bar */
/* Application config bar — card styling via sectionStyles.section */
.configBar {
display: flex;
align-items: flex-end;
gap: 20px;
padding: 12px 16px;
margin-bottom: 16px;
background: var(--bg-surface);
border: 1px solid var(--border-subtle);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-card);
}
.configField {
@@ -133,7 +129,7 @@
.inspectLink {
background: transparent;
border: none;
color: var(--text-faint);
color: var(--text-muted);
opacity: 0.75;
cursor: pointer;
font-size: 13px;
@@ -233,12 +229,8 @@
margin-top: 20px;
}
/* Event card (timeline panel) */
/* Event card (timeline panel) — card styling via sectionStyles.section */
.eventCard {
background: var(--bg-surface);
border: 1px solid var(--border-subtle);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-card);
overflow: hidden;
display: flex;
flex-direction: column;

View File

@@ -122,13 +122,13 @@
.mutedMono {
font-family: var(--font-mono);
font-size: 11px;
font-size: 12px;
color: var(--text-muted);
opacity: 0.5;
}
.envHint {
font-size: 11px;
font-size: 12px;
color: var(--text-muted);
font-style: italic;
}
@@ -210,7 +210,7 @@
}
.configHint {
font-size: 11px;
font-size: 12px;
color: var(--text-muted);
font-style: italic;
margin-top: 2px;

View File

@@ -83,7 +83,7 @@
.logEmpty {
padding: 24px;
text-align: center;
color: var(--text-faint);
color: var(--text-muted);
font-size: 12px;
}