Fix libnma accessibility problems
Libnma has, at least, two accessibility problems:
-
when an invalid password is typed, the text entry change its color to red, but nothing else. This is an invalid behavior because it relies exclusively in color to notify an error.
-
the password storage options are accessed through the secondary icon in the password entry, but those icons aren't accessible, because neither can be accessed using only keyboard navigation, nor have a11y labels/descriptions.
The first problem is fixed by adding an error icon in the entry when there is an error.
The second problem is fixed by removing the sensitive secondary icon, and adding a button along the text entry, implementing the same functionality. Although the recommended way in Gtk is to add the primary/secondary icon functionality also as actions in the context menu, in this case this isn't possible because one of the available actions is to "always ask for a password", which also disables the text entry by disabling the "can-focus" property. This still allows to enable the secondary icon with the mouse, but prevents doing so with the keyboard, so if the user sets this mode, they won't be able to revert it.
Forwarded: https://gitlab.gnome.org/GNOME/libnma/-/merge_requests/70
Forwarded: https://gitlab.gnome.org/GNOME/libnma/-/merge_requests/71
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libnma/+bug/2117396
Fix: #2117396