chore: add color contrast testing scripts and update dependencies

This commit is contained in:
张翔
2026-03-07 10:46:27 +08:00
parent 9423a6a473
commit 724cd7f27a
7 changed files with 89 additions and 2 deletions
+25
View File
@@ -0,0 +1,25 @@
const { calculateContrastRatio, meetsWCAGStandard } = require('../src/lib/color-contrast.ts');
console.log('Testing CSS color contrast...');
const primaryResult = meetsWCAGStandard('#1C1C1C', '#FFFFFF', 'AA', 'normal');
console.log('Primary text (#1C1C1C) on background (#FFFFFF):', primaryResult);
const tertiaryResult = meetsWCAGStandard('#4A4A4A', '#FFFFFF', 'AA', 'normal');
console.log('Tertiary text (#4A4A4A) on background (#FFFFFF):', tertiaryResult);
const mutedResult = meetsWCAGStandard('#6B6B6B', '#FFFFFF', 'AA', 'normal');
console.log('Muted text (#6B6B6B) on background (#FFFFFF):', mutedResult);
console.log('\nExpected: All should pass (passes: true)');
console.log('Actual results:');
console.log('- Primary:', primaryResult.passes ? '✓ PASS' : '✗ FAIL', `(ratio: ${primaryResult.ratio.toFixed(2)}:1)`);
console.log('- Tertiary:', tertiaryResult.passes ? '✓ PASS' : '✗ FAIL', `(ratio: ${tertiaryResult.ratio.toFixed(2)}:1)`);
console.log('- Muted:', mutedResult.passes ? '✓ PASS' : '✗ FAIL', `(ratio: ${mutedResult.ratio.toFixed(2)}:1)`);
if (!primaryResult.passes || !tertiaryResult.passes || !mutedResult.passes) {
console.log('\n⚠️ Some tests failed - need to optimize CSS variables');
process.exit(1);
}
console.log('\n✅ All tests passed!');
+15
View File
@@ -0,0 +1,15 @@
const { calculateContrastRatio, meetsWCAGStandard } = require('../src/lib/color-contrast.ts');
console.log('Testing color contrast functions...');
const ratio = calculateContrastRatio('#000000', '#FFFFFF');
console.log('Black on white ratio:', ratio);
console.log('Expected: ~21, Actual:', ratio);
const result = meetsWCAGStandard('#000000', '#FFFFFF', 'AA', 'normal');
console.log('WCAG AA compliance:', result);
const lowContrastResult = meetsWCAGStandard('#808080', '#FFFFFF', 'AA', 'normal');
console.log('Low contrast test:', lowContrastResult);
console.log('All tests completed!');