From 52c02ae41d765dd3c3a8f1bc950050262a019e3e Mon Sep 17 00:00:00 2001
From: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Date: Mon, 18 Dec 2023 11:03:35 -0600
Subject: [PATCH] UI: Add a11y testing (#24476)
---
changelog/24476.txt | 3 +
ui/app/components/auth-saml.hbs | 9 +-
ui/app/components/calendar-widget.js | 16 --
ui/app/components/policy-form.hbs | 6 +-
ui/app/components/sidebar/frame.hbs | 4 +-
ui/app/components/tool-actions-form.js | 3 +
ui/app/styles/components/auth-form.scss | 2 +-
ui/app/styles/components/calendar-widget.scss | 33 ---
.../styles/components/console-ui-panel.scss | 17 ++
ui/app/styles/components/doc-link.scss | 1 -
.../components/empty-state-component.scss | 12 +-
ui/app/styles/components/masked-input.scss | 7 +-
ui/app/styles/components/radio-card.scss | 2 +-
ui/app/styles/components/search-select.scss | 2 +-
ui/app/styles/components/tool-tip.scss | 15 +-
ui/app/styles/core/charts.scss | 4 +-
ui/app/styles/core/element-styling.scss | 3 +-
ui/app/styles/core/inputs.scss | 2 +-
ui/app/styles/core/json-diff-patch.scss | 12 +-
ui/app/styles/core/link.scss | 4 -
ui/app/styles/core/tag.scss | 7 +-
ui/app/styles/helper-classes/colors.scss | 10 +-
ui/app/styles/helper-classes/typography.scss | 4 +-
ui/app/templates/components/auth-form.hbs | 1 +
ui/app/templates/components/auth-jwt.hbs | 5 +-
.../templates/components/calendar-widget.hbs | 118 ++++----
.../components/clients/dashboard.hbs | 4 +-
.../components/configure-aws-secret.hbs | 38 +--
.../components/console/command-input.hbs | 38 ++-
.../console/log-error-with-html.hbs | 2 +-
.../components/console/log-error.hbs | 2 +-
.../templates/components/console/log-help.hbs | 2 +-
.../templates/components/console/log-json.hbs | 2 +-
.../templates/components/console/log-list.hbs | 2 +-
.../components/console/log-object.hbs | 2 +-
.../components/console/log-success.hbs | 2 +-
.../templates/components/console/log-text.hbs | 2 +-
.../templates/components/console/ui-panel.hbs | 17 +-
.../components/control-group-success.hbs | 1 +
.../dashboard/client-count-card.hbs | 2 +-
.../dashboard/quick-actions-card.hbs | 3 +-
.../components/dashboard/replication-card.hbs | 2 +-
.../dashboard/secrets-engines-card.hbs | 25 +-
.../components/generated-item-list.hbs | 2 +-
.../components/identity/entity-nav.hbs | 18 +-
.../components/identity/popup-alias.hbs | 2 +-
.../components/identity/popup-members.hbs | 2 +-
.../components/identity/popup-metadata.hbs | 2 +-
.../components/identity/popup-policy.hbs | 2 +-
.../templates/components/keymgmt/key-edit.hbs | 2 +-
.../components/keymgmt/provider-edit.hbs | 7 +-
ui/app/templates/components/link-status.hbs | 4 +-
.../mfa/login-enforcement-list-item.hbs | 2 +-
.../components/mfa/method-list-item.hbs | 2 +-
ui/app/templates/components/mfa/mfa-form.hbs | 2 +-
.../mfa/mfa-login-enforcement-form.hbs | 5 +
ui/app/templates/components/mfa/nav.hbs | 2 +-
.../components/mount-accessor-select.hbs | 8 +-
.../components/oidc/assignment-form.hbs | 1 +
.../templates/components/oidc/client-form.hbs | 2 +-
.../templates/components/oidc/client-list.hbs | 2 +-
ui/app/templates/components/oidc/key-form.hbs | 2 +-
.../components/oidc/provider-form.hbs | 2 +-
.../components/oidc/provider-list.hbs | 2 +-
ui/app/templates/components/pgp-file.hbs | 3 +-
.../components/secret-edit-toolbar.hbs | 6 +-
ui/app/templates/components/secret-edit.hbs | 10 +-
.../components/secret-list/aws-role-item.hbs | 2 +-
.../secret-list/database-list-item.hbs | 2 +-
.../templates/components/secret-list/item.hbs | 2 +-
.../components/secret-list/ssh-role-item.hbs | 2 +-
.../secret-list/transform-list-item.hbs | 2 +-
.../transform-transformation-item.hbs | 2 +-
ui/app/templates/components/section-tabs.hbs | 2 +-
.../transform-show-transformation.hbs | 16 +-
.../components/transform-template-edit.hbs | 2 +-
.../components/transit-form-show.hbs | 2 +-
.../templates/components/wizard-content.hbs | 2 +-
ui/app/templates/error.hbs | 2 +-
.../cluster/access/identity/aliases/show.hbs | 2 +-
.../vault/cluster/access/identity/index.hbs | 21 +-
.../vault/cluster/access/identity/show.hbs | 2 +-
.../vault/cluster/access/methods.hbs | 29 +-
.../vault/cluster/access/mfa/index.hbs | 4 +-
.../vault/cluster/access/namespaces/index.hbs | 12 +-
.../templates/vault/cluster/access/oidc.hbs | 6 +-
ui/app/templates/vault/cluster/clients.hbs | 2 +-
.../vault/cluster/secrets/backends.hbs | 13 +-
ui/app/templates/vault/error.hbs | 2 +-
.../addon/components/autocomplete-input.hbs | 3 +-
ui/lib/core/addon/components/code-snippet.hbs | 20 --
.../addon/components/confirmation-modal.hbs | 5 +-
.../addon/components/copy-secret-dropdown.hbs | 3 +-
ui/lib/core/addon/components/empty-state.hbs | 8 +-
ui/lib/core/addon/components/enable-input.hbs | 2 +-
ui/lib/core/addon/components/enable-input.ts | 8 +-
ui/lib/core/addon/components/form-field.hbs | 1 +
ui/lib/core/addon/components/icon.hbs | 2 +-
ui/lib/core/addon/components/info-tooltip.hbs | 3 +-
ui/lib/core/addon/components/json-editor.hbs | 8 +-
ui/lib/core/addon/components/masked-input.hbs | 1 +
.../core/addon/components/overview-card.hbs | 12 +-
ui/lib/core/addon/components/page/error.hbs | 11 +-
ui/lib/core/addon/components/popup-menu.hbs | 3 +-
ui/lib/core/addon/components/radio-card.hbs | 4 +-
.../core/addon/components/search-select.hbs | 2 +-
.../addon/components/secret-list-header.hbs | 54 ++--
ui/lib/core/addon/components/select.js | 2 +
.../addon/components/shamir/dr-token-flow.hbs | 8 +-
ui/lib/core/addon/components/shamir/form.hbs | 10 +-
ui/lib/core/addon/components/string-list.hbs | 2 +-
ui/lib/core/addon/components/text-file.hbs | 12 +-
.../core/addon/components/toolbar-actions.hbs | 2 +-
.../core/addon/components/toolbar-filters.hbs | 2 +-
ui/lib/core/addon/components/ttl-picker.hbs | 4 +-
.../components/replication-secondary-card.hbs | 36 +--
.../addon/templates/components/select.hbs | 5 +-
ui/lib/core/app/components/code-snippet.js | 6 -
.../addon/components/page/credentials.hbs | 3 +-
.../addon/components/page/role/details.hbs | 2 +-
.../addon/components/tab-page-header.hbs | 8 +-
ui/lib/kv/addon/components/kv-list-filter.hbs | 3 +-
ui/lib/kv/addon/components/kv-page-header.hbs | 6 +-
.../addon/components/page/configuration.hbs | 4 +-
ui/lib/kv/addon/components/page/list.hbs | 6 +-
.../addon/components/page/secret/details.hbs | 8 +-
.../page/secret/metadata/details.hbs | 8 +-
.../page/secret/metadata/version-history.hbs | 8 +-
.../kv/addon/components/page/secret/paths.hbs | 28 +-
.../kv/addon/components/page/secret/paths.js | 10 +-
ui/lib/kv/addon/templates/error.hbs | 4 +-
.../ldap/addon/components/page/libraries.hbs | 1 +
.../addon/components/page/library/details.hbs | 6 +-
.../page/library/details/accounts.hbs | 9 +-
.../addon/components/page/role/details.hbs | 2 +-
ui/lib/ldap/addon/components/page/roles.hbs | 8 +-
.../ldap/addon/components/tab-page-header.hbs | 14 +-
.../page/pki-configuration-details.hbs | 4 +-
.../addon/components/page/pki-issuer-edit.hbs | 4 +-
.../page/pki-issuer-rotate-root.hbs | 4 +-
.../pki/addon/components/pki-page-header.hbs | 14 +-
ui/lib/pki/addon/components/pki-role-form.hbs | 3 +-
.../components/secrets/destination-header.hbs | 4 +-
.../components/secrets/page/destinations.hbs | 4 +-
ui/package.json | 3 +-
ui/testem.js | 2 +-
.../access/identity/entities/create-test.js | 7 +
.../identity/groups/aliases/create-test.js | 7 +
.../access/identity/groups/create-test.js | 7 +
.../enterprise-control-groups-test.js | 7 +
ui/tests/acceptance/enterprise-kmip-test.js | 7 +
ui/tests/acceptance/init-test.js | 7 +
.../secrets/backend/kubernetes/roles-test.js | 7 +
.../secrets/backend/ldap/libraries-test.js | 7 +
.../secrets/backend/ldap/roles-test.js | 7 +
ui/tests/acceptance/sidebar-nav-test.js | 8 +-
ui/tests/acceptance/ssh-test.js | 7 +
ui/tests/helpers/general-selectors.js | 6 +-
ui/tests/helpers/kubernetes/overview.js | 8 +-
ui/tests/helpers/kv/kv-selectors.js | 4 +-
ui/tests/helpers/pki/overview.js | 12 +-
.../components/autocomplete-input-test.js | 13 +
.../components/calendar-widget-test.js | 54 ++--
.../clients/horizontal-bar-chart-test.js | 29 +-
.../components/clients/line-chart-test.js | 30 +-
.../components/clients/running-total-test.js | 7 +
.../clients/vertical-bar-chart-test.js | 48 ++--
.../components/confirm-action-test.js | 7 +
.../components/console/log-json-test.js | 7 +
.../components/control-group-success-test.js | 12 +-
.../dashboard/quick-actions-card-test.js | 9 +
.../database-role-setting-form-test.js | 7 +
.../components/enable-input-test.js | 20 +-
.../components/filter-input-test.js | 12 +-
.../integration/components/form-field-test.js | 13 +
.../components/get-credentials-card-test.js | 8 +
.../components/json-editor-test.js | 10 +-
.../components/keymgmt/distribute-test.js | 9 +
.../components/keymgmt/provider-edit-test.js | 9 +
.../kubernetes/page/configure-test.js | 8 +
.../kubernetes/page/overview-test.js | 8 +
.../page/role/create-and-edit-test.js | 10 +
.../kubernetes/page/role/details-test.js | 7 +
.../components/kv/kv-data-fields-test.js | 7 +
.../components/kv/kv-page-header-test.js | 4 +-
.../components/kv/page/kv-page-list-test.js | 20 +-
.../kv/page/kv-page-secret-details-test.js | 7 +
.../kv/page/kv-page-secret-edit-test.js | 8 +
.../kv/page/kv-page-secret-paths-test.js | 16 +-
.../kv/page/kv-page-secrets-create-test.js | 8 +
.../kv/page/kv-page-version-history-test.js | 2 +-
.../ldap/page/configuration-test.js | 8 +
.../components/ldap/page/libraries-test.js | 6 +
.../page/library/details/accounts-test.js | 2 +-
.../components/ldap/page/overview-test.js | 8 +
.../ldap/page/role/create-and-edit-test.js | 7 +
.../components/license-info-test.js | 10 +
.../mfa-login-enforcement-form-test.js | 10 +
.../mfa-login-enforcement-header-test.js | 14 +
.../mount-backend/type-form-test.js | 7 +
.../components/oidc/assignment-form-test.js | 8 +
.../components/oidc/client-form-test.js | 12 +
.../components/oidc/key-form-test.js | 11 +
.../components/oidc/provider-form-test.js | 11 +
.../components/oidc/scope-form-test.js | 7 +
.../components/overview-card-test.js | 15 +-
.../path-filter-config-list-test.js | 10 +
.../integration/components/pgp-file-test.js | 4 +-
.../page/pki-configuration-details-test.js | 7 +
.../pki/page/pki-issuer-generate-root-test.js | 10 +
.../pki/page/pki-issuer-rotate-root-test.js | 8 +
.../components/pki/pki-generate-csr-test.js | 7 +
.../components/pki/pki-key-parameters-test.js | 7 +
.../components/pki/pki-role-form-test.js | 8 +
.../components/policy-example-test.js | 12 +
.../components/policy-form-test.js | 8 +
.../components/radio-button-test.js | 9 +-
.../replication-secondary-card-test.js | 8 +
.../components/search-select-test.js | 11 +
.../search-select-with-modal-test.js | 11 +
.../components/secret-edit-test.js | 18 +-
.../integration/components/select-test.js | 4 +-
.../components/sidebar/frame-test.js | 20 ++
.../components/sidebar/nav/access-test.js | 12 +
.../components/sidebar/nav/cluster-test.js | 12 +
.../components/sidebar/nav/policies-test.js | 12 +
.../components/sidebar/nav/tools-test.js | 12 +
.../components/sidebar/user-menu-test.js | 9 +
.../integration/components/text-file-test.js | 14 +-
.../integration/components/tool-tip-test.js | 2 +-
.../transform-advanced-templating-test.js | 7 +
.../components/transit-key-actions-test.js | 31 ++-
.../integration/components/ttl-picker-test.js | 7 +
ui/tests/test-helper.js | 11 +
ui/yarn.lock | 261 ++++++++++++++----
235 files changed, 1556 insertions(+), 739 deletions(-)
create mode 100644 changelog/24476.txt
delete mode 100644 ui/lib/core/addon/components/code-snippet.hbs
delete mode 100644 ui/lib/core/app/components/code-snippet.js
diff --git a/changelog/24476.txt b/changelog/24476.txt
new file mode 100644
index 0000000000..797ed9a48d
--- /dev/null
+++ b/changelog/24476.txt
@@ -0,0 +1,3 @@
+```release-note:improvement
+ui: improve accessibility - color contrast, labels, and automatic testing
+```
diff --git a/ui/app/components/auth-saml.hbs b/ui/app/components/auth-saml.hbs
index 8d69fe8759..aa87e3770d 100644
--- a/ui/app/components/auth-saml.hbs
+++ b/ui/app/components/auth-saml.hbs
@@ -46,10 +46,11 @@
Logging in with a SAML auth method requires a browser in a secure context.