Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

USWDS 3.5.0 #5323

Merged
merged 496 commits into from Jun 9, 2023
Merged

USWDS 3.5.0 #5323

merged 496 commits into from Jun 9, 2023

Conversation

thisisdano
Copy link
Member

@thisisdano thisisdano commented Jun 6, 2023

What's new in USWDS 3.5.0

Features

Package A11y Breaking Description
usa-button, usa-dark-background, uswds-core —  Stopped using font smoothing. No longer use font smoothing for dark backgrounds and disabled buttons. (#5250)
usa-button, usa-checkbox, usa-date-picker, usa-pagination, usa-radio, usa-range, usa-search, uswds-core Yes  Improved legibility of buttons in forced colors mode. Added a consistent border in forced colors mode. (#5147)
usa-button, usa-checkbox, usa-combo-box, usa-date-picker, usa-date-range-picker, usa-file-input, usa-input, usa-input-mask, usa-input-prefix-suffix, usa-radio, usa-range, usa-select, usa-textarea, uswds-core Yes  Improved consistency of disabled styles in forced colors mode. (#5295)
usa-button, usa-checkbox, usa-combo-box, usa-date-picker, usa-date-range-picker, usa-file-input, usa-input, usa-input-prefix-suffix, usa-radio, usa-range, usa-select, usa-textarea, usa-time-picker, uswds-core Yes  Improved consistency and visibility of disabled styles. Disabled form inputs now use a consistent gray background. (#5063)

⚠️ We don't consider this a breaking change, but teams should check disabled form elements to assure that the new styles are working in their layouts.
usa-link, uswds-core Yes  Labeled external links for screen readers. Added a label for screen readers that identifies external links and if they open in a new tab. (#5166)
uswds-core Yes  Added settings for announcing external links. Added $theme-external-link-sr-label-tab-same and $theme-external-link-sr-label-tab-new to control how screen readers announce external links. (#5166)
usa-content, usa-paragraph, usa-prose, uswds-core —  Yes Removed usa-prose- mixins and placeholders from Sass. Users should instead use typeset- mixins in their place. This is a breaking change only if your project Sass uses usa-prose- mixins and placeholders. It does not affect the look of any usa-prose–styled element.(#5158)
uswds-core —  Added $theme-heading-margin-top and $theme-paragraph-margin-top system variables. (#5158)
uswds-core —  Yes Updated individual Sass map settings without affecting defaults. Now adjusting a single Sass map setting will no longer set all other values in the map to false. Users can now update only the map values they wish to change. This is a breaking change only if your project deactivated mapped settings by not declaring them. (#5216)
usa-accordion, usa-banner, usa-nav, uswds-core —  Added two new settings to customize accordion background colors. You can now customize accordion button and content background colors with $theme-accordion-button-background-color and $theme-accordion-background-color. (#5269)

Bug fixes

Package A11y Breaking Description
usa-header —  Removed the id attribute from the usa-logo element. (#5319)
usa-header —  Fixed a bug that caused inaccurate megamenu template markup. The markup in megamenu code examples now accurately includes the usa-megamenu class. (#5311)
usa-table Yes  Fixed a typo in the sortable table JavaScript that caused the aria-label in table headers to have an unnecessary single quote. (#5280)
uswds-core, uswds-utilities —  Removed unused utility builder comments from compiled CSS. This update significantly reduces the compiled file size. (#5209)
usa-tooltip —  Fixed a bug that removed default positioning. If the data-position attribute is not specified, the tooltip position will now default to "top". (#5228)
usa-in-page-navigation —  Fixed a bug that prevented links that start with a number from scrolling when clicked. (#5200)
usa-alert —  Removed redundant and invalid height declaration. (#5187)
usa-button Yes  Fixed a bug that caused button type attribute to render empty. (#5247)
usa-button Yes  Added spacebar trigger to links styled as buttons. Now any item that looks like a button will trigger with the spacebar, even if the element is a link. (#4385)
usa-card Yes  Yes Replaced button elements with links styled as buttons.

⚠️ This is marked as a breaking change because it changes the recommended card component markup to include <a href="#" class="usa-button"></a> for the call to action instead of a button element. (#4385)
usa-pagination Yes Yes Improved accessible markup of overflow ellipses. We replaced the role="presentation" with aria-label="ellipsis indicating non-visible pages" for usa-pagination__overflow items to better conform to WCAG 2.0 and 2.1.

⚠️ This is marked as a breaking change because it changes the recommended component markup. In the usa-pagination__overflow element, use aria-label="ellipsis indicating non-visible pages" instead of role="presentation". (#5197)
usa-file-input —  Fixed an issue with large file previews. Now adding large files no longer results in an infinite spinner. Adding large files should now result in an accurate preview. (#5114)
usa-file-input Yes  Improved the file input experience for voice command and screen reader users. Voice command users can now interact with the component by speaking the visible instructions text. Additionally, screen reader users now have access to both the instructions text and the file selection status. (#5213)
usa-combo-box Yes  Improved consistency of keyboard actions. Users can now to use Tab to escape the Combo box selection without making a choice, and Space to select the current highlighted option when within the dropdown menu. (#5160)
usa-accordion, usa-banner, usa-nav Yes  Adjusted forced colors mode styles to ensure visibility and increase consistency. Forced colors mode styles will now override the background color and display the button outline. The open/close icons now dynamically adjust to ButtonText colors. (#5286)
usa-identifier —  Yes Updated Accessibility statement link text. Updated the identifier to use the text "Accessibility statement" (EN) / "Declaración de accesibilidad" (ES) for the required link to an accessibility statement.

⚠️ This is a breaking change because it changes the content of the identifier. Earlier versions of the identifier will continue to work as expected. (#5278)
Guidance Yes  Updated guidance to suggest identifying required and optional fields. We added a new section on identifying required fields and now suggest labeling required fields with a red asterisk and optional fields with the word optional. (uswds/uswds-site#1834)

Dependencies and security

Dependency name Previous version New version
@chanzuckerberg/axe-storybook-testing 5.0.1 6.3.0
axe-core 4.3.4 4.6.3
extract-loader 5.1.0
webpack 5.58.1 5.76.0

0 vulnerabilities in regular dependencies (dependencies for USWDS projects installed with npm install uswds)

1 moderate 29 high vulnerabilities in devDependencies (development dependencies)


Related PR

USWDS-Site: Add changelog items for USWDS 3.5.0 #2096


Release TGZ SHA-256 hash: e0dbab25bffaaf02b3b7317690939d9e0e63bc5c824046e778de8f4c15227a9c

mahoneycm and others added 30 commits March 23, 2023 14:33
Co-authored-by: Amy Leadem <93996430+amyleadem@users.noreply.github.com>
PR Template: Add checklist item for changelog
Since `is_demo` is a storybook control setting it should live in the story, not the component settings.
- We did this to prevent users from breaking contrast compliance
- We may be able to move this back after providing high contrast documentation to users
@amyleadem
Copy link
Contributor

amyleadem commented Jun 7, 2023

@thisisdano I reviewed the release notes in the PR description and had some notes. I am happy to work on edits if it would be helpful - either directly in the description or in a separate markdown file (whichever you prefer). Just let me know.

Note: this might be easier to read in edit mode since it doesn't enhance the PR numbers there.

@amyleadem
Copy link
Contributor

@thisisdano @mejiaj @mahoneycm I have updated the PR description according to my notes above. I'll come back tomorrow morning to take another look and confirm everything looks good.

@thisisdano
Copy link
Member Author

Thank you for your careful review @amyleadem!

@thisisdano
Copy link
Member Author

I've updated references from 3.4.1 to 3.5.0, added the breaking notifications, and merged in the most recent work from develop. I think this is now pretty much ready to go: ready to run the release script and begin the release process.

@thisisdano thisisdano marked this pull request as ready for review June 9, 2023 04:21
Copy link
Contributor

@mejiaj mejiaj left a comment

Choose a reason for hiding this comment

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

LGTM, I tested:

  • Milestone PRs are listed PR description.
  • Milestone PRs are merged in develop branch.
  • Release branch is sync'd with develop.
  • Vulnerabilities are accurate (30 vulnerabilities (1 moderate, 29 high) - 06/09/23)
  • Changelog PRs match release note PRs.

@amyleadem
Copy link
Contributor

amyleadem commented Jun 9, 2023

Looks good to me. Took another look at the description and made a couple small updates related to breaking changes.

PR contents:

  • Confirmed all USWDS items tagged as part of 3.5.0 have been merged into develop
  • Confirmed all USWDS-site items tagged as part of 3.5.0 have been merged into release-3.5.0
  • Confirmed that release-3.5.0 is up-to-date with all changes from develop

PR description:

  • Confirmed the PR description has a description for every issue tagged in 3.5.0 milestone
  • Confirmed a11y items have been correctly identified
  • Confirmed breaking items have been correctly identified and give description of the break
  • Confirmed dependency updates
  • Confirmed no spelling or grammatical errors

@thisisdano
Copy link
Member Author

I think for these elements that are not technically breaking, we do not mark as breaking, but add a callout in the release notes that there's a recommended change in markup, and call out that change in the notifications file as well. I can do that now.

@thisisdano
Copy link
Member Author

thisisdano commented Jun 9, 2023

Updated breaking or potentially breaking changes with notes and a ⚠️ icon.
Updated notifications.

Current notifications:

--------------------------------------------------------------------
3.5.0
- Sass: Removed `usa-prose-` mixins and placeholders from Sass.
  This is a breaking change only if your project Sass uses
  `usa-prose-` mixins and placeholders. Users should instead use
  `typeset-` mixins in their place.
- Settings: Now adjusting a single Sass map setting will no
  longer set all other values in the map to `false`. Users can
  now update only the map values they wish to change. This is a
  breaking change only if your project deactivated mapped
  settings by not declaring them.
- Accessibility: [usa-pagination] Replace the
  `role="presentation"` with `aria-label="ellipsis indicating
  non-visible pages" in `usa-pagination__overflow` items.
- Accessibility: [usa-card] Use link elements in
  any card component for calls to action instead of buttons. Use
  `<a href="#" class="usa-button"></a>` for these
  call-to-action links.
- Content: [usa-identifier] We updated the accessibility statement
  link text. Use the text "Accessibility statement" (EN)
  or "Declaración de accesibilidad" (ES) for the required
  link to an accessibility statement.
- Guidance [usa-link]: We now suggest using the `rel="noreferrer"`
   property on external links. This prevents the browser from leaking
  information about the original web address.
- Guidance [usa-form]: We now suggest identifying both required
  and optional fields in forms. Label required fields with a red
  asterisk and optional fields with the word "optional".

@thisisdano
Copy link
Member Author

thisisdano commented Jun 9, 2023

Added a disabled form controls note:

--------------------------------------------------------------------
3.5.0
- Sass: Removed `usa-prose-` mixins and placeholders from Sass.
  This is a breaking change only if your project Sass uses
  `usa-prose-` mixins and placeholders. Users should instead use
  `typeset-` mixins in their place.
- Settings: Now adjusting a single Sass map setting will no
  longer set all other values in the map to `false`. Users can
  now update only the map values they wish to change. This is a
  breaking change only if your project deactivated mapped
  settings by not declaring them.
- Accessibility: [form controls] We improved the consistency and
  visibility of disabled styles. Teams should check disabled form
  elements to assure that the new styles are working in their
  layouts.
- Accessibility: [usa-pagination] Replace the
  `role="presentation"` with `aria-label="ellipsis indicating
  non-visible pages" in `usa-pagination__overflow` items.
- Accessibility: [usa-card] Use link elements in
  any card component for calls to action instead of buttons. Use
  `<a href="#" class="usa-button"></a>` for these
  call-to-action links.
- Content: [usa-identifier] We updated the accessibility statement
  link text. Use the text "Accessibility statement" (EN)
  or "Declaración de accesibilidad" (ES) for the required
  link to an accessibility statement.
- Guidance [usa-link]: We now suggest using the `rel="noreferrer"`
  property on external links. This prevents the browser from leaking
  information about the original web address.
- Guidance [usa-form]: We now suggest identifying both required
  and optional fields in forms. Label required fields with a red
  asterisk and optional fields with the word "optional".

@thisisdano thisisdano merged commit 603df3c into main Jun 9, 2023
5 checks passed
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.

None yet

6 participants