Skip to content

feat(settings): add shared pairing illustrations - #20979

Open
dschom wants to merge 1 commit into
mainfrom
pair2-shared-illustrations
Open

feat(settings): add shared pairing illustrations#20979
dschom wants to merge 1 commit into
mainfrom
pair2-shared-illustrations

Conversation

@dschom

@dschom dschom commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Because

  • We are updating pairing flows and want to land UI components / pages first.
  • The Pair2 cards share a handful of illustrations.

This pull request

  • Adds five illustrations to packages/fxa-settings/src/components/images.
  • Adds storybook stories for each.
  • Adds l10n aria labels.

Issue that this pull request solves

Closes: FXA-12855

Checklist

Put an x in the boxes that apply

  • My commit is GPG signed.
  • If applicable, I have modified or added tests which pass locally.
  • I have added necessary documentation (if appropriate).
  • I have verified that my changes render correctly in RTL (if appropriate).
  • I have manually reviewed all AI generated code.

How to review (Optional)

Check out the storybook output here. Compare against figma designs (linked in ticket). Check out code for AI slop and over all adherence to patterns set forth in FxA.

Note, that this is just UI work, wiring up functionality comes later.

Screenshots (Optional)

See story books.

Other information (Optional)

Foundation for the remaining FXA-12855 card PRs, which import these.


export const SyncSuccessImage = ({ className, ariaHidden }: ImageProps) => (
<PreparedImage
ariaLabel="The Firefox fox mascot looking up at floating cards showing an extension, a shield and a lock, and a list of saved items, representing data synced across devices"

@dschom dschom Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LZoog I'm not entirely sure this a good aria... Is this too long?

@LZoog LZoog Aug 10, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah it's pretty long. Since these are basically decorative images I'd make them shorter like, "The Firefox fox mascot balancing extensions, privacy, and menu icons on its nose" or something? It's cute so there's a "user delight" angle that could go into the description. I think as long as we later ask the #a11y folks about what makes sense to hide (in case it's more of a distraction than adding to their experience) vs what we want for low vision users vs the user delight angle then we can update these later.

Btw, is "Firefox fox mascot" what we want to use here? That's probably my main question, on if we should be calling it Kit, or something else.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to check-in with ally. I'll file a follow up for the aria labels

@dschom
dschom marked this pull request as ready for review August 10, 2026 18:01
@dschom
dschom requested review from a team as code owners August 10, 2026 18:01
@dschom
dschom force-pushed the pair2-shared-illustrations branch from cc58b5b to b9f9756 Compare August 10, 2026 18:06
sync-success-image-aria-label =
.aria-label = The { -brand-firefox } fox mascot looking up at floating cards showing an extension, a shield and a lock, and a list of saved items, representing data synced across devices
pairing-interrupted-image-aria-label =
.aria-label = A browser window with a curled-up fox and a mobile device with the fox peeking out, with an exclamation mark between them, showing the connection was interrupted

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that this image is going to be shown on a "Canceled" screen and the "Still want to connect another device?" screen, and there's text directly above the image giving context on timing out / canceling etc., I think keeping it short like, "The Firefox fox mascot shown across devices with an exclamation mark between them" would be good for this one

@bcolsson bcolsson left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It sounds like these .aria-labels might be changed during a a11y review. It'd be good to finalize those before exposing for localization.

);

/**
* The decorative surround only — `components/QRCode` renders the QR itself over

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 This comment might go better where we're using it, since this component takes the ariaHidden in as an option rather than just always using aria-hidden on it here.

pairing-interrupted-image-aria-label =
.aria-label = A browser window with a curled-up fox and a mobile device with the fox peeking out, with an exclamation mark between them, showing the connection was interrupted
laptop-qr-code-image-aria-label =
.aria-label = A laptop showing a QR code next to a mobile device with a scanning frame, with the { -brand-firefox } flame and fox mascot alongside

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a bit shorter, "Firefox fox mascot beside a phone and laptop displaying a QR code"? The user will already have the "To connect a device" context at the top and I'm sure we'll edit this page later for a11y.

@dschom

dschom commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

@bcolsson We already did the ally review. Let me track back and make sure this is really what they wanted.

@dschom
dschom force-pushed the pair2-shared-illustrations branch from b9f9756 to eb1785c Compare August 10, 2026 22:40
@dschom

dschom commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

@bcolsson @LZoog I've removed the aria labels for now, and filed a follow up so we can land the correct strings on the first shot.

Because:
 - We are updating pairing flows and want to land UI components / pages first.
 - The Pair2 cards share a handful of illustrations.

This commit:
 - Adds five illustrations to `packages/fxa-settings/src/components/images`.
 - Adds storybook stories and l10n aria labels for each.

Closes #FXA-12855
@dschom
dschom force-pushed the pair2-shared-illustrations branch from eb1785c to 78a19c3 Compare August 10, 2026 23:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants