Skip to content

A11y: ensure contrast compliance for Blau skin#1360

Closed
AnaMontes11 wants to merge 7 commits into
masterfrom
new-blau-a11y
Closed

A11y: ensure contrast compliance for Blau skin#1360
AnaMontes11 wants to merge 7 commits into
masterfrom
new-blau-a11y

Conversation

@AnaMontes11
Copy link
Copy Markdown
Contributor

@AnaMontes11 AnaMontes11 commented May 6, 2025

This PR consolidates the accessibility improvements required to meet contrast ratio guidelines by June 28. Key updates include adjusting the textNavigationBarPrimary token to grey6 to ensure adequate contrast over blauBluePrimary. As a result, Blau will no longer employ inverse contexts on other components (with the exception of inverse cards, which will now use blauBlueSecondary as their background). Additionally, we've reviewed and updated all color tokens to guarantee a minimum 3:1 contrast for non-text elements and 4.5:1 for text in both light and dark modes. These changes ensure the Blau skin delivers an inclusive and readable experience across themes.

@AnaMontes11 AnaMontes11 requested review from aweell and yceballost May 6, 2025 15:45
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2025

Size stats

master this branch diff
Total JS 12.4 MB 12.4 MB +5 B
JS without icons 2.12 MB 2.12 MB +5 B
Lib overhead 77.6 kB 77.6 kB 0 B
Lib overhead (gzip) 17.6 kB 17.6 kB 0 B

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2025

Accessibility report

14 problems detected
components-lists--row-list-story (1 violations)
components-lists--boxed-row-list-story (1 violations)
components-stackinggroup--default (1 violations)
patterns-feedback-feedbackscreen--feedback-screen-story (1 violations)
patterns-feedback-successfeedback--success (1 violations)
patterns-feedback-successfeedback--success-as-header (1 violations)
layout-inline--negative-space (1 violations)
community-blocks--block-simple (1 violations)
community-blocks--block-row (2 violations)
community-examplecomponent--default (1 violations)
private-components-in-different-skins--default (2 violations)
private-image-image-sizes--default (1 violations)

ℹ️ You can run this locally by executing yarn audit-accessibility.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2025

Deploy preview for mistica-web ready!

✅ Preview
https://mistica-2xwdwbvm2-flows-projects-65bb050e.vercel.app

Built with commit 98ef67e.
This pull request is being automatically deployed with vercel-action

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2025

Screenshot tests report

counter / counter-default-skin-blau
private-skin-components / components-in-blau
private-skin-components / components-in-blau-alternative
private-skin-components / components-in-blau-dark-mode
private-skin-components / components-in-blau-inverse
private-skin-components / components-in-blau-inverse-and-dark-mode

Comment thread src/skins/blau.tsx
Comment thread src/skins/blau.tsx
@aweell
Copy link
Copy Markdown
Contributor

aweell commented May 7, 2025

Inactive tag text in dark mode is not passing

Screenshot 2025-05-07 at 3 50 08 PM

@aweell
Copy link
Copy Markdown
Contributor

aweell commented May 7, 2025

Cvv illustrations are failing 3:1 (2.34:1) in light mode, we can discuss if we consider them decorative. I don't since they describe the user where to look in their credit card for the information we're requesting.

Screenshot 2025-05-07 at 3 55 18 PM

Including inputBorder and adjusting warning to pass contrast.
Comment thread src/skins/blau.tsx
@AnaMontes11
Copy link
Copy Markdown
Contributor Author

AnaMontes11 commented May 8, 2025

Cvv illustrations are failing 3:1 (2.34:1) in light mode, we can discuss if we consider them decorative. I don't since they describe the user where to look in their credit card for the information we're requesting.

Screenshot 2025-05-07 at 3 55 18 PM

I agree — in my opinion, those specific icons should use brandHigh instead of brand, but we should make that change in: Resources/cvvTooltip.

@AnaMontes11
Copy link
Copy Markdown
Contributor Author

AnaMontes11 commented May 8, 2025

Inactive tag text in dark mode is not passing

Screenshot 2025-05-07 at 3 50 08 PM

Yes, true — we have the same issue in Vivo, Tú, and Telefónica (the latter is already fixed in my WIP branch). For this change, I had to adjust the background (darkModeGrey6), since the text was still inaccessible with grey4, and lowering it to grey3 made it too light.

yceballost and others added 3 commits May 8, 2025 22:27
blauRed, grey2, grey4, darkModeGrey6, textBrand, success, control, controlActivated, controlActivatedinverse, toggleAndroid, neutralMedium, neutralMediumInverse, tagTextInactive
Comment thread src/skins/blau.tsx
barTrack: palette.grey2,
barTrackInverse: applyAlpha(palette.grey6, 0.2),
barTrack: palette.grey3,
barTrackInverse: applyAlpha(palette.white, 0.5),
Copy link
Copy Markdown
Contributor

@yceballost yceballost May 9, 2025

Choose a reason for hiding this comment

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

this color works worse than grey6, why did you make this change?
image

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.

To maintain parity with the other brands, I thought this worked better in my opinion—but I’ll roll it back.

@yceballost yceballost closed this May 12, 2025
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