Skip to content

Commit 8ff943b

Browse files
129964: Made DSO badges more screen-reader friendly
- Added commas between the labels to prevent screen readers from reading it as a sentence - Added hidden text describing what the badges represent
1 parent 545b2ff commit 8ff943b

File tree

6 files changed

+27
-5
lines changed

6 files changed

+27
-5
lines changed
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
<ng-container *ngIf="showAccessStatus">
22
<span *ngIf="accessStatus$ | async as accessStatus">
3-
<span class="badge badge-secondary">{{ accessStatus | translate }}</span>
3+
<span class="badge badge-secondary">
4+
<span class="sr-only">{{ 'listelement.badge.access-status' | translate }}</span>
5+
{{ accessStatus | translate }}
6+
<span class="sr-only">, </span>
7+
</span>
48
</span>
59
</ng-container>

src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ describe('ItemAccessStatusBadgeComponent', () => {
7777

7878
function lookForAccessStatusBadge(status: string) {
7979
const badge = fixture.debugElement.query(By.css('span.badge'));
80-
expect(badge.nativeElement.textContent).toEqual(`access-status.${status.toLowerCase()}.listelement.badge`);
80+
expect(badge.nativeElement.textContent).toContain(`access-status.${status.toLowerCase()}.listelement.badge`);
8181
}
8282

8383
describe('init', () => {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<div>
22
<span [className]="badgeClass">
3+
<span class="sr-only">{{ 'mydspace.status' | translate }}</span>
34
{{('mydspace.status.' + badgeContent) | translate}}
5+
<span class="sr-only">, </span>
46
</span>
57
</div>
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
<div *ngIf="privateBadge" class="private-badge">
2-
<span class="badge badge-danger">{{ "item.badge.private" | translate }}</span>
2+
<span class="sr-only">{{ 'item.badge.status' | translate }}</span>
3+
<span class="badge badge-danger">{{ "item.badge.private" | translate }}</span>
4+
<span class="sr-only">, </span>
35
</div>
46
<div *ngIf="withdrawnBadge" class="withdrawn-badge">
5-
<span class="badge badge-warning">{{ "item.badge.withdrawn" | translate }}</span>
7+
<span class="sr-only">{{ 'item.badge.status' | translate }}</span>
8+
<span class="badge badge-warning">{{ "item.badge.withdrawn" | translate }}</span>
9+
<span class="sr-only">, </span>
610
</div>
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
<span *ngIf="typeMessage">
2-
<span class="badge badge-info">{{ typeMessage | translate }}</span>
2+
<span class="badge badge-info">
3+
<span class="sr-only">{{ 'listelement.badge.dso-type' | translate}}</span>
4+
{{ typeMessage | translate }}
5+
<span class="sr-only">, </span>
6+
</span>
37
</span>

src/assets/i18n/en.json5

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434

3535
"error-page.orcid.generic-error": "An error occurred during login via ORCID. Make sure you have shared your ORCID account email address with DSpace. If the error persists, contact the administrator",
3636

37+
"listelement.badge.access-status": "Access status:",
38+
3739
"access-status.embargo.listelement.badge": "Embargo",
3840

3941
"access-status.metadata.only.listelement.badge": "Metadata only",
@@ -1898,6 +1900,8 @@
18981900

18991901
"item.edit.authorizations.title": "Edit item's Policies",
19001902

1903+
"item.badge.status": "Item status:",
1904+
19011905
"item.badge.private": "Non-discoverable",
19021906

19031907
"item.badge.withdrawn": "Withdrawn",
@@ -3012,6 +3016,8 @@
30123016

30133017
"mydspace.show.supervisedWorkspace": "Supervised items",
30143018

3019+
"mydspace.status": "My DSpace status:",
3020+
30153021
"mydspace.status.mydspaceArchived": "Archived",
30163022

30173023
"mydspace.status.mydspaceValidation": "Validation",
@@ -3068,6 +3074,8 @@
30683074

30693075
"nav.user.description": "User profile bar",
30703076

3077+
"listelement.badge.dso-type": "Item type:",
3078+
30713079
"none.listelement.badge": "Item",
30723080

30733081
"orgunit.listelement.badge": "Organizational Unit",

0 commit comments

Comments
 (0)