From 3e885087795dcec19f0685b30a2cc9beccff1f88 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms Date: Wed, 29 May 2024 13:03:36 +0000 Subject: fixes #4227 Closes #4227 Merge request studip/studip!3058 --- resources/assets/stylesheets/scss/tables.scss | 8 +-- resources/vue/components/FilesTable.vue | 79 ++++++++------------------- 2 files changed, 25 insertions(+), 62 deletions(-) diff --git a/resources/assets/stylesheets/scss/tables.scss b/resources/assets/stylesheets/scss/tables.scss index 058569f..9e05f01 100644 --- a/resources/assets/stylesheets/scss/tables.scss +++ b/resources/assets/stylesheets/scss/tables.scss @@ -271,15 +271,11 @@ tr.sortable { } th.sortasc { - span[role=img] { - @include icon('after', 'arr_1up', 'clickable'); - } + @include icon('after', 'arr_1up', 'clickable'); } th.sortdesc { - span[role=img] { - @include icon('after', 'arr_1down', 'clickable'); - } + @include icon('after', 'arr_1down', 'clickable'); } } diff --git a/resources/vue/components/FilesTable.vue b/resources/vue/components/FilesTable.vue index 2a0a15a..0c9dbda 100644 --- a/resources/vue/components/FilesTable.vue +++ b/resources/vue/components/FilesTable.vue @@ -54,109 +54,73 @@ + :aria-label="getAriaSortLabel('mime_type', $gettext('Typ'))" + > {{ $gettext('Typ') }} - - + :aria-label="getAriaSortLabel('name', $gettext('Name'))" + > {{ $gettext('Name') }} - - + :aria-label="getAriaSortLabel('size', $gettext('Größe'))" + > {{ $gettext('Größe') }} - - + :aria-label="getAriaSortLabel('downloads', $gettext('Downloads'))" + > {{ $gettext('Downloads') }} - - + :aria-label="getAriaSortLabel('author_name', $gettext('Autor/-in'))" + > {{ $gettext('Autor/-in') }} - - + :aria-label="getAriaSortLabel('chdate', $gettext('Datum'))" + > {{ $gettext('Datum') }} - - + :aria-label="getAriaSortLabel(name, name)" + > {{name}} - - {{ $gettext('Aktionen') }} @@ -514,6 +472,15 @@ export default { return column === this.sortedBy ? (this.sortDirection === 'asc' ? 'ascending' : 'descending') : null; + }, + getAriaSortLabel(column, label) { + if (column !== this.sortedBy) { + return null; + } + const template = this.sortDirection === 'asc' + ? this.$gettext('Es wird aufsteigend nach der Spalte %{ label } sortiert.') + : this.$gettext('Es wird absteigend nach der Spalte %{ label } sortiert.'); + return this.$gettextInterpolate(template, { label }); } }, computed: { -- cgit v1.0