diff --git a/apps/web/src/components/usage/UsageLimitsPooled.browser.test.tsx b/apps/web/src/components/usage/UsageLimitsPooled.browser.test.tsx
index ab114fbbd6f21..1f04f1a218010 100644
--- a/apps/web/src/components/usage/UsageLimitsPooled.browser.test.tsx
+++ b/apps/web/src/components/usage/UsageLimitsPooled.browser.test.tsx
@@ -6,6 +6,7 @@ import {
} from "@t3tools/contracts";
import { CHATGPT_USAGE_URL } from "@t3tools/shared/usageLimits";
import { describe, expect, it } from "vite-plus/test";
+import { page, userEvent } from "vite-plus/test/browser";
import { render } from "../../../test/render";
import { UsageLimitsPooled } from "./UsageLimitsPooled";
@@ -63,3 +64,51 @@ describe("UsageLimitsPooled ChatGPT usage card", () => {
.toBeVisible();
});
});
+
+describe("UsageLimitsPooled account popover", () => {
+ it("exposes each detail as its own label and value to screen readers", async () => {
+ const now = "2026-11-12T14:00:00.000Z";
+ const claude: ServerProvider = {
+ ...managedChatGpt("claude", "Claude"),
+ driver: ProviderDriverKind.make("claudeAgent"),
+ auth: { status: "authenticated", label: "Claude Pro Subscription" },
+ usageLimits: {
+ checkedAt: now,
+ windows: [
+ {
+ id: "weekly",
+ kind: "weekly",
+ label: "Weekly",
+ usedPercent: 0,
+ resetsAt: "2026-11-18T12:00:00.000Z",
+ windowDurationMins: 10_080,
+ },
+ ],
+ },
+ };
+ const presentations = new Map([
+ [
+ EnvironmentId.make("desk"),
+ { entry: { target: { label: "Desk" } }, serverConfig: { providers: [claude] } },
+ ],
+ ]);
+ await using screen = await render(
+