mirror of
https://github.com/Such-Software/such.software.git
synced 2026-10-17 05:32:05 +02:00
- Add README.md with tech stack, project structure, and dev setup - Add TODO_ACCESS.md with Lighthouse audit results and priority fixes - Add start script to root package.json - Add start task to turbo.json
4.1 KiB
4.1 KiB
Accessibility & Performance Audit
Lighthouse Scores (Dev Server)
| Category | Score | Target |
|---|---|---|
| Performance | 51 | 100 |
| Accessibility | 95 | 100 |
| SEO | 91 | 100 |
| Best Practices | 73 | 100 |
Note: Dev server scores are typically lower than production. Run pnpm build && pnpm start for accurate production scores.
Critical Issues (Score: 0%)
Accessibility
- Color contrast - Background and foreground colors do not have sufficient contrast ratio
- Heading order - Heading elements are not in sequentially-descending order
Performance
- Time to Interactive - Too slow
- Max Potential First Input Delay - Too high
- Total Blocking Time - 9% (needs major improvement)
- Largest Contentful Paint - 12% (needs major improvement)
- Minimize main-thread work - Too much JS execution
- Reduce JavaScript execution time - Too slow
SEO
- Meta description - Document does not have a meta description (may be dev-only issue)
Best Practices
- Browser console errors - Errors logged to console
- Third-party cookies - Uses third-party cookies
- Missing source maps - For large first-party JavaScript
- Unminified JavaScript - (dev server issue)
Claims Made on Site (founder-signature.tsx)
- WCAG 2.2 AA Compliance
- Section 508 & ADA
- Semantic HTML5 Architecture
- Playwright A11y Automation
Current Status
WCAG 2.2 AA Compliance - 95% but needs fixes
What's working:
- Skip-to-main link in header.tsx
- Proper
aria-labelon nav element - Form fields have proper
<label>elements withhtmlFor aria-describedbyandaria-invalidon form inputsrole="alert"on error messagesrole="status"andaria-live="polite"on success/error notificationssr-onlyclasses for screen reader textlang="en"on<html>element
Gaps to address:
- Color contrast issues - Fix low contrast text
- Heading order - Fix heading hierarchy (likely h2 before h1 somewhere, or skipping levels)
- Theme toggle button missing
aria-labeldescribing current state - Verify focus indicators are visible in both themes (2.4.7 Focus Visible)
Semantic HTML5 Architecture - Good but heading order issue
- Uses semantic
<main>,<header>,<nav>,<footer>elements <address>element used correctly on About page- Form has proper
<label>elements - Issue: Heading hierarchy has gaps or wrong order
Section 508 & ADA - Partial
Section 508 aligns with WCAG 2.0 AA. Needs:
- Fix color contrast issues
- Fix heading order
- Screen reader testing
- Keyboard-only navigation testing
Playwright A11y Automation - NOT SET UP
There is no Playwright configuration in this project. No test files exist.
To implement:
pnpm add -D @playwright/test @axe-core/playwright
npx playwright install
Core Web Vitals / Performance - FAILING
The NebulaField canvas animation is likely the main culprit for:
- High Total Blocking Time
- Slow Largest Contentful Paint
- High main-thread work
Recommendations:
- Lazy load NebulaField (only render after initial paint)
- Reduce animation complexity or frame rate
- Consider CSS-only alternative for initial load
- Use
will-changeand GPU acceleration properly
SEO - 91% (minor issues)
- Proper
<title>anddescriptionmeta tags per page - OpenGraph metadata configured
- Semantic HTML structure
- Issue: Meta description not detected (check if it's rendering correctly)
Priority Tasks
P0 - Critical (before claiming compliance)
- Fix color contrast issues
- Fix heading order (find and fix h-level skips)
- Add
aria-labelto ThemeToggle button
P1 - High (for performance claims)
- Lazy load NebulaField background
- Fix console errors
- Run production build and re-test Lighthouse
P2 - Medium (for full compliance)
- Set up Playwright with axe-core
- Manual screen reader testing
- Keyboard navigation testing
P3 - Low (polish)
- Optimize NebulaField animation performance
- Add preloading for critical assets