Teclado personalizado accesible en iOS

Quiero hacer que un keyboard personalizado funcione como el keyboard del software iOS con respecto a la accesibilidad. Cuando se presiona un button, se agrega una letra a un UITextField, la letra debe ser hablada por VoiceOver en el "tono de carácter agregado". Cuando un button presiona, borra una letra de un UITextField, la letra debe ser hablada por VoiceOver en el "tono de carácter eliminado".

Esto es lo que intenté:

  1. Creado un UITextField en el controller de vista, en el guión gráfico.
  2. Se crearon dos botones UIB labeldos "Tipo" y "Retroceso" en el controller de vista, en el guión gráfico.
  3. Establezca los rasgos de accesibilidad para ambos botones UIB a la tecla del keyboard.
  4. Conectó el storyboard UITextField hasta una instancia de IBotext UITextField, textField.
  5. Conecté el guión gráfico 'Tipo' UIB hasta una IBAcción, tipo.
  6. Conecté el guión gráfico 'Retroceder' UIButton hasta una IBAction, -backspace.
  7. [[self textField] insertText:@"a"]; tipo implementado como: [[self textField] insertText:@"a"]; .
  8. Implementado -backspace como: [[self textField] deleteBackward]; .
  9. Hecho textField el primer respondedor.

También intenté lo mismo, moviendo los botones en una UIView que se configuró como inputView de textField.

Los caracteres se agregan y quitan correctamente del campo de text, pero VoiceOver no los pronuncia. ¿Cómo puedo hacer que esto funcione?

EDITAR:
El keyboard de hardware habla correctamente. Es solo el keyboard de software personalizado que no habla como debería.

Es posible que sea necesario activar Voice Over para todo el dispositivo para que esto funcione. Puedes cambiar esto en accesibilidad. No estoy seguro de qué hacer si la voz ya está habilitada en el dispositivo.