Files
mediawiki-extensions-Univer…/resources/css/ext.uls.languagesettings.less
Niklas Laxström fca9b5c0e6 Make ULS trigger and settings more keyboard accessible
It's now possible to tab to "display settings" and "input settings"
and access them with enter or space. Also escape can now be used
to close the settings screen.

The ULS trigger in interlanguage position is a button to get
native accessibility features.

Also removed `mw.hook( 'mw.uls.settings.open' ).fire( 'uls' );` as
it didn't seem very useful and there wasn't immediately obvious
place to put it. The existing click handler could be removed because
the settings dialog themselves place event listeners.

The patch is a bit longer than strictly necessary because the CSS
was mess (rules in different modules, poorly organized) and I had
to bring related rules together to understand them.

Bug: T52793
Change-Id: Id37c2665b1c97b81ef57be27a1abfae0db6b34d5
2018-02-12 17:57:04 +01:00

171 lines
3.1 KiB
Plaintext

@import 'mediawiki.mixins';
/* stylelint-disable selector-max-id */
.uls-menu h3 {
border-bottom: medium none;
font-size: 14pt;
line-height: 1.5em;
margin-bottom: 10px;
margin-top: 0;
padding-left: 0;
}
.languagesettings-menu {
/* Override grid padding */
.grid & {
padding-left: 0;
padding-right: 0;
}
h1 {
color: #000;
font-size: 16pt;
line-height: 20pt;
margin-top: 0;
font-weight: normal;
border: 0;
padding: 8px 0 3px 15px;
}
.menu-section {
/* Unstyle the button. Other properties seem already overriden. */
text-align: left;
width: 100%;
/* Using border instead of outline for focus (outline doesn't have enough space) */
outline: 0;
color: #222;
padding: 5px 0 5px 42px;
border: 1px solid transparent;
background: left 15px top 6px transparent no-repeat;
background-size: 20px auto;
cursor: pointer;
// Remove the dotted border for Firefox
&::-moz-focus-inner {
border: 0;
}
/* Active "tab" has thicker always visible left border. background-position
* and padding must be tweaked to avoid the image from moving */
&.active {
color: #000;
background-color: #fff;
padding-left: 40px;
background-position: left 13px top 6px;
border-left-width: 3px;
border-left-color: #36c;
}
&:hover {
background-color: #fff;
}
&:focus {
border-color: #36c;
}
.settings-title {
font-size: 13pt;
}
.settings-text {
color: #54595d;
font-size: 9pt;
}
&:hover .settings-text {
color: #222;
}
&.display-settings-block {
.background-image-svg( '../images/display.svg', '../images/display.png' );
}
&.input-settings-block {
.background-image-svg( '../images/input.svg', '../images/input.png' );
}
}
}
#languagesettings-settings-panel {
padding: 0 15px;
color: #222;
background: #fff;
}
#languagesettings-settings-panel h3 {
color: #222;
padding-top: 15px;
margin-top: 1pt;
line-height: 20pt;
font-size: 16pt;
}
#languagesettings-settings-panel h4 {
color: #222;
font-size: 12pt;
}
.language-settings-dialog {
background: #f8f9fa;
/* Ensure base font size is same in different skins */
font-size: medium;
}
.uls-language-settings-close-block {
background: #fff;
}
.language-settings-buttons {
border-top: 1px solid #eaecf0;
margin-top: 25px;
padding: 15px;
width: auto;
text-align: right;
}
.language-settings-buttons button {
margin-left: 15px;
}
.uls-ui-languages p,
.checkbox {
color: #54595d;
font-size: 10pt;
}
/* mediawiki.ui does not have a pressed state style. */
#languagesettings-panels .mw-ui-pressed {
background-color: #2a4b8d;
color: #fff;
border-color: #2a4b8d;
}
.checkbox input[type='checkbox'] {
margin-left: 0;
}
.checkbox strong {
color: #222;
}
label.checkbox input[ type='checkbox' ] {
float: left;
}
.waiting {
cursor: progress;
}
.uls-icon-close {
background: transparent no-repeat center center;
.background-image-svg( '../images/close.svg', '../images/close.png' );
background-size: 16px 16px; // Support: Android Browser <= 4.3, doesn't accept it as part of `background` shorthand
float: right;
padding: 16px;
cursor: pointer;
}