bug(FabButton): `matFab` shows hover and focus styling with `disabledInteractive`
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
The `matFab` button behaves differently from `matButton` with the `disabledInteractive` property. When hovering or clicking the FAB button, it will animate the box shadow such that it looks interactive even if its not.
https://github.com/user-attachments/assets/e71708ff-e0f7-4ce1-944b-fcfa41a9645b
https://github.com/user-attachments/assets/b268dea9-627b-435f-8898-e427b0b379e7
### Reproduction
StackBlitz link: https://stackblitz.com/edit/rfnrrfrf?file=src%2Fexample%2Fbutton-disabled-interactive-example.css
Steps to reproduce:
1. Create a `matFab` with `disabled` + `disabledInteractive`
2. Hover the button
3. Click the button
### Expected Behavior
1. No hover box-shadow changes
2. No mousedown changes
### Actual Behavior
1. Hover will "raise" the button (increase box-shadow)
2. Clicking the button animates it
### Environment
- Angular: 20.2.9
- CDK/Material: 20.2.2
- Browser(s): Chrome/Edge (probably all)
- Operating System (e.g. Windows, macOS, Ubuntu): Windows
Contributor guide
Research direction
Start with the linked StackBlitz reproduction, especially src/example/button-disabled-interactive-example.css, and compare matFab with matButton when disabledInteractive is set. Confirm that hover and mousedown no longer change the disabled FAB's box shadow, then verify both behaviors in the reproduction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100