angular / angular/components

bug(mat-slider): mobile device scrolling can break slider internal state

オープン
#28,130 コメント 4 件 リアクション 1 件 担当者 0 名 GitHub で見る
Accessibility android area: material/slider ios P3
主要言語
TypeScript
スター
25k
フォーク
6.8k
平均マージ
1日 8時間
マージ済み PR(30日)
91

説明

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

Scrolling on a mobile device can break the mat-slider's internal state such that the slider still thinks it is in an active dragging state when it is not

The root cause of the issue is that for some reason, the pointerup event never gets triggered when the user stops scrolling

### Reproduction

- Visit any webpage that has a mat-slider
- Scroll down with the pointerdown originating from the mat-slider
- Stop scrolling

### Expected Behavior

The mat-slider is in an inactive state

### Actual Behavior

The mat-slider is still in the active state

### Environment

- Angular: 17
- CDK/Material: 17
- Browser(s): chrome
- Operating System (e.g. Windows, macOS, Ubuntu): ios

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

mat-slider を含む iOS Chrome のページで、slider 上の pointerdown によってスクロールを開始して問題を再現します。slider の pointer-event 処理を追跡し、pointerup なしでスクロールが停止した後に slider が非アクティブ状態に戻ることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
frontend
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。