Skip to content

Commit 8cc12f4

Browse files
Merge pull request #93 from gooddata/fix/mobile-side-menu
fix: enhance accessibility by adding tabindex attributes to navigatio…
2 parents 5a6dde0 + 824cf2a commit 8cc12f4

5 files changed

Lines changed: 31 additions & 24 deletions

File tree

assets/scss/skip-links.scss

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
// Skip links for accessibility
22
.skip-links {
3-
position: absolute;
3+
position: fixed;
44
top: 0;
55
left: 0;
6-
z-index: 1050; // Higher than other elements
6+
width: 100%;
7+
z-index: 9999;
8+
pointer-events: none;
9+
10+
a {
11+
pointer-events: auto;
12+
}
713
}
814

915
.sidebar-skip-links {
@@ -14,8 +20,7 @@
1420

1521
.skip-link {
1622
position: absolute;
17-
left: -10000px;
18-
top: auto;
23+
left: -9999px;
1924
width: 1px;
2025
height: 1px;
2126
overflow: hidden;
@@ -26,22 +31,26 @@
2631
text-decoration: none;
2732
border: 2px solid #000;
2833
border-radius: 4px;
29-
z-index: 1050;
30-
31-
&:focus {
32-
position: static;
34+
white-space: nowrap;
35+
36+
&:focus,
37+
&:active {
38+
position: fixed;
39+
top: 10px;
40+
left: 10px;
3341
width: auto;
3442
height: auto;
3543
overflow: visible;
36-
margin: 10px;
37-
outline: 3px solid #2563eb; // Focus indicator
44+
clip: auto;
45+
outline: 3px solid #2563eb;
3846
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.5);
47+
z-index: 9999;
3948
}
40-
49+
4150
// Variants
4251
&--sidebar {
4352
margin-bottom: 5px;
44-
53+
4554
&:focus {
4655
position: static;
4756
width: 100%;
@@ -51,7 +60,7 @@
5160
text-align: center;
5261
}
5362
}
54-
63+
5564
&--footer {
5665
&:focus {
5766
position: static;
@@ -63,4 +72,4 @@
6372
text-align: center;
6473
}
6574
}
66-
}
75+
}

layouts/partials/header-menu.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<nav class="gd-docs-header-nav__center gd-header" aria-label="Main">
1212
{{ if $mainMenu }}
1313
<input type="checkbox" hidden tabindex="-1" id="gd-header-mobile-menu-trigger-input" name="gd-header-mobile-menu-trigger-input" class="gd-header-mobile gd-header-mobile-menu-trigger-input" aria-label="Open navigation menu" aria-controls="gd-header-mobile-menu" aria-expanded="false">
14-
<button id="gd-header-mobile-menu-button" type="button" class="gd-header-mobile gd-header-mobile-menu-trigger" aria-controls="gd-header-mobile-menu" aria-expanded="false" aria-label="Open navigation menu">
14+
<button id="gd-header-mobile-menu-button" tabindex="5" type="button" class="gd-header-mobile gd-header-mobile-menu-trigger" aria-controls="gd-header-mobile-menu" aria-expanded="false" aria-label="Open navigation menu">
1515
<span aria-hidden="true"></span>
1616
</button>
1717
<ul id="gd-header-mobile-menu" class="gd-docs-header-nav__menu gd-header-links">

layouts/partials/navbar.html

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{{ if not $whitelabeled }}
88
<div class="gd-docs-header-nav gd-docs-header-nav__first">
99
<nav class="gd-docs-header-nav__left" aria-label="Homepage">
10-
<a class="gd-docs-header-nav__logo gd-header-nav__logo" href="{{ .Site.Home.RelPermalink }}" aria-label="Go to documentation homepage">
10+
<a tabindex="1" class="gd-docs-header-nav__logo gd-header-nav__logo" href="{{ .Site.Home.RelPermalink }}" aria-label="Go to documentation homepage">
1111
{{ with resources.Get "icons/GoodDataLearn.svg" }}{{ ( . | minify).Content | safeHTML }}{{ end }}
1212
</a>
1313
<span class="gd-header-nav__logo-text">Learn</span>
@@ -21,9 +21,7 @@
2121
</div>
2222
{{ if not .Params.no_search }}
2323
<div class="gd-docs-header-nav__center">
24-
{{ if eq .Page.Type "docs" }}
25-
<div id="adds-container" class="gd-docs-header-nav__search"></div>
26-
{{ end }}
24+
<div id="adds-container" class="gd-docs-header-nav__search"></div>
2725
</div>
2826
{{ end }}
2927
{{ if .Site.Params.versions }}

layouts/partials/sidebar.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{{/* (C) 2023 GoodData Corporation */}}
2-
<button type="button" id="gd-docs-menu__mobile-trigger" class="gd-docs-menu__mobile-btn" aria-expanded="false" aria-controls="gd-docs-menu" aria-label="Toggle navigation menu">
2+
<button tabindex="6" type="button" id="gd-docs-menu__mobile-trigger" class="gd-docs-menu__mobile-btn" aria-expanded="false" aria-controls="gd-docs-menu" aria-label="Toggle navigation menu">
33
<span class="gd-docs-menu__mobile-icon" aria-hidden="true"></span>
44
</button>
55
<div class="gd-docs-menu__mobile-bg"></div>

layouts/partials/skip-links.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{{/* (C) 2023 GoodData Corporation */}}
22
<div class="skip-links">
3-
<a href="#main-content" class="skip-link">Skip to main content</a>
4-
<a href="#gd-docs-menu" class="skip-link">Skip to sidebar</a>
3+
<a href="#main-content" tabindex="2" class="skip-link">Skip to main content</a>
4+
<a href="#gd-docs-menu" tabindex="3" class="skip-link">Skip to sidebar</a>
55
{{ if not .Params.no_search }}
6-
<a href="#adds-container" class="skip-link">Skip to search</a>
6+
<a href="#adds-container" tabindex="4" class="skip-link">Skip to search</a>
77
{{ end }}
8-
</div>
8+
</div>

0 commit comments

Comments
 (0)