Steps to reproduce:
- launch the attached accessible-event listener in a terminal on a GNU/Linux distro with accessibility support enabled
- launch pinentry-gtk-2 and when prompted for orders, type "getpin"
- tab amongst the widgets in the resulting dialog
- enter text in the secure entry
As you perform steps 3 and 4, the accessible-event listener will output events.
These events are used by assistive technologies such as the Orca screen reader to
present focus and text changes to users who are blind.
Expected results:
- The secure entry would have ROLE_PASSWORD_TEXT
- When text was entered, an accessible event would be emitted
Actual results:
- The secure entry has ROLE_UNKNOWN
- When text is entered, there is no accessible event
Impact: A user who is blind has no idea that focus is in the entry, and no
confirmation from the screen reader that text has been entered.
Here's a comparison between gtk-demo's "Entry Buffer" and pinentry-gtk-2 in which
focus is given to the password/secure entry and two characters are typed:
gtk-demo:
[password text | ] is now focused object:text-changed:insert(0, 1, ●)
source: [password text | ]
host_application: [application | gtk-demo]
object:text-changed:insert(1, 1, ●)
source: [password text | ]
host_application: [application | gtk-demo]
pinentry-gtk-2:
[unknown | ] is now focused