diff --git a/packages/web-app-files/src/mixins/accessibleBreadcrumb.js b/packages/web-app-files/src/mixins/accessibleBreadcrumb.js index 09e258db27d..8fdf388aa22 100644 --- a/packages/web-app-files/src/mixins/accessibleBreadcrumb.js +++ b/packages/web-app-files/src/mixins/accessibleBreadcrumb.js @@ -6,7 +6,7 @@ export default { ...mapGetters('Files', ['activeFilesCount']) }, methods: { - accessibleBreadcrumb_focusAndAnnounceBreadcrumb() { + accessibleBreadcrumb_focusAndAnnounceBreadcrumb(setFocus) { const activeBreadcrumb = last( document.getElementById('files-breadcrumb').children[0].children ) @@ -29,7 +29,9 @@ export default { invisibleHint.innerHTML = translatedHint activeBreadcrumb.append(invisibleHint) - activeBreadcrumbItem.focus() + if (setFocus === true) { + activeBreadcrumbItem.focus() + } } } } diff --git a/packages/web-app-files/src/views/Personal.vue b/packages/web-app-files/src/views/Personal.vue index 5eb574bea07..bf751567938 100644 --- a/packages/web-app-files/src/views/Personal.vue +++ b/packages/web-app-files/src/views/Personal.vue @@ -143,9 +143,10 @@ export default { watch: { $route: { - handler: function() { + handler: function(to, from) { + const breadCrumbFocus = (to.name === from?.name) this.checkHomeFallback() - this.loadResources() + this.loadResources(breadCrumbFocus) }, immediate: true }, @@ -184,7 +185,7 @@ export default { } }, - async loadResources() { + async loadResources(focusable) { this.loading = true this.CLEAR_CURRENT_FILES_LIST() @@ -219,7 +220,7 @@ export default { this.adjustTableHeaderPosition() this.loading = false - this.accessibleBreadcrumb_focusAndAnnounceBreadcrumb() + this.accessibleBreadcrumb_focusAndAnnounceBreadcrumb(focusable) this.scrollToResourceFromRoute() }, diff --git a/packages/web-app-files/src/views/PublicFiles.vue b/packages/web-app-files/src/views/PublicFiles.vue index 78f9e3e42c8..639d9be6dc7 100644 --- a/packages/web-app-files/src/views/PublicFiles.vue +++ b/packages/web-app-files/src/views/PublicFiles.vue @@ -131,7 +131,11 @@ export default { watch: { $route: { - handler: 'loadResources', + handler: function(to, from) { + const setFocusOnBreadcrumb = (to.name === from?.name) + this.checkHomeFallback() + this.loadResources(setFocusOnBreadcrumb) + }, immediate: true }, @@ -149,7 +153,7 @@ export default { 'CLEAR_CURRENT_FILES_LIST' ]), - async loadResources() { + async loadResources(setFocus) { this.loading = true this.CLEAR_CURRENT_FILES_LIST() @@ -204,7 +208,7 @@ export default { } this.loading = false - this.accessibleBreadcrumb_focusAndAnnounceBreadcrumb() + this.accessibleBreadcrumb_focusAndAnnounceBreadcrumb(setFocus) }, redirectToResolvePage() {