Skip to content

fix: Lighthouse a11y and perf — aria, contrast, images, browserslist - #7

Merged
AndSanG merged 1 commit into
masterfrom
feat/liquidglass
May 29, 2026
Merged

fix: Lighthouse a11y and perf — aria, contrast, images, browserslist#7
AndSanG merged 1 commit into
masterfrom
feat/liquidglass

Conversation

@AndSanG

@AndSanG AndSanG commented May 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • aria-hidden-focus — back-to-top button now sets tabIndex={-1} when aria-hidden="true", so it can't receive keyboard focus while invisible
  • Color contrast — dark mode text in the skills marquee and experience card descriptions bumped from zinc-500 to zinc-400 (contrast ratio 4.35:1 → 7.96:1, clears WCAG AA 4.5:1 threshold)
  • Image sizesswift-logo.webp 512 px → 80 px (16 KB → 2 KB), tri.webp 330 px → 80 px (7.7 KB → 1.7 KB), about-me.webp recompressed at q=78 (146 KB → 113 KB)
  • Legacy JS polyfills — added browserslist to package.json targeting Chrome/Edge/Firefox ≥ 100 and Safari ≥ 15.4; all polyfilled features (Array.prototype.at, Object.hasOwn, flat, flatMap, Object.fromEntries, String.prototype.trimEnd/trimStart) are native in these targets, dropping ~14 KB from the JS bundle

Test plan

  • Run Lighthouse on the deployed site and verify accessibility violations are gone
  • Confirm dark mode contrast looks correct in marquee and experience cards
  • Verify navbar logos render crisply at 40 px on both 1× and 2× displays
  • Check about-me photo quality in the More About section

- back-to-top: add tabIndex={-1} when aria-hidden to fix aria-hidden-focus violation
- marquee + experience card: zinc-500 → zinc-400 in dark mode (contrast 4.35→7.96:1)
- swift-logo.webp 512px→80px (16 KB→2 KB), tri.webp 330px→80px (7 KB→1.7 KB)
- about-me.webp recompressed q=78 (146 KB→113 KB)
- browserslist: target Chrome/Edge/Firefox ≥100, Safari ≥15.4 to drop legacy polyfills
@AndSanG
AndSanG merged commit 9186057 into master May 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant