2

I'm trying to make my app accessible with Voice Over. On one of the screens I have a text field for entering number. Nothing special, just default UITextField with keyboardType set to UIKeyboardType.numberPad. Voice Over is actually working well and read all selected keyboard buttons. The problem is that keyboard is always english (with english letters under digits). And when you switch iPhone language to something other than english, Voice Over mixes two languages:

  1. When you select digit on keyboard with single tap, Voice Over read it in current iPhone language (russian in my case)
  2. When you double tap (to enter digit into text field), Voice Over always read it in english

What I changed in setings:

  1. Set iPhone language to russian
  2. Set region to russia (not sure if it matters at all)
  3. In "General -> Keyboard -> keyboards" moved russian keyboard to the top of the list

But nothing helped. UIKeyboardType.numberPad and UIKeyboardType.decimalPad are always english (UIKeyboardType.default is russian as it should be)

Am I missing something?

I also tried to change keyboard language programmatically - iPhone: Change Keyboard language programmatically. But that didn't work either.

selim
  • 23
  • 2
  • Is the app localized for Russian? – matt Aug 08 '21 at 14:38
  • You are right, adding localization did the trick. I didn't bother with proper localization because app will be available in just one country. But that clearly was a mistake. Thank you for solution! @matt, please post your comment as answer, and I'll mark it as accepted – selim Aug 08 '21 at 15:10

1 Answers1

1

It's confusing for sure, but it sounds like your app is not actually localized for Russian. Try localizing it and see if that improves things.

matt
  • 515,959
  • 87
  • 875
  • 1,141