angular / angular/components

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

未关闭
#29,508 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Accessibility area: material/button P3
主要语言
TypeScript
星标
25k
派生
6.8k
平均合并
1 天 8 小时
30 天内合并 PR
91

描述

### 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

贡献指南

打开贡献指南

调研方向

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.

由索引模型根据 Issue 内容生成。

评估

技术栈
angular, typescript
领域
accessibility, frontend
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。