Skip to content

Sync wizard StepBar fills 3 bars on rejected state (renders same as success) #66

@Loule95450

Description

@Loule95450

Context

The sync wizard guides the user through URL → email → admin approval → done/rejected. The progress bar at the top renders three segments.

Problem / Observation

  • extension/src/popup/components/SyncScreen.tsx:57 declares type Step = "url" | "auth" | "pending" | "approved" | "rejected"; — five values.
  • extension/src/popup/components/SyncScreen.tsx:351 computes const idx = step === "url" ? 0 : step === "auth" ? 1 : 2; and the bar has 3 fixed segments.
  • Outcome: a user in "rejected" sees all three bars filled (i <= 2 is true for i = 0, 1, 2) — the same UI as success, contradicting the rejection message right below it.
  • No role="progressbar", no aria-valuenow/aria-valuemax, no screen-reader narration of the step.

Proposed approach

  • Treat "approved" and "rejected" as terminal states and bypass the StepBar entirely (replace it with the result card directly), OR
  • Drive the StepBar from a derived progress: 0|1|2|3 so step 3 ("pending") is distinct from step 4 ("approved"/"rejected") and the rejected case renders the bar in red.
  • Add role="progressbar" with aria-valuemin/max/now and an aria-label to the bar.

Acceptance criteria

  • StepBar visually differentiates pending vs. approved vs. rejected.
  • aria-* attributes present for SR users.
  • No console errors on the rejected path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low prioritya11yAccessibility concernbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions