angular / angular/components

bug(MatIconButton): Touch Targets are overlapping each other when placed side by side

Open
#29,508 3 comments 0 reactions 0 assignees View on GitHub
Accessibility area: material/button P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
91

Description

### Is this a regression?

- [X] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

16.2.14

### Description

Placing two mat-icon-buttons side by side just like the angular material doc pages does results in overlapping touch targets. And the user clicks the wrong buttons.
v16.2.14 (of the docs):
![image](https://github.com/user-attachments/assets/b5ccb0d0-5961-4b2f-8f9e-91cffea96a3b)

v18.1.2 (of the docs):
![image](https://github.com/user-attachments/assets/48ce62be-3489-4a6e-9d22-ea9c7fc7c7a8)

### Reproduction

Just open the https://v16.material.angular.io/components/button/overview page and compare the button touch target behavior when moving the mouse over the icon buttons with the one of the current version https://material.angular.io/components/button/overview

### Expected Behavior

Icon-Buttons should be separated clearly for the user, and no overlapping should occur.

### Actual Behavior

Even though the mouse pointer is clearly over another button, the neighboring button is already displayed as hovered and is executed when clicked.

### Environment

- Angular: 18.1.2
- CDK/Material: 18.1.2
- Browser(s): Chrome 127.0.6533.73
- Operating System (e.g. Windows, macOS, Ubuntu): Windows 11

Contributor guide

Open the contributing guide

Research direction

Reproduce the behavior by comparing the v16 and current Angular Material button overview pages in Chrome, focusing on adjacent mat-icon-buttons and their hover and click targets. Trace the MatIconButton touch-target behavior from the button component entry point, then verify that neighboring buttons no longer overlap and that each click activates the intended button.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.