diff --git a/.changeset/smart-cameras-sip.md b/.changeset/smart-cameras-sip.md new file mode 100644 index 00000000000..3d7095b91b7 --- /dev/null +++ b/.changeset/smart-cameras-sip.md @@ -0,0 +1,5 @@ +--- +'@primer/react': patch +--- + +Fixes a bug where consumers cannot override buttons' aria-disabled attribute diff --git a/packages/react/src/Button/ButtonBase.tsx b/packages/react/src/Button/ButtonBase.tsx index eb1692c8a35..8458ecd8ad5 100644 --- a/packages/react/src/Button/ButtonBase.tsx +++ b/packages/react/src/Button/ButtonBase.tsx @@ -89,6 +89,7 @@ const ButtonBase = forwardRef( Boolean(descriptionID)) .join(' ')} diff --git a/packages/react/src/Button/__tests__/Button.test.tsx b/packages/react/src/Button/__tests__/Button.test.tsx index 04c567e6480..97a29b04c90 100644 --- a/packages/react/src/Button/__tests__/Button.test.tsx +++ b/packages/react/src/Button/__tests__/Button.test.tsx @@ -238,6 +238,12 @@ describe('Button', () => { }, 0) }) + it('allows the consumer to override `aria-disabled`', () => { + const container = render() + + expect(container.getByRole('button')).toHaveAttribute('aria-disabled', 'true') + }) + it('should preserve the accessible button name when the button is in a loading state', () => { const container = render()