Skip to content

fix(integrations): Keep disabled integration buttons reachable by keyboard - #124838

Draft
jaydgoss wants to merge 1 commit into
jaygoss/scm-provider-pill-namesfrom
jaygoss/integration-button-focusable-tooltips
Draft

jaydgoss wants to merge 1 commit into
jaygoss/scm-provider-pill-namesfrom
jaygoss/integration-button-focusable-tooltips

Conversation

@jaydgoss

Copy link
Copy Markdown
Member

AddIntegrationButton and DirectEnableButton each wrap a natively disabled button in a tooltip that explains why it is disabled: the provider cannot be added from Sentry, or the user lacks permission to enable it. A natively disabled button cannot take focus, so keyboard and screen reader users never got that explanation. It was hover only.

Both buttons are now aria-disabled instead of disabled, with the tooltip passed to the button's own tooltipProps so it opens on focus as well as hover. The click handler returns early while the button is disabled, so nothing starts an install or enable request. The core Button styles in #124479 make aria-disabled look the same as disabled, so the visible state does not change. DirectEnableButton keeps native disabled while the enable request is pending and when a caller passes disabled, since neither of those states has a tooltip to reach.

The add-integration tooltip copy now goes through t() with the provider name as a parameter. The wording is unchanged.

The two specs assert aria-disabled, reach the tooltip by focusing the button, and check that a click does not fire the request or open the modal.

…board

AddIntegrationButton and DirectEnableButton were natively disabled when the provider cannot be added or the user lacks access, so keyboard and screen reader users could not reach the tooltip that explains why. Both buttons are now aria-disabled with the tooltip on the button itself, and the click handler bails while disabled.
@jaydgoss
jaydgoss added this pull request to stack #124480 September 17, 2026 21:25
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant