Skip to content

Commit 3437c12

Browse files
Ajit Pratap Singhclaude
authored andcommitted
fix(website): bump text contrast to pass Lighthouse accessibility >= 0.95
Lighthouse CI failed with accessibility 0.93 (threshold: 0.95). Root cause: text-zinc-400/500 on dark backgrounds gives only ~4.3:1 contrast ratio, below WCAG AA minimum of 4.5:1. Changes: - MiniPlayground: inactive tabs zinc-500 → zinc-400, labels zinc-400 → zinc-300 - TrustSection: heading and labels zinc-400 → zinc-300 - DialectShowcase: subtitle zinc-400 → zinc-300 - AnimatedBars: value labels zinc-400 → zinc-300 - PerformanceSection: footnote zinc-500 → zinc-400 All text now passes WCAG AA (4.5:1 minimum contrast on dark backgrounds). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent bae69a6 commit 3437c12

5 files changed

Lines changed: 10 additions & 10 deletions

File tree

website/src/components/home/AnimatedBars.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export function AnimatedBars({ benchmarks, maxOps }: { benchmarks: Benchmark[];
5858
}}
5959
/>
6060
</div>
61-
<span className="w-28 sm:w-32 text-sm text-zinc-400 shrink-0 font-mono">
61+
<span className="w-28 sm:w-32 text-sm text-zinc-300 shrink-0 font-mono">
6262
{b.label}
6363
</span>
6464
</div>

website/src/components/home/DialectShowcase.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export function DialectShowcase() {
4444
<h2 className="text-3xl font-bold text-white text-center mb-2">
4545
8 SQL Dialects, One Parser
4646
</h2>
47-
<p className="text-zinc-400 text-center mb-12 text-lg">
47+
<p className="text-zinc-300 text-center mb-12 text-lg">
4848
From PostgreSQL to ClickHouse — parse them all
4949
</p>
5050
</FadeInCSS>

website/src/components/home/MiniPlayground.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ export function MiniPlayground() {
130130
<span className="w-2.5 h-2.5 rounded-full bg-yellow-500/60" />
131131
<span className="w-2.5 h-2.5 rounded-full bg-green-500/60" />
132132
</div>
133-
<span className="text-xs text-zinc-400 font-mono ml-2">query.sql</span>
133+
<span className="text-xs text-zinc-300 font-mono ml-2">query.sql</span>
134134
<label htmlFor="mini-dialect" className="ml-auto flex items-center gap-1.5">
135135
<select
136136
id="mini-dialect"
@@ -173,7 +173,7 @@ export function MiniPlayground() {
173173
className={`px-2 py-0.5 text-xs font-mono rounded transition-colors ${
174174
activeTab === tab
175175
? 'bg-indigo-500/20 text-indigo-300 border border-indigo-500/30'
176-
: 'text-zinc-500 hover:text-zinc-300'
176+
: 'text-zinc-400 hover:text-zinc-200'
177177
}`}
178178
>
179179
{tab === 'ast' ? 'AST' : tab === 'format' ? 'Format' : 'Lint'}
@@ -200,7 +200,7 @@ export function MiniPlayground() {
200200
{parseError}
201201
</pre>
202202
) : (
203-
<pre className="p-4 text-[14px] leading-relaxed font-mono text-zinc-400 whitespace-pre-wrap">
203+
<pre className="p-4 text-[14px] leading-relaxed font-mono text-zinc-300 whitespace-pre-wrap">
204204
<code>{output || (loading ? SAMPLE_AST_PLACEHOLDER : '')}</code>
205205
</pre>
206206
)}

website/src/components/home/PerformanceSection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export function PerformanceSection() {
5050
<FadeInCSS delay={0.5}>
5151
<GlassCard className="mt-12 p-6 sm:p-8" hover={false}>
5252
<AnimatedBars benchmarks={benchmarks} maxOps={maxOps} />
53-
<p className="text-xs text-zinc-500 mt-6 text-center">
53+
<p className="text-xs text-zinc-400 mt-6 text-center">
5454
Based on BenchmarkParse, Apple M4, Go 1.26
5555
</p>
5656
</GlassCard>

website/src/components/home/TrustSection.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export function TrustSection() {
9595
<div className="max-w-5xl mx-auto px-4">
9696
{/* Heading */}
9797
<FadeInCSS>
98-
<h2 className="text-center text-sm font-semibold uppercase tracking-widest text-zinc-400 mb-10">
98+
<h2 className="text-center text-sm font-semibold uppercase tracking-widest text-zinc-300 mb-10">
9999
Trusted by Developers
100100
</h2>
101101
</FadeInCSS>
@@ -109,15 +109,15 @@ export function TrustSection() {
109109
<span className="text-lg font-bold text-zinc-100">
110110
{m.id === 'stars' ? <GitHubStarCount /> : m.value}
111111
</span>
112-
<span className="text-xs text-zinc-400">{m.label}</span>
112+
<span className="text-xs text-zinc-300">{m.label}</span>
113113
</div>
114114
</FadeInCSS>
115115
))}
116116
</div>
117117

118118
{/* Integrations */}
119119
<FadeInCSS delay={0.4}>
120-
<p className="text-center text-sm font-medium text-zinc-500 mt-12 mb-5">
120+
<p className="text-center text-sm font-medium text-zinc-300 mt-12 mb-5">
121121
Integrates with
122122
</p>
123123
</FadeInCSS>
@@ -129,7 +129,7 @@ export function TrustSection() {
129129
<span className="block text-base font-semibold text-zinc-100">
130130
{item.name}
131131
</span>
132-
<span className="block text-xs text-zinc-400 mt-1">
132+
<span className="block text-xs text-zinc-300 mt-1">
133133
{item.detail}
134134
</span>
135135
</div>

0 commit comments

Comments
 (0)