ionic-team / ionic-team/ionic-framework
bug: (a11y) In iOS clicks are triggered when the finger is lifted outside the element
- 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
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