From 3057a3cb7774089c3b604f7b1a34927e217840d2 Mon Sep 17 00:00:00 2001 From: Thomas Hackl <hackl@data-quest.de> Date: Fri, 19 Apr 2024 07:42:14 +0000 Subject: [PATCH] Resolve "Mangelnde Tastatur-Bedienbarkeit im Veranstaltungsverzeichnis" Closes #4031 Merge request studip/studip!2886 --- resources/vue/components/tree/StudipTreeList.vue | 6 +++--- resources/vue/components/tree/StudipTreeTable.vue | 4 ++-- resources/vue/components/tree/TreeCourseDetails.vue | 8 +++++--- resources/vue/components/tree/TreeNodeCoursePath.vue | 8 +++++++- resources/vue/components/tree/TreeSearchResult.vue | 5 +++-- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/resources/vue/components/tree/StudipTreeList.vue b/resources/vue/components/tree/StudipTreeList.vue index 4ba08bcbb81..2ab489c62a4 100644 --- a/resources/vue/components/tree/StudipTreeList.vue +++ b/resources/vue/components/tree/StudipTreeList.vue @@ -91,9 +91,9 @@ <tbody> <tr v-for="(course) in courses" :key="course.id" class="studip-tree-child studip-tree-course"> <td> - <a :href="courseUrl(course.id)" - :title="$gettextInterpolate($gettext('Zur Veranstaltung %{ course }'), - { course: course.attributes.title })"> + <a :href="courseUrl(course.id)" tabindex="0" + :title="$gettextInterpolate($gettext('Zur Veranstaltung %{ title }'), + { title: course.attributes.title })"> <studip-icon shape="seminar" :size="26"></studip-icon> <template v-if="course.attributes['course-number']"> {{ course.attributes['course-number'] }} diff --git a/resources/vue/components/tree/StudipTreeTable.vue b/resources/vue/components/tree/StudipTreeTable.vue index 03a9d7b60e9..4cfa7d59fd8 100644 --- a/resources/vue/components/tree/StudipTreeTable.vue +++ b/resources/vue/components/tree/StudipTreeTable.vue @@ -112,8 +112,8 @@ </td> <td> <a :href="courseUrl(course.id)" tabindex="0" - :title="$gettextInterpolate($gettext('Zur Veranstaltung %{ course }'), - { course: course.attributes.title })"> + :title="$gettextInterpolate($gettext('Zur Veranstaltung %{ title }'), + { title: course.attributes.title })"> <template v-if="course.attributes['course-number']"> {{ course.attributes['course-number'] }} </template> diff --git a/resources/vue/components/tree/TreeCourseDetails.vue b/resources/vue/components/tree/TreeCourseDetails.vue index 609349d86fe..6f3e056cdb1 100644 --- a/resources/vue/components/tree/TreeCourseDetails.vue +++ b/resources/vue/components/tree/TreeCourseDetails.vue @@ -4,14 +4,16 @@ ({{ details.semester }}) </div> <div class="admission-state" v-if="details.admissionstate"> - <studip-icon :shape="details.admissionstate.icon" :role="details.admissionstate.role" - :title="details.admissionstate.info"></studip-icon> + <studip-icon :shape="details.admissionstate.icon" + :role="details.admissionstate.role" + :alt="details.admissionstate.info"></studip-icon> </div> <div class="course-lecturers"> <span v-for="(lecturer, index) in details.lecturers" :key="index"> <a :href="profileUrl(lecturer.username)" :title="$gettextInterpolate($gettext('Zum Profil von %{ user }'), - { user: lecturer.name })"> + { user: lecturer.name })" + tabindex="0"> {{ lecturer.name }} </a><template v-if="details.lecturers.length > 1 && index < details.lecturers.length - 1">, </template> </span> diff --git a/resources/vue/components/tree/TreeNodeCoursePath.vue b/resources/vue/components/tree/TreeNodeCoursePath.vue index 26ab88eb4d4..71f69eab0b7 100644 --- a/resources/vue/components/tree/TreeNodeCoursePath.vue +++ b/resources/vue/components/tree/TreeNodeCoursePath.vue @@ -1,6 +1,12 @@ <template> <div> - <studip-icon shape="info-circle" @click="togglePathInfo"></studip-icon> + <button type="button" + @click.prevent="togglePathInfo" + :title="showPaths + ? $gettext('Pfad im Verzeichnis ausblenden') + : $gettext('Pfad im Verzeichnis anzeigen')"> + <studip-icon shape="info-circle"></studip-icon> + </button> <ul v-if="showPaths" class="studip-tree-course-path"> <li v-for="(path, pindex) in paths" :key="pindex"> <button @click.prevent="openNode(path[path.length - 1].id)"> diff --git a/resources/vue/components/tree/TreeSearchResult.vue b/resources/vue/components/tree/TreeSearchResult.vue index e5093eb1bcf..1943dd355fe 100644 --- a/resources/vue/components/tree/TreeSearchResult.vue +++ b/resources/vue/components/tree/TreeSearchResult.vue @@ -31,13 +31,14 @@ </td> <td> <a :href="courseUrl(course.id)" - :title="$gettextInterpolate($gettext('Zur Veranstaltung %{name}'), {name: + course.attributes.title})"> + :title="$gettextInterpolate($gettext('Zur Veranstaltung %{title}'), {title: course.attributes.title})" + tabindex="0"> <template v-if="course.attributes['course-number']"> {{ course.attributes['course-number'] }} </template> {{ course.attributes.title }} - <div :id="'course-dates-' + course.id" class="course-dates"></div> </a> + <div :id="'course-dates-' + course.id" class="course-dates"></div> <tree-node-course-path :node-class="searchConfig.classname" :course-id="course.id"></tree-node-course-path> </td> -- GitLab