Skip to content

Commit

Permalink
fix(ProgressBar): improve screen reader output (#11698)
Browse files Browse the repository at this point in the history
* fix(ProgressBar): improve screen reader output

* fix(Progressbar): update tests for new aria method
  • Loading branch information
dakahn committed Jul 7, 2022
1 parent a0ece2d commit de05518
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
8 changes: 3 additions & 5 deletions packages/react/src/components/ProgressBar/ProgressBar-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,12 @@ describe('ProgressBar', () => {
it('renders helper text when passed', () => {
const text = 'ProgressBar helper text';
wrapper.rerender(<ProgressBar {...props} helperText={text} />);
const helperText = wrapper.container.querySelector(
const helperTextNode = wrapper.container.querySelector(
`.${prefix}--progress-bar__helper-text`
);
const helperText = helperTextNode.firstChild.textContent;

expect(helperText.textContent).toBe(text);
expect(
wrapper.getByRole('progressbar').getAttribute('aria-describedby')
).toBe(helperText.id);
expect(helperText).toBe(text);
});

it('still renders accessible label when hideLabel is passed', () => {
Expand Down
10 changes: 8 additions & 2 deletions packages/react/src/components/ProgressBar/ProgressBar.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ function ProgressBar({
<div
className={`${prefix}--progress-bar__track`}
role="progressbar"
aria-busy={!isFinished}
aria-invalid={isError}
aria-labelledby={labelId}
aria-describedby={helperText ? helperId : null}
aria-valuemin={!indeterminate ? 0 : null}
aria-valuemax={!indeterminate ? max : null}
aria-valuenow={!indeterminate ? cappedValue : null}>
Expand All @@ -104,8 +104,14 @@ function ProgressBar({
/>
</div>
{helperText && (
<div id={helperId} className={`${prefix}--progress-bar__helper-text`}>
<div className={`${prefix}--progress-bar__helper-text`}>
{helperText}
<div
className={`${prefix}--visually-hidden`}
aria-live="polite"
id={helperId}>
{isFinished ? 'Done' : 'Loading'}
</div>
</div>
)}
</div>
Expand Down

0 comments on commit de05518

Please sign in to comment.