FIX: Header nav should be tabbable and have focus state

This commit is contained in:
Kris 2018-04-13 12:53:04 -04:00
parent 3e9230714f
commit a4b8813a02
5 changed files with 31 additions and 7 deletions

View File

@ -153,7 +153,7 @@ export default createWidget('hamburger-menu', {
const { site } = this;
if (!site.mobileView && !this.capabilities.touch) {
links.push({ action: 'showKeyboard', className: 'keyboard-shortcuts-link', label: 'keyboard_shortcuts_help.title' });
links.push({ href: '', action: 'showKeyboard', className: 'keyboard-shortcuts-link', label: 'keyboard_shortcuts_help.title' });
}
if (this.site.mobileView || (this.siteSettings.enable_mobile_theme && this.capabilities.touch)) {

View File

@ -138,6 +138,7 @@ createWidget('header-icons', {
iconId: 'toggle-hamburger-menu',
active: attrs.hamburgerVisible,
action: 'toggleHamburger',
href: '',
contents() {
if (!attrs.flagCount) { return; }
return h('div.badge-notification.flagged-posts', { attributes: {

View File

@ -99,6 +99,7 @@ createWidget('user-menu-dismiss-link', {
attrs=(hash
action="dismissNotifications"
className="dismiss"
tabindex="0"
icon="check"
label="user.dismiss"
title="user.dismiss_notifications_tooltip")}}
@ -144,6 +145,7 @@ export default createWidget('user-menu', {
action: 'logout',
className: 'logout',
icon: 'sign-out',
href: '',
label: 'user.log_out'
})
)

View File

@ -86,11 +86,12 @@
border-left: 1px solid transparent;
border-right: 1px solid transparent;
transition: all linear .15s;
outline: none;
img.avatar {
width: 2.2857em;
height: 2.2857em;
}
&:hover {
&:hover, &:focus {
color: $primary;
background-color: $primary-low;
border-top: 1px solid transparent;

View File

@ -59,8 +59,9 @@
a {
padding: 0.25em 0.5em;
display: block;
&:hover {
&:hover, &:focus {
background-color: $highlight-medium;
outline: none;
}
}
@ -243,9 +244,19 @@
display: none;
}
span { color: $primary; }
&:hover { background-color: $highlight-medium; }
a { padding: 0; }
span {
color: $primary;
}
&:hover, &:focus {
background-color: $highlight-medium;
outline: none;
}
a {
padding: 0;
}
p {
margin: 0;
overflow: hidden;
@ -318,9 +329,18 @@ div.menu-links-header {
border-spacing: 0 0.5em;
.menu-links-row {
display: table-row;
li.glyphs {
text-align: right;
a {
display: inline-flex;
min-width: 15px;
justify-content: center;
}
}
}
a:hover {
a:hover, a:focus {
background-color: $highlight-medium;
outline: none;
}
a {
padding: 0.5em;