Skip to content

ProgressBar: Adjust ProgressBar.Item for accessibility - #4878

Merged
TylerJDev merged 17 commits into
mainfrom
tylerjdev/progress-bar-a11y
Nov 2, 2024
Merged

ProgressBar: Adjust ProgressBar.Item for accessibility#4878
TylerJDev merged 17 commits into
mainfrom
tylerjdev/progress-bar-a11y

Conversation

@TylerJDev

@TylerJDevTylerJDev commented Aug 23, 2024

Copy link
Copy Markdown
Member

Closeshttps://github.com/github/primer/issues/3359

Changelog

New

Changed

  • Moves aria-* attributes to ProgressBar.Item
  • Marks ProgressBar.Item as role="progressbar"

Removed

Rollout strategy

  • Patch release
  • Minor release
  • Major release; if selected, include a written rollout or migration plan
  • None; if selected, include a brief description as to why

Testing & Reviewing

Merge checklist

@changeset-bot

changeset-botBot commented Aug 23, 2024

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8b67e67

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
NameType
@primer/reactMinor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actionsBot commented Aug 23, 2024

Copy link
Copy Markdown
Contributor

size-limit report 📦

PathSize
packages/react/dist/browser.esm.js97.26 KB (+0.02% 🔺)
packages/react/dist/browser.umd.js97.57 KB (+0.07% 🔺)

Comment on lines 64 to 75
const ariaAttributes = {
'aria-valuenow': progressAsNumber && progressAsNumber >= 0 ? Math.round(progressAsNumber) : undefined,
'aria-valuemin': 0,
'aria-valuemax': 100,
}

warning(
children &&
!ariaAttributes['aria-valuenow'] &&
typeof (rest as React.AriaAttributes)['aria-valuenow'] === 'undefined' &&
typeof (rest as React.AriaAttributes)['aria-valuetext'] === 'undefined',
'Expected `aria-valuenow` or `aria-valuetext` to be provided to <ProgressBar>. Provide one of these values so screen reader users can determine the current progress. This warning will become an error in the next major release.',
)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

I'm curious if there's a reason why we didn't include ariaAttributes['aria-valuenow'] as a value to include in the warning conditional? Since we automatically create the aria-valuenow based on progressAsNumber being true and a number, is that sufficient enough if consumers don't provide an aria-valuenow themselves? Also, I added progressAsNumber >= 0 so we can include aria-valuenow values that start at 0.

Cc: @kendallgassner - would love your insight, but I realize that it's been a minute since we've introduced these changes 😅

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.

huh, your right that is odd and if a user passed it in it would override the value, we are setting via ...rest. 🤔 I think it's safe to remove the warning all together.

@primer-integration

primer-integrationBot commented Oct 18, 2024

Copy link
Copy Markdown

🟢 golden-jobs completed with status success.

Comment threadpackages/react/src/ProgressBar/ProgressBar.tsx
Comment threadpackages/react/src/ProgressBar/ProgressBar.tsx Outdated
Comment threadpackages/react/src/ProgressBar/ProgressBar.tsx Outdated
Comment threadpackages/react/src/ProgressBar/ProgressBar.tsx
TylerJDevand others added 2 commits October 24, 2024 11:08
Co-authored-by: Josh Black <joshblack@github.com>
Co-authored-by: Josh Black <joshblack@github.com>

@joshblackjoshblack left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks great! Just left a small suggestion in case it was helpful 👍

Co-authored-by: Josh Black <joshblack@github.com>
@TylerJDev

Copy link
Copy Markdown
MemberAuthor

Gonna wait on https://github.com/github/github/pull/344354 before I merge this PR in so we don't get failing tests 😁

@primer-integration

Copy link
Copy Markdown

👋 Hi from github/github! Your integration PR is ready: https://github.com/github/github/pull/349794

@TylerJDev
TylerJDev added this pull request to the merge queueNov 2, 2024
Merged via the queue into main with commit 73312d8Nov 2, 2024
@TylerJDev
TylerJDev deleted the tylerjdev/progress-bar-a11y branch November 2, 2024 17:02
@primerprimerBot mentioned this pull request Nov 2, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration-tests: recommendedThis change needs to be tested for breaking changes. See https://arc.net/l/quote/tdmpakpmstatus: review needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@TylerJDev@joshblack@kendallgassner