Pre-onboarding content, a11y & Core-Web-Vitals polish (fonts, signup a11y, i18n) #65
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-web#65
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "%!s()"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
Severity: MEDIUM→LOW — pre-onboarding bitborg-web audit (2026-07-19). Content, a11y, and Core-Web-Vitals polish before onboarding. Grouped; split if useful.
Core Web Vitals (biggest wins — recommend doing together)
U+0000-024F, U+2000-206F+ needed punctuation).<Font preload />(src/layouts/base.astro:81) preloads all four variants incl. italics (~355 KB). Droppreload; manually<link rel=preload as=font crossorigin>only regular (+ optionally medium).<UserMenu server:defer />(src/components/secondary-navigation.astro:36) has noslot="fallback"→ header CLS on every page. Add a skeleton reserving height/width.src/style/font-fallback.scss:1-9): addlocal("Helvetica Neue"), local("Liberation Sans"), local("Roboto")anchors.Accessibility
aria-invalid/aria-describedby(src/components/signup-form.astro:45-95; WCAG 3.3.1).title(signup-form.astro:103-110; WCAG 3.3.2).signup-form.astro:151-160); wrap inrole=group+aria-labelledby.<span>not self-link; FAQ filter usesaria-labelledbynot duplicated label; distinguish header/footer "Bitborg" home links; skip link on:focusnot only:focus-visible.Content / i18n (track content-style.md; Swedish tracks Forgejo sv-SE)
src/i18n/ui.ts:98,100,104;pages/en/pricing.astro:94,99) — standardise on "SEK" for EN.content/en/terms.md,privacy.md) — lowercase##to sentence case (H1 titles may stay).content/sv/docs.md:1,terms.md:5,faq/sv/renovate-cost.md:8,guides/sv/renovate.md:3,pricing.astro:59,75,ui.ts:165) — standardise on driftas/värd.ui.ts:178"Ägt och driftat" → "Ägt, drivet och driftat i Sverige."nav.cookiePolicyi18n key (ui.ts:51,195), no/cookiespage — remove or wire up.content/sv/privacy.md:56) points to/en; spell out "configuration" (ui.ts:22).src/layouts/base.astrohead — hurts share previews/SEO.Low-risk hardening
<meta>-only (frame-ancestorsignored; compensated by CaddyX-Frame-Options: DENY). Addobject-src 'none'; consider a real CSP HTTP header.corepack prepare pnpm@11.8.0but Volta/packageManageris11.14.0(comment claims they match).