fix(a11y): label onboarding progress
CI and Deploy / test (push) Successful in 7m8s
CI and Deploy / deploy (push) Successful in 1m37s

This commit is contained in:
cesnimda
2026-09-01 15:46:30 +02:00
parent 1f7ec6e307
commit 4c384b76ad
2 changed files with 7 additions and 1 deletions
@@ -102,7 +102,12 @@ export default function OnboardingChecklist({ hasJobs }: { hasJobs: boolean }) {
</Box>
<Typography variant="body2" sx={{ color: "text.secondary" }}>{t("onboardingBody")}</Typography>
<Typography variant="caption" sx={{ color: "text.secondary" }}>{completed} / {steps.length}</Typography>
<LinearProgress variant="determinate" value={(completed / steps.length) * 100} sx={{ my: 1.5, borderRadius: 2 }} />
<LinearProgress
variant="determinate"
value={(completed / steps.length) * 100}
aria-label={t("checklistProgress", { completed, total: steps.length })}
sx={{ my: 1.5, borderRadius: 2 }}
/>
<Stack spacing={1}>
{steps.map((step) => (
<Box key={step.label} sx={{ display: "flex", alignItems: "center", justifyContent: "space-between", gap: 1.5, flexWrap: "wrap" }}>
@@ -27,6 +27,7 @@ test("uses structured career data and connected inbox status for onboarding prog
renderChecklist();
expect(await screen.findByText("5 / 6")).toBeInTheDocument();
expect(screen.getByRole("progressbar", { name: "5 of 6 done" })).toBeInTheDocument();
expect(screen.queryByRole("button", { name: "Add CV" })).not.toBeInTheDocument();
expect(screen.queryByRole("button", { name: "Open profile" })).not.toBeInTheDocument();
expect(screen.queryByRole("button", { name: "Connect email" })).not.toBeInTheDocument();