Skip to content

Commit f0ce4b2

Browse files
authored
Merge pull request #4314 from oscar-escire/new-dspace-7_x
[Port dspace-7_x] Keyboard 'tab' key navigation improved
2 parents 206df77 + 5c446d1 commit f0ce4b2

70 files changed

Lines changed: 155 additions & 120 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/app/breadcrumbs/breadcrumbs.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</nav>
1111

1212
<ng-template #breadcrumb let-text="text" let-url="url">
13-
<li class="breadcrumb-item"><div class="breadcrumb-item-limiter"><a [routerLink]="url" class="text-truncate" [ngbTooltip]="text | translate" placement="bottom" >{{text | translate}}</a></div></li>
13+
<li class="breadcrumb-item"><div class="breadcrumb-item-limiter"><a [routerLink]="url" class="text-truncate" [ngbTooltip]="text | translate" placement="bottom" role="link" tabindex="0">{{text | translate}}</a></div></li>
1414
</ng-template>
1515

1616
<ng-template #activeBreadcrumb let-text="text">

src/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ <h1>{{ ('browse.taxonomy_' + vocabularyName + '.title') | translate }}</h1>
1010
<a class="btn btn-primary"
1111
[routerLink]="['/search']"
1212
[queryParams]="queryParams"
13-
[queryParamsHandling]="'merge'">
13+
[queryParamsHandling]="'merge'"
14+
role="link"
15+
tabindex="0">
1416
{{ 'browse.taxonomy.button' | translate }}</a>
1517
</div>

src/app/community-list-page/community-list/community-list.component.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</span>
1010
<div class="align-middle pt-2">
1111
<button *ngIf="!(dataSource.loading$ | async)" (click)="getNextPage(node)"
12-
class="btn btn-outline-primary btn-sm" role="button">
12+
class="btn btn-outline-primary btn-sm" role="button" tabindex="0">
1313
<i class="fas fa-angle-down"></i> {{ 'communityList.showMore' | translate }}
1414
</button>
1515
<ds-themed-loading *ngIf="node===loadingNode && dataSource.loading$ | async" class="ds-themed-loading"></ds-themed-loading>
@@ -27,7 +27,11 @@
2727
<button *ngIf="hasChild(null, node) | async" type="button" class="btn btn-default" cdkTreeNodeToggle
2828
[attr.aria-label]="(node.isExpanded ? 'communityList.collapse' : 'communityList.expand') | translate:{ name: dsoNameService.getName(node.payload) }"
2929
(click)="toggleExpanded(node)"
30-
data-test="expand-button">
30+
data-test="expand-button"
31+
(keyup.enter)="toggleExpanded(node)"
32+
(keyup.space)="toggleExpanded(node)"
33+
role="button"
34+
tabindex="0">
3135
<span class="{{node.isExpanded ? 'fa fa-chevron-down' : 'fa fa-chevron-right'}}"
3236
aria-hidden="true"></span>
3337
<span class="sr-only">{{ (node.isExpanded ? 'communityList.collapse' : 'communityList.expand') | translate:{ name: dsoNameService.getName(node.payload) } }}</span>
@@ -38,7 +42,7 @@
3842
</span>
3943
<div class="d-flex flex-row">
4044
<span class="align-middle pt-2 lead">
41-
<a [routerLink]="node.route" class="lead">{{ dsoNameService.getName(node.payload) }}</a>
45+
<a [routerLink]="node.route" class="lead" role="link" tabindex="0">{{ dsoNameService.getName(node.payload) }}</a>
4246
<span class="pr-2">&nbsp;</span>
4347
<span *ngIf="node.payload.archivedItemsCount >= 0" class="badge badge-pill badge-secondary align-top archived-items-lead">{{node.payload.archivedItemsCount}}</span>
4448
</span>
@@ -72,7 +76,7 @@
7276
<span class="fa fa-chevron-right"></span>
7377
</span>
7478
<h6 class="align-middle pt-2">
75-
<a [routerLink]="node.route" class="lead">{{ dsoNameService.getName(node.payload) }}</a>
79+
<a [routerLink]="node.route" class="lead" role="link" tabindex="0">{{ dsoNameService.getName(node.payload) }}</a>
7680
</h6>
7781
</div>
7882
<ds-truncatable [id]="node.id">

src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<a *ngIf="linkType != linkTypes.None"
77
[target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
88
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]"
9-
class="card-img-top full-width" [attr.title]="'search.results.view-result' | translate">
9+
class="card-img-top full-width" [attr.title]="'search.results.view-result' | translate" role="link" tabindex="0">
1010
<div>
1111
<ds-themed-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="false">
1212
</ds-themed-thumbnail>
@@ -37,7 +37,7 @@ <h4 class="card-title" [innerHTML]="dsoTitle"></h4>
3737
<div *ngIf="linkType != linkTypes.None" class="text-center">
3838
<a [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
3939
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]"
40-
class="lead btn btn-primary viewButton">{{ 'search.results.view-result' | translate}}</a>
40+
class="lead btn btn-primary viewButton" role="link" tabindex="0">{{ 'search.results.view-result' | translate}}</a>
4141
</div>
4242
</div>
4343
</ds-truncatable>

src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<a *ngIf="linkType != linkTypes.None"
77
[target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
88
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]"
9-
class="card-img-top full-width" [attr.title]="'search.results.view-result' | translate">
9+
class="card-img-top full-width" [attr.title]="'search.results.view-result' | translate" role="link" tabindex="0">
1010
<div>
1111
<ds-themed-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="false">
1212
</ds-themed-thumbnail>
@@ -37,7 +37,7 @@ <h4 class="card-title" [innerHTML]="dsoTitle"></h4>
3737
<div *ngIf="linkType != linkTypes.None" class="text-center">
3838
<a [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
3939
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]"
40-
class="lead btn btn-primary viewButton">{{ 'search.results.view-result' | translate}}</a>
40+
class="lead btn btn-primary viewButton" role="link" tabindex="0">{{ 'search.results.view-result' | translate}}</a>
4141
</div>
4242
</div>
4343
</ds-truncatable>

src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<a *ngIf="linkType != linkTypes.None"
77
[target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
88
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]"
9-
class="card-img-top full-width" [attr.title]="'search.results.view-result' | translate">
9+
class="card-img-top full-width" [attr.title]="'search.results.view-result' | translate" role="link" tabindex="0">
1010
<div>
1111
<ds-themed-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="false">
1212
</ds-themed-thumbnail>
@@ -41,7 +41,7 @@ <h4 class="card-title" [innerHTML]="dsoTitle"></h4>
4141
<div *ngIf="linkType != linkTypes.None" class="text-center">
4242
<a [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
4343
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]"
44-
class="lead btn btn-primary viewButton">{{ 'search.results.view-result' | translate}}</a>
44+
class="lead btn btn-primary viewButton" role="link" tabindex="0">{{ 'search.results.view-result' | translate}}</a>
4545
</div>
4646
</div>
4747
</ds-truncatable>

src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div *ngIf="showThumbnails" class="col-3 col-md-2">
33
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
44
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null"
5-
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out">
5+
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out" role="link" tabindex="0">
66
<ds-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="true">
77
</ds-thumbnail>
88
</a>
@@ -17,7 +17,7 @@
1717
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
1818
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null"
1919
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out"
20-
[innerHTML]="dsoTitle"></a>
20+
[innerHTML]="dsoTitle" role="link" tabindex="0"></a>
2121
<span *ngIf="linkType == linkTypes.None"
2222
class="lead item-list-title dont-break-out"
2323
[innerHTML]="dsoTitle"></span>

src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div *ngIf="showThumbnails" class="col-3 col-md-2">
33
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
44
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null"
5-
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out">
5+
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out" role="link" tabindex="0">
66
<ds-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="true">
77
</ds-thumbnail>
88
</a>
@@ -17,7 +17,7 @@
1717
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'"
1818
[attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null"
1919
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out"
20-
[innerHTML]="dsoTitle"></a>
20+
[innerHTML]="dsoTitle" role="link" tabindex="0"></a>
2121
<span *ngIf="linkType == linkTypes.None"
2222
class="lead item-list-title dont-break-out"
2323
[innerHTML]="dsoTitle"></span>

src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div class="row">
22
<div *ngIf="showThumbnails" class="col-3 col-md-2">
33
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" [attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null"
4-
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out">
4+
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out" role="link" tabindex="0">
55
<ds-thumbnail [thumbnail]="dso?.thumbnail | async" [limitWidth]="true">
66
</ds-thumbnail>
77
</a>
@@ -15,7 +15,7 @@
1515
<ds-truncatable [id]="dso.id">
1616
<a *ngIf="linkType != linkTypes.None" [target]="(linkType == linkTypes.ExternalLink) ? '_blank' : '_self'" [attr.rel]="(linkType == linkTypes.ExternalLink) ? 'noopener noreferrer' : null"
1717
[routerLink]="[itemPageRoute]" class="lead item-list-title dont-break-out"
18-
[innerHTML]="dsoTitle"></a>
18+
[innerHTML]="dsoTitle" role="link" tabindex="0"></a>
1919
<span *ngIf="linkType == linkTypes.None"
2020
class="lead item-list-title dont-break-out"
2121
[innerHTML]="dsoTitle"></span>

src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
[label]="'journalissue.page.keyword'">
5252
</ds-generic-item-page-field>
5353
<div>
54-
<a class="btn btn-outline-primary" [routerLink]="[itemPageRoute + '/full']">
54+
<a class="btn btn-outline-primary" [routerLink]="[itemPageRoute + '/full']" role="button" tabindex="0">
5555
{{"item.page.link.full" | translate}}
5656
</a>
5757
</div>

0 commit comments

Comments
 (0)