diff --git a/Build/Sources/TypeScript/workspaces/renderable/record-table.ts b/Build/Sources/TypeScript/workspaces/renderable/record-table.ts index c0ef023b000dc795482a63521eb2e06ee1b6c32f..7d48887658f0e52e2541f34c0050cb1c7430c7b4 100644 --- a/Build/Sources/TypeScript/workspaces/renderable/record-table.ts +++ b/Build/Sources/TypeScript/workspaces/renderable/record-table.ts @@ -89,7 +89,7 @@ export class RecordTableElement extends LitElement { <tr> <th> <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="${TYPO3.lang['labels.openSelectionOptions']}"> <typo3-backend-icon identifier="actions-selection" size="small"></typo3-backend-icon> </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> diff --git a/typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php b/typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php index e11c45bed0520f03ed0b558d9595ee8ad6a6de8f..697524f1087f1de97c5fda3dfe916c4fa8dc7ef8 100644 --- a/typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php +++ b/typo3/sysext/backend/Classes/Form/Element/SelectCheckBoxElement.php @@ -306,45 +306,46 @@ class SelectCheckBoxElement extends AbstractFormElement protected function getRecordSelectionCheckActions(): string { + $lang = $this->getLanguageService(); return ' <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')) . '"> <core:icon identifier="actions-selection" size="small" /> ' . $this->iconFactory->getIcon('actions-selection', IconSize::SMALL)->render() . ' </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> <li> - <button type="button" class="dropdown-item disabled" data-multi-record-selection-check-action="check-all" title="' . $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.checkAll') . '"> + <button type="button" class="dropdown-item disabled" data-multi-record-selection-check-action="check-all" title="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.checkAll')) . '"> <span class="dropdown-item-columns"> <span class="dropdown-item-column dropdown-item-column-icon" aria-hidden="true"> ' . $this->iconFactory->getIcon('actions-selection-elements-all', IconSize::SMALL)->render() . ' </span> <span class="dropdown-item-column dropdown-item-column-title"> - ' . $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.checkAll') . ' + ' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.checkAll')) . ' </span> </span> </button> </li> <li> - <button type="button" class="dropdown-item disabled" data-multi-record-selection-check-action="check-none" title="' . $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.uncheckAll') . '"> + <button type="button" class="dropdown-item disabled" data-multi-record-selection-check-action="check-none" title="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.uncheckAll')) . '"> <span class="dropdown-item-columns"> <span class="dropdown-item-column dropdown-item-column-icon" aria-hidden="true"> ' . $this->iconFactory->getIcon('actions-selection-elements-none', IconSize::SMALL)->render() . ' </span> <span class="dropdown-item-column dropdown-item-column-title"> - ' . $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.uncheckAll') . ' + ' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.uncheckAll')) . ' </span> </span> </button> </li> <li> - <button type="button" class="dropdown-item" data-multi-record-selection-check-action="toggle" title="' . $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.toggleSelection') . '"> + <button type="button" class="dropdown-item" data-multi-record-selection-check-action="toggle" title="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.toggleSelection')) . '"> <span class="dropdown-item-columns"> <span class="dropdown-item-column dropdown-item-column-icon" aria-hidden="true"> ' . $this->iconFactory->getIcon('actions-selection-elements-invert', IconSize::SMALL)->render() . ' </span> <span class="dropdown-item-column dropdown-item-column-title"> - ' . $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.toggleSelection') . ' + ' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.toggleSelection')) . ' </span> </span> </button> diff --git a/typo3/sysext/backend/Classes/RecordList/DatabaseRecordList.php b/typo3/sysext/backend/Classes/RecordList/DatabaseRecordList.php index f3e611fac20d8f5a66b01463f8fa8369fd450cc9..270b7fa16d2be4f875102e6cd8724d17a4f33527 100644 --- a/typo3/sysext/backend/Classes/RecordList/DatabaseRecordList.php +++ b/typo3/sysext/backend/Classes/RecordList/DatabaseRecordList.php @@ -3140,7 +3140,7 @@ class DatabaseRecordList return ' <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')) . '"> ' . $this->iconFactory->getIcon('actions-selection', IconSize::SMALL) . ' </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> diff --git a/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf b/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf index b81f9d16930ca9aa0f3573c935b0eabed37c3cf6..366bad678e081c70d2634840026f06869f70235a 100644 --- a/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf +++ b/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf @@ -451,6 +451,9 @@ Do you want to continue WITHOUT saving?</source> <trans-unit id="labels.setAllCheckboxes" resname="labels.setAllCheckboxes"> <source>Select All Checkboxes</source> </trans-unit> + <trans-unit id="labels.openSelectionOptions" resname="labels.openSelectionOptions"> + <source>Open selection options</source> + </trans-unit> <trans-unit id="labels.checkAll" resname="labels.checkAll"> <source>Check all</source> </trans-unit> diff --git a/typo3/sysext/filelist/Classes/FileList.php b/typo3/sysext/filelist/Classes/FileList.php index 64ffde9abb5ea0b087a217b19476719d4df6be2d..f14c045a595036f46b4e378125eb3921514d7ec3 100644 --- a/typo3/sysext/filelist/Classes/FileList.php +++ b/typo3/sysext/filelist/Classes/FileList.php @@ -1420,7 +1420,7 @@ class FileList return ' <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="' . htmlspecialchars($lang->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')) . '"> ' . $this->iconFactory->getIcon('actions-selection', IconSize::SMALL) . ' </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> diff --git a/typo3/sysext/reactions/Resources/Private/Templates/Management/Overview.html b/typo3/sysext/reactions/Resources/Private/Templates/Management/Overview.html index 8ee9ad29d5615b47533dc7f01ad361c056e0a322..39911427af10520bf9fd9e01c117863ccc6c3bb9 100644 --- a/typo3/sysext/reactions/Resources/Private/Templates/Management/Overview.html +++ b/typo3/sysext/reactions/Resources/Private/Templates/Management/Overview.html @@ -66,7 +66,7 @@ <tr> <th class="col-checkbox"> <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')}"> <core:icon identifier="actions-selection" size="small" /> </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> diff --git a/typo3/sysext/recycler/Resources/Private/Templates/RecyclerModule.html b/typo3/sysext/recycler/Resources/Private/Templates/RecyclerModule.html index 830195a2b48cbc2469778e4f251fc0b6dfdeaf85..cfa73a7c8468d175901eeef5d63a18864cef38d2 100644 --- a/typo3/sysext/recycler/Resources/Private/Templates/RecyclerModule.html +++ b/typo3/sysext/recycler/Resources/Private/Templates/RecyclerModule.html @@ -68,7 +68,7 @@ <f:section name="multiRecordSelectionCheckboxActions"> <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')}"> <core:icon identifier="actions-selection" size="small" /> <span class="visually-hidden"><f:translate id="LLL:EXT:recycler/Resources/Private/Language/locallang.xlf:button.dropdown.multiselect"/></span> </button> diff --git a/typo3/sysext/redirects/Resources/Private/Templates/Management/Overview.html b/typo3/sysext/redirects/Resources/Private/Templates/Management/Overview.html index 477e3f1bfdc3d85a298a1c3d3831c35f27bd9e90..e9925adff9ee560a91a2562c5569abee68fbaab0 100644 --- a/typo3/sysext/redirects/Resources/Private/Templates/Management/Overview.html +++ b/typo3/sysext/redirects/Resources/Private/Templates/Management/Overview.html @@ -70,7 +70,7 @@ <tr> <th> <div class="btn-group dropdown"> - <a href="javascript:;" class="dropdown-toggle t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <a href="javascript:;" class="dropdown-toggle t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')}"> <core:icon identifier="actions-selection" size="small" /> </a> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> diff --git a/typo3/sysext/scheduler/Resources/Private/Partials/TaskList.html b/typo3/sysext/scheduler/Resources/Private/Partials/TaskList.html index b169279256a79fc4feca77469d266f3ab7cd51d4..7c0d98d362ec212f6c8d0799ae76042440e6fa7f 100644 --- a/typo3/sysext/scheduler/Resources/Private/Partials/TaskList.html +++ b/typo3/sysext/scheduler/Resources/Private/Partials/TaskList.html @@ -203,6 +203,7 @@ data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" + aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')}" > <core:icon identifier="actions-selection" size="small" /> </button> diff --git a/typo3/sysext/webhooks/Resources/Private/Templates/Management/Overview.html b/typo3/sysext/webhooks/Resources/Private/Templates/Management/Overview.html index a66f2e716abecf980fb3a9464590073dcbefc1ce..62bda2ad75a1d7353d32d2d46f83d911f7d907b5 100644 --- a/typo3/sysext/webhooks/Resources/Private/Templates/Management/Overview.html +++ b/typo3/sysext/webhooks/Resources/Private/Templates/Management/Overview.html @@ -237,7 +237,7 @@ <f:section name="multiRecordSelectionCheckboxActions"> <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.openSelectionOptions')}"> <core:icon identifier="actions-selection" size="small" /> </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions"> diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js index 6b207d8be312931c87375fe586c5664b93e44365..f68e6f498a1ac3e38198b0a0c59215e7ff01a2fd 100644 --- a/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js +++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js @@ -17,7 +17,7 @@ var __decorate=function(e,t,n,a){var o,l=arguments.length,i=l<3?t:null===a?a=Obj <tr> <th> <div class="btn-group dropdown"> - <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false"> + <button type="button" class="dropdown-toggle dropdown-toggle-link t3js-multi-record-selection-check-actions-toggle" data-bs-toggle="dropdown" data-bs-boundary="window" aria-expanded="false" aria-label="${TYPO3.lang["labels.openSelectionOptions"]}"> <typo3-backend-icon identifier="actions-selection" size="small"></typo3-backend-icon> </button> <ul class="dropdown-menu t3js-multi-record-selection-check-actions">