Improve accessibility (#3409)

* Add application settings reset button
 - Corrects accessibility findings GP.2

* Use icons in addition to color to indicate password mismatch
 - Corrects accessibility finding CN.2

* Announce begin/end of list navigation
 - Corrects accessibility finding KF.4

* Fixes for keyboard navigation
 - Add Ctrl+F10 keyboard shortcut to show group/entry context menus. Fixes #3140
 - Improve movement between form fields

* Fix loading system-defined language in translator
 - Fixes #3202
 - Bypass built-in Qt loading of QLocale for translations. The order of loading languages doesn't consider all file names prior to moving to the next language in the list. This resulted in English being chosen no matter what language is the top priority.

* Improve message box defaults and fix documentation links

* Better support for screen readers

* Add accessible names on form fields

* Prevent changing values during settings widget scrolling
 - Add an event filter to combo boxes and spin boxes on the settings page to prevent the mouse wheel from changing the values without having focus
 - Add horizontal stretch to the security settings to make the spin boxes more manageable.
This commit is contained in:
Jonathan White
2019-08-30 20:18:41 -04:00
committed by GitHub
parent 58d357e9ce
commit 3b330ee2d1
43 changed files with 1073 additions and 202 deletions

View File

@@ -160,6 +160,9 @@ QProgressBar::chunk {
</item>
<item row="0" column="1">
<widget class="PasswordEdit" name="editNewPassword">
<property name="accessibleName">
<string>Generated password</string>
</property>
<property name="maxLength">
<number>999</number>
</property>
@@ -167,6 +170,12 @@ QProgressBar::chunk {
</item>
<item row="0" column="2">
<widget class="QToolButton" name="togglePasswordButton">
<property name="accessibleName">
<string>Toggle password visibiity</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="checkable">
<bool>true</bool>
</property>
@@ -253,7 +262,13 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Upper Case Letters</string>
<string>Upper-case letters</string>
</property>
<property name="accessibleName">
<string>Upper-case letters</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="text">
<string notr="true">A-Z</string>
@@ -278,7 +293,13 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Lower Case Letters</string>
<string>Lower-case letters</string>
</property>
<property name="accessibleName">
<string>Lower-case letters</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="text">
<string notr="true">a-z</string>
@@ -305,6 +326,12 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Numbers</string>
</property>
<property name="accessibleName">
<string>Numbers</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="text">
<string notr="true">0-9</string>
</property>
@@ -331,7 +358,10 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Special Characters</string>
<string>Special characters</string>
</property>
<property name="accessibleName">
<string>Special characters</string>
</property>
<property name="text">
<string notr="true">/*_&amp; ...</string>
@@ -364,6 +394,9 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Extended ASCII</string>
</property>
<property name="accessibleName">
<string>Extended ASCII</string>
</property>
<property name="text">
<string>ExtendedASCII</string>
</property>
@@ -447,7 +480,10 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Upper Case Letters A to F</string>
<string>Upper-case letters</string>
</property>
<property name="accessibleName">
<string>Upper-case letters</string>
</property>
<property name="text">
<string>A-Z</string>
@@ -472,7 +508,10 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Lower Case Letters A to F</string>
<string>Lower-case letters</string>
</property>
<property name="accessibleName">
<string>Lower-case letters</string>
</property>
<property name="text">
<string>a-z</string>
@@ -531,6 +570,9 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Braces</string>
</property>
<property name="accessibleName">
<string>Braces</string>
</property>
<property name="text">
<string>{[(</string>
</property>
@@ -563,6 +605,9 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Punctuation</string>
</property>
<property name="accessibleName">
<string>Punctuation</string>
</property>
<property name="text">
<string>.,:;</string>
</property>
@@ -618,7 +663,10 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Math</string>
<string>Math Symbols</string>
</property>
<property name="accessibleName">
<string>Math Symbols</string>
</property>
<property name="text">
<string>&lt;*+!?=</string>
@@ -643,7 +691,10 @@ QProgressBar::chunk {
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Dashes</string>
<string>Dashes and Slashes</string>
</property>
<property name="accessibleName">
<string>Dashes and Slashes</string>
</property>
<property name="text">
<string>\_|-/</string>
@@ -677,6 +728,9 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Logograms</string>
</property>
<property name="accessibleName">
<string>Logograms</string>
</property>
<property name="text">
<string>#$%&amp;&amp;@^`~</string>
</property>
@@ -786,6 +840,9 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Character set to exclude from generated password</string>
</property>
<property name="accessibleName">
<string>Excluded characters</string>
</property>
<property name="clearButtonEnabled">
<bool>true</bool>
</property>
@@ -809,6 +866,9 @@ QProgressBar::chunk {
<property name="toolTip">
<string>Add non-hex letters to &quot;do not include&quot; list</string>
</property>
<property name="accessibleName">
<string>Hex Passwords</string>
</property>
<property name="text">
<string>Hex</string>
</property>
@@ -881,6 +941,9 @@ QProgressBar::chunk {
</item>
<item>
<widget class="QSlider" name="sliderLength">
<property name="accessibleName">
<string>Password length</string>
</property>
<property name="minimum">
<number>1</number>
</property>
@@ -903,6 +966,9 @@ QProgressBar::chunk {
</item>
<item alignment="Qt::AlignRight">
<widget class="QSpinBox" name="spinBoxLength">
<property name="accessibleName">
<string>Password length</string>
</property>
<property name="minimum">
<number>1</number>
</property>
@@ -1084,6 +1150,12 @@ QProgressBar::chunk {
</item>
<item>
<widget class="QPushButton" name="buttonGenerate">
<property name="toolTip">
<string>Regenerate password</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="text">
<string>Regenerate</string>
</property>
@@ -1091,6 +1163,12 @@ QProgressBar::chunk {
</item>
<item>
<widget class="QPushButton" name="buttonCopy">
<property name="toolTip">
<string>Copy password</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="text">
<string>Copy</string>
</property>
@@ -1101,6 +1179,12 @@ QProgressBar::chunk {
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Accept password</string>
</property>
<property name="accessibleDescription">
<string/>
</property>
<property name="text">
<string>Accept</string>
</property>
@@ -1136,6 +1220,7 @@ QProgressBar::chunk {
<tabstops>
<tabstop>editNewPassword</tabstop>
<tabstop>togglePasswordButton</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>sliderLength</tabstop>
<tabstop>spinBoxLength</tabstop>
<tabstop>checkBoxUpper</tabstop>
@@ -1149,15 +1234,16 @@ QProgressBar::chunk {
<tabstop>checkBoxPunctuation</tabstop>
<tabstop>checkBoxMath</tabstop>
<tabstop>checkBoxLogograms</tabstop>
<tabstop>checkBoxLowerAdv</tabstop>
<tabstop>checkBoxBraces</tabstop>
<tabstop>checkBoxQuotes</tabstop>
<tabstop>checkBoxDashes</tabstop>
<tabstop>checkBoxExtASCIIAdv</tabstop>
<tabstop>editExcludedChars</tabstop>
<tabstop>buttonSimpleMode</tabstop>
<tabstop>buttonAddHex</tabstop>
<tabstop>checkBoxExcludeAlike</tabstop>
<tabstop>checkBoxEnsureEvery</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>buttonSimpleMode</tabstop>
<tabstop>comboBoxWordList</tabstop>
<tabstop>sliderWordCount</tabstop>
<tabstop>spinBoxWordCount</tabstop>