From: Danilo M. Date: Tue, 21 Apr 2026 16:46:11 +0000 (+0200) Subject: fix: improve badge text color contrast for WCAG AA compliance X-Git-Tag: release_22042026-1342~34 X-Git-Url: https://git.danix.xyz/?a=commitdiff_plain;h=2236d07a5247cab38e0e6b524bdfb26c12c143a8;p=danix.xyz-2.git fix: improve badge text color contrast for WCAG AA compliance Added CSS custom properties --type-{name}-text for each article type with appropriate text colors per theme: - Dark mode: all types use black text (#000000) for sufficient contrast - Light mode: tech and photo types use white text (#ffffff), life/quote/link use black text (#000000) Updated article-header.html and article-card.html to use color: var(--type-{name}-text) instead of hardcoded text-white class. Improves contrast ratios: - Quote type dark mode: 1.34:1 → 15.66:1 (white on #00ff88 was failing WCAG AA) - All other types now pass 4.5:1 minimum for WCAG AA small text Co-Authored-By: Claude Haiku 4.5 --- diff --git a/themes/danix-xyz-hacker/assets/css/main.css b/themes/danix-xyz-hacker/assets/css/main.css index f2182a6..1588b61 100644 --- a/themes/danix-xyz-hacker/assets/css/main.css +++ b/themes/danix-xyz-hacker/assets/css/main.css @@ -23,6 +23,12 @@ --type-quote: #00ff88; --type-link: #38bdf8; --type-photo: #ec4899; + /* Article type text colors - dark (all black for WCAG AA) */ + --type-tech-text: #000000; + --type-life-text: #000000; + --type-quote-text: #000000; + --type-link-text: #000000; + --type-photo-text: #000000; } /* Light theme overrides */ @@ -46,6 +52,12 @@ html.theme-light { --type-quote: #008f5a; --type-link: #0284c7; --type-photo: #be185d; + /* Article type text colors - light (mixed for WCAG AA) */ + --type-tech-text: #ffffff; + --type-life-text: #000000; + --type-quote-text: #000000; + --type-link-text: #000000; + --type-photo-text: #ffffff; } /* No-JS fallback: prefers-color-scheme light */ @@ -69,6 +81,11 @@ html.theme-light { --type-quote: #008f5a; --type-link: #0284c7; --type-photo: #be185d; + --type-tech-text: #ffffff; + --type-life-text: #000000; + --type-quote-text: #000000; + --type-link-text: #000000; + --type-photo-text: #ffffff; } } diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css index 362d7df..8604392 100644 --- a/themes/danix-xyz-hacker/assets/css/main.min.css +++ b/themes/danix-xyz-hacker/assets/css/main.min.css @@ -2583,6 +2583,10 @@ article.border.border-border\/30.rounded-lg.timeline-thumb.group.bg-bg { white-space: nowrap; } +.whitespace-nowrap { + white-space: nowrap; +} + .rounded { border-radius: 0.25rem; } @@ -2695,6 +2699,11 @@ article.border.border-border\/30.rounded-lg.timeline-thumb.group.bg-bg { padding-right: 0.5rem; } +.px-2\.5 { + padding-left: 0.625rem; + padding-right: 0.625rem; +} + .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; @@ -3013,6 +3022,12 @@ article.border.border-border\/30.rounded-lg.timeline-thumb.group.bg-bg { --type-quote: #00ff88; --type-link: #38bdf8; --type-photo: #ec4899; + /* Article type text colors - dark (all black for WCAG AA) */ + --type-tech-text: #000000; + --type-life-text: #000000; + --type-quote-text: #000000; + --type-link-text: #000000; + --type-photo-text: #000000; } /* Light theme overrides */ @@ -3037,6 +3052,12 @@ html.theme-light { --type-quote: #008f5a; --type-link: #0284c7; --type-photo: #be185d; + /* Article type text colors - light (mixed for WCAG AA) */ + --type-tech-text: #ffffff; + --type-life-text: #000000; + --type-quote-text: #000000; + --type-link-text: #000000; + --type-photo-text: #ffffff; } /* No-JS fallback: prefers-color-scheme light */ @@ -3061,6 +3082,11 @@ html.theme-light { --type-quote: #008f5a; --type-link: #0284c7; --type-photo: #be185d; + --type-tech-text: #ffffff; + --type-life-text: #000000; + --type-quote-text: #000000; + --type-link-text: #000000; + --type-photo-text: #ffffff; } } diff --git a/themes/danix-xyz-hacker/layouts/partials/article-card.html b/themes/danix-xyz-hacker/layouts/partials/article-card.html index 0f5cfb9..d803464 100644 --- a/themes/danix-xyz-hacker/layouts/partials/article-card.html +++ b/themes/danix-xyz-hacker/layouts/partials/article-card.html @@ -41,8 +41,8 @@ {{ if $typeData }}
{{ i18n $articleType }}
diff --git a/themes/danix-xyz-hacker/layouts/partials/article-header.html b/themes/danix-xyz-hacker/layouts/partials/article-header.html index 63b2a97..94c78a5 100644 --- a/themes/danix-xyz-hacker/layouts/partials/article-header.html +++ b/themes/danix-xyz-hacker/layouts/partials/article-header.html @@ -63,7 +63,7 @@ {{ if and $typeData $hasType }} - + {{ i18n $articleType }} {{ end }}