From 818035e30d3d8188f5c5a871c8b59f5b52d0054a Mon Sep 17 00:00:00 2001 From: Benjamin Scharf Date: Tue, 23 Apr 2024 22:40:12 +0200 Subject: [PATCH] Maintenance: Lint Rule: A11y with recommended settings --- .eslintrc.js | 2 + .../CommonInputSearch/CommonInputSearch.vue | 1 + .../CommonProgressBar/CommonProgressBar.vue | 10 ++- .../components/CommonSelect/CommonSelect.vue | 2 +- .../CommonSelect/CommonSelectItem.vue | 2 +- .../FieldAutoCompleteInput.vue | 2 +- .../__tests__/FieldAutoComplete.spec.ts | 6 +- .../fields/FieldDate/FieldDateTimeInput.vue | 2 +- .../FieldRadioList/FieldRadioListInput.vue | 10 +-- .../__tests__/FieldRadioList.spec.ts | 14 ++--- .../fields/FieldSelect/FieldSelectInput.vue | 5 +- .../FieldSelect/__tests__/FieldSelect.spec.ts | 7 ++- .../FieldTreeSelect/FieldTreeSelectInput.vue | 2 +- .../FieldTreeSelectInputDropdown.vue | 4 +- .../FieldTreeSelectInputDropdownItem.vue | 2 +- .../__tests__/FieldTreeSelect.spec.ts | 14 ++--- .../NavigationMenu/NavigationMenuFilter.vue | 1 + .../NavigationMenu/NavigationMenuHeader.vue | 2 +- .../LayoutPublicPage/LayoutPublicPage.vue | 2 + .../PersonalSettingAvatarCameraFlyout.vue | 62 ++++++++----------- .../CommonDialogObjectForm.vue | 2 +- .../CommonSectionPopup/CommonSectionPopup.vue | 3 + .../__tests__/CommonSectionPopup.spec.ts | 8 +-- .../components/CommonSelect/CommonSelect.vue | 1 + .../CommonSelect/CommonSelectItem.vue | 2 +- .../FieldAutoCompleteInput.vue | 2 +- .../FieldAutoCompleteInputDialog.vue | 2 +- .../__tests__/FieldAutoComplete.spec.ts | 4 +- .../fields/FieldDate/FieldDateTimeInput.vue | 6 +- .../Form/fields/FieldFile/FieldFileInput.vue | 2 +- .../fields/FieldSelect/FieldSelectInput.vue | 2 +- .../FieldSelect/__tests__/FieldSelect.spec.ts | 28 ++++----- .../Form/fields/FieldTags/FieldTagsInput.vue | 2 +- .../FieldTreeSelect/FieldTreeSelectInput.vue | 2 +- .../FieldTreeSelectInputDialog.vue | 2 +- .../__tests__/FieldTreeSelect.spec.ts | 4 +- .../components/TicketOverviewEditItem.vue | 3 + .../views/NotificationsList.vue | 3 + .../__tests__/previous-searches.spec.ts | 13 ++-- .../pages/search/views/SearchOverview.vue | 11 ++-- .../ticket/__tests__/ticket-create.spec.ts | 4 +- .../__tests__/ticket-detail-view.spec.ts | 4 +- .../ticket-information-update.spec.ts | 4 +- .../TicketDetailView/ArticleBubble.vue | 2 + .../TicketActionChangeCustomerDialog.vue | 2 +- .../TicketActionChangeCustomerDialog.spec.ts | 4 +- .../TicketDetailViewActions.vue | 32 +++++----- .../__tests__/ArticleSecurityBadge.spec.ts | 28 ++++----- .../ArticleWhatsappMediaBadge.spec.ts | 8 +-- .../__tests__/TicketActionsDialog.spec.ts | 8 +-- .../pages/ticket/views/TicketCreate.vue | 2 +- .../TicketInformationDetails.vue | 2 + .../CommonInputSearch/CommonInputSearch.vue | 1 + .../CommonNotifications.vue | 3 + app/frontend/shared/components/Form/Form.vue | 4 +- .../components/Form/__tests__/Form.spec.ts | 4 +- .../FieldEditor/FieldEditorActionBar.vue | 2 + .../fields/FieldEditor/ImageResizable.vue | 34 ++++++---- .../fields/FieldEditor/SuggestionsList.vue | 2 + .../fields/FieldSecurity/FieldSecurity.vue | 2 +- i18n/zammad.pot | 12 ++++ package.json | 1 + yarn.lock | 42 ++++++++++--- 63 files changed, 263 insertions(+), 198 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index c6291e3d9c77..9b349c25042d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -21,6 +21,7 @@ module.exports = { plugins: [ '@typescript-eslint', 'vue', + 'vuejs-accessibility', 'prettier', 'sonarjs', 'security', @@ -29,6 +30,7 @@ module.exports = { extends: [ 'airbnb-base', 'plugin:vue/vue3-recommended', + 'plugin:vuejs-accessibility/recommended', 'plugin:@typescript-eslint/eslint-recommended', 'plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended', diff --git a/app/frontend/apps/desktop/components/CommonInputSearch/CommonInputSearch.vue b/app/frontend/apps/desktop/components/CommonInputSearch/CommonInputSearch.vue index 1c81aeb68137..7437e0028b9f 100644 --- a/app/frontend/apps/desktop/components/CommonInputSearch/CommonInputSearch.vue +++ b/app/frontend/apps/desktop/components/CommonInputSearch/CommonInputSearch.vue @@ -84,6 +84,7 @@ export default { v-model="filter" v-bind="$attrs" :placeholder="i18n.t(placeholder)" + :aria-label="$t('Search…')" class="w-full min-w-16 text-black outline-none dark:text-white" :class="{ 'bg-blue-200 dark:bg-gray-700': !alternativeBackground, diff --git a/app/frontend/apps/desktop/components/CommonProgressBar/CommonProgressBar.vue b/app/frontend/apps/desktop/components/CommonProgressBar/CommonProgressBar.vue index c5c9d22fbff4..0db66d9e1116 100644 --- a/app/frontend/apps/desktop/components/CommonProgressBar/CommonProgressBar.vue +++ b/app/frontend/apps/desktop/components/CommonProgressBar/CommonProgressBar.vue @@ -6,11 +6,17 @@ export interface Props { max?: string } -const props = defineProps() +defineProps()