Fix Progress zero value bug

This commit is contained in:
Mats Bosson 2026-03-29 07:39:35 +07:00
parent 21a7991562
commit c5b7260e6d
2 changed files with 10 additions and 3 deletions

View File

@ -40,17 +40,18 @@ export function Progress(props: ProgressProps): JSX.Element {
};
const valueNow = (): number | undefined => {
return isIndeterminate() ? undefined : currentValue() || undefined;
const v = currentValue();
return isIndeterminate() || v === null ? undefined : v;
};
const dataValue = (): number | undefined => {
return isIndeterminate() ? undefined : currentValue() || undefined;
const v = currentValue();
return isIndeterminate() || v === null ? undefined : v;
};
return (
<div
role="progressbar"
tabIndex={-1}
aria-valuemin={0}
aria-valuemax={max()}
aria-valuenow={valueNow()}

View File

@ -48,4 +48,10 @@ describe("Progress", () => {
render(() => <Progress value={75} />);
expect(screen.getByRole("progressbar").getAttribute("data-state")).toBe("complete");
});
it("sets aria-valuenow=0 when value is zero", () => {
render(() => <Progress value={0} />);
expect(screen.getByRole("progressbar").getAttribute("aria-valuenow")).toBe("0");
expect(screen.getByRole("progressbar").getAttribute("data-state")).toBe("complete");
});
});