Stripe-ios: Feature Request: improved VoiceOver support for STPPaymentCardTextField

Created on 22 Oct 2018  路  5Comments  路  Source: stripe/stripe-ios

The STPPaymentCardField could use some improvements for VoiceOver support.

Summary

For a user interacting with the STPPaymentCardTextField with VoiceOver enabled, the following is desired:

  1. While editing the card number part of the field before a complete card number has been entered, the VoiceOver swipe gesture to move focus to the next onscreen element doesn't take the user to the expiration part of the field. Instead, the user is taken to whatever element follows the entire STPPaymentCardField.
  2. If you enter an incorrect card number, expiration, CVC, or postal code, a user with VoiceOver would expect to hear that the field is invalid (corresponding to when the field changes color to the red/error color).
    2.1. If you move your finger over any of the fields within STPPaymentCardField and they are invalid, the VoiceOver description should indicate they are invalid.
  3. If you enter a valid card number, the cursor focus automatically moves to the expiration part of the field. VoiceOver should activate to indicate the current field has changed to expiration date. Likewise after entering a valid expiration and cursor focus moves to the CVC, and CVC to postal code.

Code to reproduce

iOS version

iOS 12

Installation method

CocoaPods

SDK version

13.2.0

Other information

triaged

Most helpful comment

馃憤 I wanna second this, this is affecting an app I am working on.

All 5 comments

Thanks for this detailed report @provTheodoreNewell. This is definitely something we'd like to fix so I'm adding to our roadmap

馃憤 I wanna second this, this is affecting an app I am working on.

Chiming in; also being affected by this issue. The current incarnation yields a really terrible experience for users that utilize VoiceOver accessibility features. Users have no way of knowing when focus moves from card number to expiration to CVC, or when validation failures occur.

Also.. Might want to bump up the priority on this issue since I'm pretty sure user-facing private/commercial SDKs are still governed by the Americans with Disabilities Act (ADA).

Sorry that this took so long! We're addressing all the feedback in this issue in #1384, and we'll do a deeper VoiceOver audit in the near future.

This should be fixed in v17.0.2.

Was this page helpful?
0 / 5 - 0 ratings