Skip to content

Commit 9c88d12

Browse files
committed
improve placement and size of expand/collapse toggle button in nav; change title to aria-label
1 parent 6adfb9b commit 9c88d12

File tree

3 files changed

+22
-18
lines changed

3 files changed

+22
-18
lines changed

src/css/nav.css

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,16 @@
110110
.nav-menu-toggle {
111111
background: transparent url(../img/octicons-24.svg#view-unfold) no-repeat center / 100% 100%;
112112
border: none;
113-
outline: none;
114-
width: 0.9rem;
115-
height: 0.9rem;
113+
float: right;
114+
height: 1em;
115+
margin-right: -0.5rem;
116116
opacity: 0.5;
117+
outline: none;
118+
padding: 0;
117119
position: sticky;
118-
top: 0.8075rem;
119-
margin-right: -0.5rem;
120-
float: right;
121120
visibility: hidden;
121+
width: 1em;
122+
top: 0.8rem;
122123
}
123124

124125
.nav-menu-toggle.is-active {

src/js/01-nav.js

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
navContainer.addEventListener('click', trapEvent)
1111

1212
var nav = navContainer.querySelector('.nav')
13+
var navMenuToggle = navContainer.querySelector('.nav-menu-toggle')
1314
var menuPanel = nav.querySelector('[data-panel=menu]')
1415
var navBounds = { encroachingElement: document.querySelector('footer.footer') }
1516
var currentPageItem
@@ -38,18 +39,20 @@
3839

3940
fitNavInit({})
4041

41-
menuPanel.querySelector('.nav-menu-toggle').addEventListener('click', function () {
42-
var collapse = !this.classList.toggle('is-active')
43-
find(menuPanel, '.nav-item > .nav-item-toggle').forEach(function (btn) {
44-
collapse ? btn.parentElement.classList.remove('is-active') : btn.parentElement.classList.add('is-active')
42+
if (navMenuToggle) {
43+
navMenuToggle.addEventListener('click', function () {
44+
var collapse = !this.classList.toggle('is-active')
45+
find(menuPanel, '.nav-item > .nav-item-toggle').forEach(function (btn) {
46+
collapse ? btn.parentElement.classList.remove('is-active') : btn.parentElement.classList.add('is-active')
47+
})
48+
if (currentPageItem) {
49+
if (collapse) activateCurrentPath(currentPageItem)
50+
scrollItemToMidpoint(menuPanel, currentPageItem)
51+
} else {
52+
menuPanel.scrollTop = 0
53+
}
4554
})
46-
if (currentPageItem) {
47-
if (collapse) activateCurrentPath(currentPageItem)
48-
scrollItemToMidpoint(menuPanel, currentPageItem)
49-
} else {
50-
menuPanel.scrollTop = 0
51-
}
52-
})
55+
}
5356

5457
find(menuPanel, '.nav-item-toggle').forEach(function (btn) {
5558
btn.addEventListener('click', toggleActive.bind(btn.parentElement))

src/partials/nav-menu.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{{#with page.navigation}}
22
<div class="nav-panel-menu is-active is-loading" data-panel="menu">
33
<nav class="nav-menu">
4-
<button class="nav-menu-toggle" title="Toggle expand/collapse all"></button>
4+
<button class="nav-menu-toggle" aria-label="Toggle expand/collapse all"></button>
55
{{#with @root.page.componentVersion}}
66
<h3 class="title"><a href="{{{relativize ./url}}}">{{./title}}</a></h3>
77
{{/with}}

0 commit comments

Comments
 (0)