Skip to content
This repository is currently being migrated. It's locked while the migration is in progress.

[Test] Update focus outline color to meet contrast requirements#1769

Draft
amyleadem wants to merge 2 commits into
mainfrom
3752-focus-color-contrast
Draft

[Test] Update focus outline color to meet contrast requirements#1769
amyleadem wants to merge 2 commits into
mainfrom
3752-focus-color-contrast

Conversation

@amyleadem
Copy link
Copy Markdown
Contributor

@amyleadem amyleadem commented Sep 9, 2025

Chromatic

https://3752-focus-color-contrast--65a6e2ed2314f7b8f98609d8.chromatic.com

Important

This PR is for internal testing and discussion purposes only at this time. It is not ready for merge.

Description

Exploring a low effort solution to get the focus outline to meet contrast requirements in most scenarios. This solution is proposed as a low-effort stopgap until we can get the new focus styles implemented.

This PR proposes replacing the current focus outline color (#face00/uswds-system-color-yellow-vivid-20) with one that more reliably meets WCAG 3:1 contrast requirements (1.4.1 non-text contrast and 2.4.13 focus appearance) against common background colors. You can see the analysis of considered colors in this Google sheet. Through this analysis, I learned that the color grade 40 created the widest contrast compliance for our components and ecosystem.

The proposed new focus color #0080FF is not a current design token, but it is a small tweak on the USWDS default focus color of blue-40v/#2491ff. This tweak allowed the color to meet contrast in slightly more scenarios.

Related files

Focus colors - contrast review (Google sheet 🔒). Screenshot of analysis captured below:

image

Related tickets and links

Closes

Screenshots

Before:

image

After:

image

Sample of VA.gov home page focused states with new styles:

image

Testing and review

Approvals

See the QA Checklists section below for suggested approvals. Use your best judgment if additional reviews are needed. When in doubt, request a review.

Approval groups

Add approval groups to the PR as needed:

QA checklists

Use the QA checklists below as guides, not rules. Not all checklists will apply to every PR but there could be some overlap.

In all scenarios, changes should be fully tested by the author and verified by the reviewer(s); functionality, responsiveness, etc.

✨ New Component Added
  • The PR has the minor label
  • The component matches the Figma designs.
  • All properties, custom events, and utility functions have e2e and/or unit tests
  • A new Storybook page has been added for the component
  • Tested in all VA breakpoints.
  • Chromatic UI Tests have run and snapshot changes have been accepted by the design reviewer
  • Tested in vets-website using Verdaccio
  • Engineering has approved the PR
  • Design has approved the PR
  • Accessibility has approved the PR
🌱 New Component Variation Added
  • The PR has the minor label
  • The variation matches its Figma design.
  • Any new properties, custom events, or utility functions have e2e and/or unit tests
  • A new story has been added to the component's existing Storybook page
  • Any Chromatic UI snapshot changes have been accepted by a design reviewer
  • Tested in vets-website using Verdaccio
  • Engineering has approved the PR
  • Design has approved the PR
🐞 Component Fix
  • The PR has the patch label
  • Any new properties, custom events, or utility functions have e2e and/or unit tests
  • Any markup changes are evaluated for impact on vets-website.
    • Will any vets-website tests fail from the change?
  • Any Chromatic UI snapshot changes have been reviewed and approved by a designer if necessary
  • Engineering has approved the PR
♿️ Component Fix - Accessibility
  • The PR has the patch label
  • Any new properties, custom events, or utility functions have e2e and/or unit tests
  • Any Chromatic UI snapshot changes have been reviewed and approved by a designer if necessary
  • Engineering has approved the PR
  • Accessibility has approved the PR
🚨 Component Fix - Breaking API Change
  • The PR has the major label
  • vets-website and content-build have been evaluated to determine the impact of the breaking change
  • Any new properties, custom events, or utility functions have e2e and/or unit tests
  • Any Chromatic UI snapshot changes have been reviewed and approved by a designer if necessary
  • Tested in vets-website using Verdaccio
  • Engineering has approved the PR
🔧 Component Update - Non-Breaking API Change
  • The PR has the minor label
  • Any new properties, custom events, or utility functions have e2e and/or unit tests
  • Any Chromatic UI snapshot changes have been reviewed and approved by a designer if necessary
  • Engineering has approved the PR
📖 Storybook Update
  • The PR has the ignore-for-release label
  • Any Chromatic UI snapshot changes have been reviewed and approved by a designer if necessary
  • Engineering has approved the PR
🎨 CSS-Library Update
  • The PR has the css-library label
  • vets-website and content-build have been checked to determine the impact of any breaking changes
  • Engineering has approved the PR

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.

1 participant