apache / apache/cordova-plugin-inappbrowser
accessibility issues, cordova-plugin-inappbrowser
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 2.2k
- PR merge metrics
- No merged PRs in 30d
Description
# Bug Report
## Problem
### What is expected to happen?
* Buttons must have meaningful names that can be read with screen readers (e.g., "Back", "Forward" and "Close")
* Text in buttons and address field must meet WCAG contrast requirements for text (4.5:1)
* Address field must include a meaningful label/name value (e.g., "Address")
* When a button is disabled, state must be conveyed to assistive technology (dimmed or disabled)
* Text in the UI (e.g., the "Close" button visible in iOS, the Address field value) should respond to device text size settings (e.g., Larger Text in iOS)
* [Best Practice] Buttons will meet non-text contrast requirements (3:1)
### What does actually happen?
* Button labels are announced inconsistently or labels are not meaningful (e.g., Back button is announced as "Back button button" in Android/TalkBack and "black left pointing pointer" in iOS/VoiceOver)
* Disabled button state is not announced in Android/TalkBack
* Text color in iOS for Close button does not meet contrast requirements (3.1:1)
* Text/background contrast for Address fields does not meet contrast requirements in either Android or iOS
* Text in the UI does not respond to user-defined text size settings
* Buttons do not meet non-text contrast requirements in iOS
## Information
Issue is specific to Web Content Accessibility Guidelines (WCAG) compliance in the plugin UI.
### Command or Code
### Environment, Platform, Device
iPhone 8/iOS 12.4.1, Google Pixel 2/Android 9
### Version information
Cordova CLI : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms : android 8.0.0, ios 4.5.5
Cordova Plugins:
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.1 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova.plugins.diagnostic 4.0.12 "Diagnostic"
Other Frameworks:
Ionic CLI : 5.2.2
Ionic Framework : @ionic/angular 4.5.0
System:
Android SDK Tools : 26.1.1
ios-deploy : 1.9.4
ios-sim : 6.1.2
NodeJS : v10.15.0
npm : 6.11.2
OS : macOS Mojave
Xcode : Xcode 11.1 Build version 11A1027
## Checklist
- [X ] I searched for existing GitHub issues
- [X ] I updated all Cordova tooling to most recent version
- [X ] I included all the necessary information above
Contributor guide
Research direction
Start by reproducing the InAppBrowser UI on the listed Android and iOS devices, focusing on the Back, Forward, and Close buttons and the Address field. Compare screen-reader announcements, disabled-state feedback, WCAG contrast ratios, and device text-size behavior with the requirements in the issue. Done means the reported Android and iOS accessibility problems are addressed and verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, ios, java, objective-c
- Domain
- accessibility, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100