Page MenuHome GnuPG

Kleopatra: Make OpenPGP certificate generation (with default settings) accessible
Testing, NormalPublic

Description

Generating a new OpenPGP certificate with default settings should be possible:

  • with keyboard only
  • for people using a screenreader
  • with 400 % magnification
  • with high contrast color scheme
  • with inverted color scheme

Revisions and Commits

rLIBKLEO Libkleo
rKLEOPATRA Kleopatra

Event Timeline

ikloecker triaged this task as Normal priority.Feb 14 2022, 2:54 PM
ikloecker created this task.
ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Feb 14 2022, 4:22 PM

Generating a new OpenPGP certificate with default settings should now be possible:

  • with keyboard only (tab order should be okay now)
  • with high contrast color scheme and/or inverted color scheme (tested with Breeze Dark)

Improvements for using screen readers and for large magnification are still open.

ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Mar 28 2022, 1:40 PM
ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.May 19 2022, 10:10 AM

When the protocol is already choosen then the wizard is still opened and not the dialog. E.g. if the key is created from the welcomewidget's "New Key Pair" button. Or if S/MIME Certificate creation is disabled completely.

Also the new key pair button in the welcomewidget does not react to an "enter" input.

I very much doubt that the buttons ever reacted on Enter. Those buttons are and always were QToolButtons. QToolButton doesn't reimplement keyPressEvent and QAbstractButton::keyPressEvent explicitly ignores Enter and Return. I think you are confusing this with the old "Choose Protocol" page of the wizard which used QCommandLinkButtons which indeed to react on Enter.

Having said this, I also find it irritating that buttons in Qt cannot be pressed with Enter (unless one uses the default and/or auto-default feature exclusive to QPushButton, but this comes with its own usability problems, e.g. rKLEOPATRA11ac18df48ee: Prevent accidental closing of dialogs when pressing Enter). I considered doing something (a bit hackish) about this for QPushButton, but there's so much else to do.

Sorry, I did not mean to imply that this was a regression, I only noticed this as I was tabbing through the welcome dialog and then wanted to test openpgp certificate creation by keyboard and was also irritated that it did not work as expected on the button.

Now the buttons react to Enter/Return. But for now only the tool buttons in the welcome widget do. This needs to be extended to all other tool buttons used by Kleopatra. -> T6110: Kleopatra: All buttons shall be activatable with the Enter/Return key

When the protocol is already choosen then the wizard is still opened and not the dialog. E.g. if the key is created from the welcomewidget's "New Key Pair" button. Or if S/MIME Certificate creation is disabled completely.

This should be fixed now.

For this dialog I think we need additional work. I have not yet tested it on Windows 11 but at least on Windows 10 with the default theme it looks much less like a native dialog and more like a "Windows XP" Dialog now. Please do not see this as nitpicking, I know it is hard to have something accessible and both pleasing to the eye but I think that this is something we should try to archive.

The new certificate creation is for many users the first contact with our application, and if we look like an older style guide then our software automatically does not feel modern.

The old wizard theme worked well ( I add a Windows 11 screenshot in a later message ). But the Dialog looks outdated. Honestly customers pick on such things and say for example that kleopatra looks more modern then Chiasmus GUI (GTK) or "the other VS-NfD Software". And we should not loose this. I wonder if we should use a different style overall for dialogs like the certificate details dialog, too. Or can we apply the wizard style to this? With a light bright background and some color?

Also the size of the dialog changes abruptly once you select something.

Please try running Kleopatra with the "WindowsXP" or the "WindowsVista" style. The default "Windows" style is more like Windows 95 (https://doc.qt.io/qt-5/qstyle.html#details).

The styling of QWizard is kind of orthogonal to the general widget style (https://doc.qt.io/qt-5/qwizard.html#wizard-look-and-feel). Funny enough, in the SignEncryptFilesWizard there's

#ifdef Q_OS_WIN
    // Enforce modern style to avoid vista style ugliness.
    setWizardStyle(QWizard::ModernStyle);
#endif

Using QWizard isn't a solution because it is inherently inaccessible and all other dialogs including the main window still looks like a last-century UI.

You can easily test different styles with kleopatra -style windowsvista. Alternatively, try the "fusion" style.

Also the size of the dialog changes abruptly once you select something.

This should only happen if something that was previously hidden is now shown. It's probably an artifact of the effort to make the dialog work with 400 % magnification but still make use of the available screen estate on larger displays and/or with less magnification. Can you make a video of the size changes?

We have three styles enabled / installed, Windows the Windows 95 style. Windows Vista and fusion. Windows Vista is the default. On Windows 10 these look like the following. On windows 11 they look slightly different again but that is mostly due to window decorations.

Windows style:

Vista (default):

Fusion:

I think the newcertificatedialog looks best in fusion but I don't really want to change the overall style of Kleopatra generally.

Here is a new keygen screen capture:

As discussed with Andre we streamline certificate generation as follows:

  • We remove the "Choose Type of Key Pair" dialog.
  • We replace the "New Key Pair" entry in the main menu with "New OpenPGP Key Pair" and "New S/MIME Certification Request".
  • For OpenPGP, we replace the result dialog with the "Next Steps" buttons with a simple success message box.
  • For S/MIME, we immediately show a Save File dialog instead of the result dialog.

The OpenPGP-related changes mentioned in T5832#161063 have been implemented.

For S/MIME, we immediately show a Save File dialog instead of the result dialog.

This will be covered with T6117: Kleopatra: Make creation of S/MIME certificate signing request accessible.

ikloecker changed the task status from Open to Testing.Mon, Aug 1, 4:53 PM
ikloecker removed ikloecker as the assignee of this task.
ikloecker moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
ikloecker added a project: Testing.