ionic-team / ionic-team/ionic-framework

bug: (a11y) In iOS clicks are triggered when the finger is lifted outside the element

Đang mở
#30,243 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
triage
Ngôn ngữ chính
TypeScript
Star
52.7k
Fork
13.3k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
51

Mô tả

### Prerequisites

- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [x] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [x] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v8.x

### Current Behavior

In iOS, clicks are still triggered when the finger is lifted off the screen, even if the finger has been moved away from the element before lifting. This occurs with both buttons and tabs.

This behaviour does not comply with the WCAG Pointer Cancellation success criterion. See: https://www.w3.org/WAI/WCAG21/Understanding/pointer-cancellation.html

### Expected Behavior

Clicks on elements should be cancellable before lifting the finger by moving it away from the element, as it works on Android.

### Steps to Reproduce

1. Create a new app using the "tabs" starter template, Angular and Cordova.
2. Build and install the app on iOS.
3. Touch an inactive tab, but move your finger outside the tab before lifting it.

### Code Reproduction URL

https://github.com/ionic-team/starters/tree/main/angular/official/tabs

### Ionic Info

```
Ionic:

Ionic CLI : 7.2.0
Ionic Framework : @ionic/angular 8.4.3
@angular-devkit/build-angular : 17.3.12
@angular-devkit/schematics : 17.3.12
@angular/cli : 17.3.12
@ionic/angular-toolkit : 11.0.1

Cordova:

Cordova CLI : 12.0.0 (cordova-lib@12.0.2)
Cordova Platforms : android 13.0.0, ios 7.1.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, (and 17 other plugins)

Utility:

cordova-res : not installed globally
native-run : 2.0.1

System:

ios-sim : 8.0.2
NodeJS : v20.18.1 (/Users/***/.nvm/versions/node/v20.18.1/bin/node)
npm : 10.8.2
OS : macOS Unknown
Xcode : Xcode 16.2 Build version 16C5032a
```

### Additional Information

_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by reproducing the issue with the Angular tabs starter template linked in the report, on iOS, and compare its button and tab behavior with Android. Trace the click or pointer handling entry points for these components. Done means moving a finger outside the element before lifting no longer triggers its click, while normal taps still work.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
angular, ios, typescript
Lĩnh vực
accessibility, frontend, mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.