Sometimes buttons are used as a radio button, usually in a button group with segmented buttons but potentially on their own (as a toggle).
This has been implemented in polaris-rails: https://github.com/Shopify/polaris-ux/issues/58

Re-created from the previous polaris-react repo.
👋 Thanks for opening your first issue. A contributor should give feedback soon. If you haven’t already, please check out the contributing guidelines. You can also join #polaris on the Shopify Partners Slack.
Thanks for bringing this feature request over @vinay30!
I’ll close this issue for now, as we treat all feature requests as part of our backlog. We encourage everyone who wants this feature to add a 👍 to the original issue report. We take your collective interest into account when we look at what to work on next. In the meantime, PRs are always welcome 😊.
A few weeks ago I had somebody in Slack ask about a pattern that would have been solved by press states. So this sounds like a good idea to cover user needs.
Another 1+ from me !
We need this for the RTE toolbar buttons (ex. pressing "bold" and leaving the button in it's "pressed state". Currently we're getting around this by styling the button element directly in a wrapped div, but this still presents accessibility issues, as we're missing the aria-pressed attribute.
We'd welcome a PR adding this state. It's already supported in Polaris rails and should be here as well.
Hey @elizabethletourneau, we've got a component in polaris-next in web called ToggleButton that has pressed state styling and props, based on a few requests and a11y issues. If you're working on adding a pressed state to button, it might be best to hop in a meeting with Ryan Fredrick and we can chat about the best way to move forward with this–it might be about getting ToggleButton into Polaris as a component, rather than adding a pressed state to Button.
Closing as a duplicate of #877
Most helpful comment
Thanks for bringing this feature request over @vinay30!
I’ll close this issue for now, as we treat all feature requests as part of our backlog. We encourage everyone who wants this feature to add a 👍 to the original issue report. We take your collective interest into account when we look at what to work on next. In the meantime, PRs are always welcome 😊.