Skip to content

Commit 787feae

Browse files
authored
Merge pull request DSpace#2626 from tdonohue/port_2607_to_dspace-7_x
[Port dspace-7_x] Added skip to main content button
2 parents d166b5e + e545c42 commit 787feae

6 files changed

Lines changed: 33 additions & 3 deletions

File tree

src/app/info/feedback/feedback-form/feedback-form.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div class="row row-offcanvas row-offcanvas-right">
2-
<div class="col-xs-12 col-sm-12 col-md-9 main-content">
2+
<div class="col-xs-12 col-sm-12 col-md-9">
33
<form class="primary" [formGroup]="feedbackForm" (ngSubmit)="createFeedback()">
44
<h2>{{ 'info.feedback.head' | translate }}</h2>
55
<p>{{ 'info.feedback.info' | translate }}</p>

src/app/root/root.component.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<button (click)="skipToMainContent()" class="btn btn-primary" id="skip-to-main-content">
2+
{{ 'root.skip-to-content' | translate }}
3+
</button>
4+
15
<div class="outer-wrapper" [class.d-none]="shouldShowFullscreenLoader" [@slideSidebarPadding]="{
26
value: (!(sidebarVisible | async) ? 'hidden' : (slideSidebarOver | async) ? 'shown' : 'expanded'),
37
params: {collapsedSidebarWidth: (collapsedSidebarWidth | async), totalSidebarWidth: (totalSidebarWidth | async)}
@@ -7,7 +11,7 @@
711
<ds-system-wide-alert-banner></ds-system-wide-alert-banner>
812
<ds-themed-header-navbar-wrapper></ds-themed-header-navbar-wrapper>
913
<ds-themed-breadcrumbs></ds-themed-breadcrumbs>
10-
<main class="main-content my-cs">
14+
<main class="my-cs" id="main-content">
1115

1216
<div class="container d-flex justify-content-center align-items-center h-100" *ngIf="shouldShowRouteLoader">
1317
<ds-themed-loading [showMessage]="false"></ds-themed-loading>

src/app/root/root.component.scss

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#skip-to-main-content {
2+
position: absolute;
3+
top: -40px;
4+
left: 0;
5+
opacity: 0;
6+
transition: opacity 0.3s;
7+
z-index: calc(var(--ds-nav-z-index) + 1);
8+
border-top-left-radius: 0;
9+
border-top-right-radius: 0;
10+
border-bottom-left-radius: 0;
11+
12+
&:focus {
13+
opacity: 1;
14+
top: 0;
15+
}
16+
}

src/app/root/root.component.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,12 @@ export class RootComponent implements OnInit {
7878
this.shouldShowRouteLoader = false;
7979
}
8080
}
81+
82+
skipToMainContent() {
83+
const mainContent = document.getElementById('main-content');
84+
if (mainContent) {
85+
mainContent.tabIndex = -1;
86+
mainContent.focus();
87+
}
88+
}
8189
}

src/assets/i18n/en.json5

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3624,6 +3624,8 @@
36243624

36253625
"resource-policies.table.headers.title.for.collection": "Policies for Collection",
36263626

3627+
"root.skip-to-content": "Skip to main content",
3628+
36273629
"search.description": "",
36283630

36293631
"search.switch-configuration.title": "Show",

src/styles/_global-styles.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ body {
2323
position: relative;
2424
}
2525

26-
.main-content {
26+
#main-content {
2727
z-index: var(--ds-main-z-index);
2828
flex: 1 1 100%;
2929
}

0 commit comments

Comments
 (0)