mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-27 15:54:03 +02:00
Improve tab styles for accessibility
This commit is contained in:
parent
79fbed0ad4
commit
9a5e69a8ec
@ -35,9 +35,9 @@ EOT;
|
|||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
private $dropdownTpl = <<< 'EOT'
|
private $dropdownTpl = <<< 'EOT'
|
||||||
<li class="dropdown">
|
<li class="dropdown-nav-item">
|
||||||
<a href="#" class="dropdown-toggle"><i aria-hidden="true" class="icon-down-open"></i></a>
|
<a href="#" class="dropdown-toggle"><i aria-hidden="true" class="icon-down-open"></i></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="nav">
|
||||||
{TABS}
|
{TABS}
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@ -50,7 +50,7 @@ EOT;
|
|||||||
*/
|
*/
|
||||||
private $closeTpl = <<< 'EOT'
|
private $closeTpl = <<< 'EOT'
|
||||||
<li class="dropdown" style="float: right;">
|
<li class="dropdown" style="float: right;">
|
||||||
<a href="#" class="dropdown-toggle close-container-control">
|
<a href="#" class="close-container-control">
|
||||||
<i aria-hidden="true" class="icon-cancel"></i>
|
<i aria-hidden="true" class="icon-cancel"></i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
@ -63,7 +63,7 @@ EOT;
|
|||||||
*/
|
*/
|
||||||
private $refreshTpl = <<< 'EOT'
|
private $refreshTpl = <<< 'EOT'
|
||||||
<li>
|
<li>
|
||||||
<a class="spinner" href="{URL}" title="{TITLE}" aria-label="{LABEL}">
|
<a class="refresh-container-control spinner" href="{URL}" title="{TITLE}" aria-label="{LABEL}">
|
||||||
<i aria-hidden="true" class="icon-cw"></i>
|
<i aria-hidden="true" class="icon-cw"></i>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -10,12 +10,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-item {
|
.dropdown-nav-item > ul {
|
||||||
> a,
|
display: none;
|
||||||
> span {
|
position: absolute;
|
||||||
// Rollover
|
}
|
||||||
display: block;
|
|
||||||
}
|
.dropdown-nav-item.active > ul,
|
||||||
|
.dropdown-nav-item:hover > ul {
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav {
|
.nav {
|
||||||
@ -23,12 +25,18 @@
|
|||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
|
li > a,
|
||||||
|
li > span {
|
||||||
|
// Rollover
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-nav {
|
.tab-nav {
|
||||||
.clearfix();
|
.clearfix();
|
||||||
|
|
||||||
> .nav-item {
|
> li {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,130 +1,107 @@
|
|||||||
/*! Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
|
/*! Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
|
||||||
|
|
||||||
ul.tabs li {
|
// Styles for tab navigation of containers
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
letter-spacing: -0.417em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs > li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
letter-spacing: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.tabs li a {
|
.tabs {
|
||||||
text-decoration: none;
|
height: 2.6em;
|
||||||
display: block;
|
|
||||||
padding: 0 1em;
|
a {
|
||||||
line-height: 2.6em;
|
padding: 0 1em;
|
||||||
white-space: nowrap;
|
line-height: 2.6em;
|
||||||
color: #ddd;
|
|
||||||
outline: 0;
|
&:focus {
|
||||||
|
outline-offset: -0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs > li {
|
||||||
margin-right: 0.5em;
|
margin-right: 0.5em;
|
||||||
|
|
||||||
|
> a {
|
||||||
|
color: @body-bg-color;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background-color: @body-bg-color;
|
||||||
|
|
||||||
|
> a {
|
||||||
|
color: @text-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.tabs > li > a {
|
.tabs > .dropdown-nav-item > a,
|
||||||
color: white;
|
.tabs > li > .close-container-control,
|
||||||
|
.tabs > li > .refresh-container-control {
|
||||||
|
text-align: center;
|
||||||
|
width: 3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.tabs > li > a:focus {
|
.tabs > .dropdown-nav-item:hover > a,
|
||||||
color: @colorTextDefault;
|
.tabs > .dropdown-nav-item > a:focus,
|
||||||
text-shadow: none;
|
.tabs > li > .close-container-control:focus,
|
||||||
|
.tabs > li > .close-container-control:hover,
|
||||||
|
.tabs > li > .refresh-container-control:focus,
|
||||||
|
.tabs > li > .refresh-container-control:hover {
|
||||||
|
background-color: @body-bg-color;
|
||||||
|
color: @text-color;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.tabs > li.active > a:focus {
|
.tabs > .dropdown-nav-item > ul {
|
||||||
text-shadow: none;
|
.box-shadow();
|
||||||
color: @colorTextDefault;
|
.rounded-corners(0 0 0.3em 0.3em);
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs li.dropdown > a{
|
background-color: @body-bg-color;
|
||||||
padding: 0 0.4em;
|
border: 1px solid @gray-light;
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs li.active a, ul.tabs li.dropdown:hover a, ul.tabs li.dropdown.hover a {
|
|
||||||
background-color: white;
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs li a:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.dropdown-menu {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
background-color: #eee;
|
|
||||||
position: absolute;
|
|
||||||
overflow: hidden;
|
|
||||||
z-index: 1000;
|
|
||||||
border: 1px solid #d9d9d9;
|
|
||||||
border-top: none;
|
border-top: none;
|
||||||
margin-left: -1px;
|
margin-left: -1px;
|
||||||
|
width: 14em;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dropdown tabs after the fourth title should be right-aligned */
|
.tabs > .dropdown-nav-item > ul > li:hover {
|
||||||
ul.tabs li:nth-child(n+5) ul.dropdown-menu {
|
> a {
|
||||||
width: 13em;
|
background-color: @gray-lighter;
|
||||||
margin-left: -11em;
|
text-decoration: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.dropdown-menu {
|
// Dropdown tabs after the fourth title should be right-aligned
|
||||||
box-shadow: 0.2em 0.2em 0.3em -0.2em #555;
|
.tabs > li:nth-child(n+5).dropdown-nav-item > ul {
|
||||||
-moz-box-shadow: 0.2em 0.2em 0.3em -0.2em #555;
|
// Offset according to width
|
||||||
-webkit-box-shadow: 0.2em 0.2em 0.3em -0.2em #555;
|
margin-left: -10.95em;
|
||||||
border-radius: 0 0 3px 3px;
|
margin-right: 1px;
|
||||||
-moz-border-radius: 0 0 3px 3px;
|
|
||||||
-webkit-border-radius: 0 0 3px 3px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.dropdown-menu li {
|
// TODO(el): Rename display-on-hover and move it to main.less
|
||||||
background-color: white;
|
.display-on-hover {
|
||||||
}
|
font-size: @font-size-small;
|
||||||
|
left: -999em;
|
||||||
ul.dropdown-menu li {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs ul.dropdown-menu {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs ul.dropdown-menu li a {
|
|
||||||
color: @colorTextDarkDefault;
|
|
||||||
margin: 0em;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs ul.dropdown-menu li a:focus {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs ul.dropdown-menu li a:hover, ul.tabs ul.dropdown-menu li a:focus {
|
|
||||||
background-color: #ccc;
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs li.dropdown:hover a {
|
|
||||||
text-decoration: none;
|
|
||||||
color: @colorTextDarkDefault;
|
|
||||||
}
|
|
||||||
|
|
||||||
li.dropdown:hover ul.dropdown-menu, li.dropdown.hover ul.dropdown-menu {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.tabs img.icon {
|
|
||||||
margin-right: 4px;
|
|
||||||
margin-top: -4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.close-tab {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.display-on-hover {
|
|
||||||
font-size: 0.8em;
|
|
||||||
left: -9000px;
|
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline;
|
|
||||||
width: 0;
|
&:focus {
|
||||||
overflow: hidden;
|
position: static;
|
||||||
color: #000000;
|
}
|
||||||
text-decoration: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
:hover > span.display-on-hover, :focus > span.display-on-hover {
|
li:hover > a > .display-on-hover {
|
||||||
left:1em; width:12em;
|
position: static;
|
||||||
text-align: center
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user